MCP HubMCP Hub
inkdropapp

mcp-server

by: inkdropapp

Inkdrop Model Context Protocol Server

16created 07/03/2025
Visit
Inkdrop
Protocol

📌Overview

Purpose: The Inkdrop MCP Server is designed to facilitate local HTTP server interactions using the Model Context Protocol for the Inkdrop application, enhancing the management and retrieval of notes stored in the Inkdrop database.

Overview: The Inkdrop MCP Server provides a powerful interface for accessing and managing notes through a local HTTP server setup, allowing users to perform various operations such as retrieving, searching, creating, and updating notes efficiently.

Key Features:

  • Note Retrieval (read-note): Enables retrieval of the contents of specific notes by their ID, enhancing quick access to important information.

  • Note Search (search-notes): Offers functionality to search for notes containing specific keywords, including advanced search qualifiers, to streamline the discovery of relevant content.

  • Notebook Navigation (list-notes, list-notebooks): Allows users to list notes in a specific notebook or retrieve all notebooks, facilitating better organization and management of notes based on custom categories.

  • Note Creation & Update (create-note, update-note): Provides capabilities for users to create new notes or update existing ones, supporting Markdown formatting and status management for effective note-taking.


Inkdrop MCP Server

A Model Context Protocol server for the Inkdrop Local HTTP Server API.

Installation

  1. Set up a local HTTP server

  2. Add server config to Claude Desktop:

    • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "inkdrop": {
      "command": "npx",
      "args": ["-y", "@inkdropapp/mcp-server"],
      "env": {
        "INKDROP_LOCAL_SERVER_URL": "http://localhost:19840",
        "INKDROP_LOCAL_USERNAME": "your-local-server-username",
        "INKDROP_LOCAL_PASSWORD": "your-local-server-password"
      }
    }
  }
}

Components

Tools

  1. read-note: Retrieve the complete contents of the note by its ID from the database.
    • Required inputs:
      • noteId: The ID of the note to retrieve. It always starts with note:.
  2. search-notes: List all notes that contain a given keyword.
    • Required inputs:
      • keyword: Keyword to search for.
    • Note: Results include truncated note bodies (200 characters). Use read-note to get full content.
    • Supports advanced search qualifiers like book:, tag:, status:, title:, etc.
  3. list-notes: List all notes in a specified notebook.
    • Required inputs:
      • bookId: The notebook ID. It always starts with book:.
    • Optional inputs:
      • tagIds: Array of tag IDs to filter. Each starts with tag:.
      • keyword: Keyword to filter notes.
      • sort: Sort field (updatedAt, createdAt, or title). Default: updatedAt.
      • descending: Reverse order of output. Default: true.
    • Note: Results include truncated note bodies (200 characters). Use read-note to get full content.
  4. create-note: Create a new note in the database.
    • Required inputs:
      • bookId: Notebook ID. Must start with book: or be trash.
      • title: Note title.
      • body: Content of the note in Markdown.
    • Optional inputs:
      • status: Note status (none, active, onHold, completed, dropped).
  5. update-note: Update an existing note in the database.
    • Required inputs:
      • _id: Note ID. Must start with note:.
      • _rev: Revision ID (CouchDB MVCC-token).
      • bookId: Notebook ID. Must start with book: or be trash.
      • title: Note title.
      • body: Content of the note in Markdown.
    • Optional inputs:
      • status: Note status (none, active, onHold, completed, dropped).
  6. list-notebooks: Retrieve a list of all notebooks.
  7. list-tags: Retrieve a list of all tags.

Debugging

Since MCP servers run over stdio, debugging can be challenging. For the best debugging experience, we strongly recommend using the MCP Inspector.

You can launch the MCP Inspector via npm with this command:

npx @modelcontextprotocol/inspector "./dist/index.js"

Be sure that environment variables are properly configured.

Upon launching, the Inspector will display a URL to access in your browser for debugging.

You can also watch the server logs with:

tail -n 20 -f ~/Library/Logs/Claude/mcp-server-inkdrop.log