Inkdrop MCP Server

Inkdrop MCP Server
Official

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.

inkdropapp

Note Taking
Visit Server

Tools

read-note

Retrieve the complete contents of the note by its ID from the database.

search-notes

List all notes that contain a given keyword. The result does not include entire note bodies as they are truncated in 200 characters. You have to retrieve the full note content by calling `read-note`. Here are tips to specify keywords effectively: ## Use special qualifiers to narrow down results You can use special qualifiers to get more accurate results. See the qualifiers and their usage examples: - **book** `book:Blog`: Searches for notes in the 'Blog' notebook. - **tag** `tag:JavaScript`: Searches for all notes having the 'JavaScript' tag. Read more about [tags](https://docs.inkdrop.app/manual/write-notes#tag-notes). - **status** `status:onHold`: Searches for all notes with the 'On hold' status. Read more about [statuses](/reference/note-statuses). - **title** `title:"JavaScript setTimeout"`: Searches for the note with the specified title. - **body** `body:KEYWORD`: Searches for a specific word in all notes. Equivalent to a [global search](#search-for-notes-across-all-notebooks). ### Combine qualifiers You can combine the filter qualifiers to refine data even more. **Find notes that contain the word 'Hello' and have the 'Issue' tag.** ```text Hello tag:Issue ``` **Find notes that contain the word 'Typescript,' have the 'Contribution' tag, and the 'Completed' status** ```text Typescript tag:Contribution status:Completed ``` ## Search for text with spaces To find the text that includes spaces, put the text into the double quotation marks ("): ```text "database associations" ``` ## Exclude text from search To exclude text from the search results or ignore a specific qualifier, put the minus sign (-) before it. You can also combine the exclusions. See the examples: - `-book:Backend "closure functions"`: Ignores the 'Backend' notebook while searching for the 'closure functions' phrase. - `-tag:JavaScript`: Ignores all notes having the 'JavaScript' tag. - `-book:Typescript tag:work "Data types"`: Ignores the 'Typescript' notebook and the 'work' tag while searching for the 'Data types' phrase. - `-status:dropped title:"Sprint 10.0" debounce`: Ignores notes with the 'Dropped' status while searching for the 'debounce' word in the note with the 'Sprint 10.0' title. - `-"Phrase to ignore" "in the rest of a sentence"`: Ignores the 'Phrase to ignore' part while searching for 'in the rest of a sentence'. Note that you can't specify excluding modifiers only without including conditions. **WARNING**: Make sure to enter a text to search for after the exclusion modifier. - ✅ Will work `-book:Backend "closure functions"` - ⛔️ Won't work `-book:Backend`. There's no query. Inkdrop doesn't understand what to search for.

create-note

Create a new note in the database

update-note

Update the existing note in the database

list-notebooks

Retrieve a list of all notebooks

README

Inkdrop MCP Server

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

<a href="https://glama.ai/mcp/servers/c7fgtnckbv"> <img width="380" height="200" src="https://glama.ai/mcp/servers/c7fgtnckbv/badge" alt="Inkdrop Server MCP server" /> </a>

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

Recommended Servers

Apple MCP Server

Apple MCP Server

Enables interaction with Apple apps like Messages, Notes, and Contacts through the MCP protocol to send messages, search, and open app content using natural language.

Featured
Local
TypeScript
Todoist MCP

Todoist MCP

An MCP server that enables LLMs to interact with Todoist tasks, projects, and other features through the Todoist API.

Featured
TypeScript
Notion API MCP Server

Notion API MCP Server

Enables advanced todo list management and content organization using Notion's API, supporting features like creating databases, dynamic filtering, and collaborative task tracking.

Featured
Python
Todoist MCP Server

Todoist MCP Server

Integrates Claude with Todoist for natural language task management, supporting project and section organization, task creation, updating, completion, and deletion using everyday language.

Featured
JavaScript
Todoist MCP Server

Todoist MCP Server

An MCP server that integrates Claude with Todoist, enabling natural language task management including creating, updating, completing, and deleting tasks.

Featured
JavaScript
Curri MCP Server

Curri MCP Server

Enables interaction with Curri's API by managing text notes, offering tools for note creation, and generating summaries using structured prompts.

Official
Local
JavaScript
Notion MCP Server

Notion MCP Server

Enables interaction with Notion through the Notion API by exposing it as tools for LLMs, allowing operations like reading, creating, updating, and deleting Notion pages seamlessly via natural language.

Official
TypeScript
Notion MCP Server

Notion MCP Server

A Model Context Protocol server that connects Claude and other AI assistants to your Notion workspace, allowing AIs to interact with databases, pages, and blocks.

Local
JavaScript
Datetime MCP Server

Datetime MCP Server

This server enables users to store, manage, and summarize notes using a custom URI scheme, with functionality to add new notes and generate summaries with varying levels of detail.

Local
Python
Obsidian MCP REST Server

Obsidian MCP REST Server

Provides a standardized interface for AI assistants to interact with Obsidian vaults through a local REST API, enabling reading, writing, searching, and managing notes.

Local
TypeScript