Inkdrop MCP Server

Official

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Provides tools for interacting with the Inkdrop note-taking application, enabling searching notes, reading note contents, creating new notes, updating existing notes, and listing notebooks.

  • Supports working with Markdown content through Inkdrop, allowing creation and modification of notes with Markdown formatting.

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 can be found as _id in the note docs. 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: An 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 the 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: The notebook ID. Must start with 'book:' or be 'trash'.
      • title: The note title.
      • body: The content of the note in Markdown.
    • Optional inputs:
      • status: The note status (none, active, onHold, completed, dropped).
  5. update-note: Update an existing note in the database.
    • Required inputs:
      • _id: The note ID. Must start with 'note:'.
      • _rev: The revision ID (CouchDB MVCC-token).
      • bookId: The notebook ID. Must start with 'book:' or be 'trash'.
      • title: The note title.
      • body: The content of the note in Markdown.
    • Optional inputs:
      • status: The 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 that you can access in your browser to begin debugging.

You can also watch the server logs with this command:

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

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Integrates Inkdrop note-taking app with Claude AI through Model Context Protocol, allowing Claude to search, read, create, and update notes in your Inkdrop database.

  1. Installation
    1. Components
      1. Tools
    2. Debugging