Inkdrop
Interact with the local Inkdrop note-taking app database via its HTTP API.
Inkdrop MCP Server
A Model Context Protocol server for the Inkdrop Local HTTP Server API.
Installation
-
Add server config to Claude Desktop:
- MacOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- MacOS:
{
"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
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_idin the note docs. It always starts withnote:.
- Required inputs:
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-noteto get full content. - Supports advanced search qualifiers like
book:,tag:,status:,title:, etc.
- Required inputs:
list-notes: List all notes with specified conditions.- 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, ortitle). Default:updatedAt.descending: Reverse the order of output. Default:true.
- Note: Results include truncated note bodies (200 characters). Use
read-noteto get full content.
- Required inputs:
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).tags: An array of tag IDs to assign to the note. Each must start with 'tag:'.
- Required inputs:
update-note: Update an existing note in the database. Only the fields you provide will be updated; omitted fields remain unchanged.- Required inputs:
_id: The note ID. Must start with 'note:'._rev: The revision ID (CouchDB MVCC-token).
- Optional inputs:
bookId: The notebook ID. Must start with 'book:' or be 'trash'.title: The note title.body: The content of the note in Markdown.status: The note status (none,active,onHold,completed,dropped).tags: An array of tag IDs to assign to the note. Each must start with 'tag:'.
- Required inputs:
patch-note: Update the body of an existing note by performing an exact string replacement. More efficient thanupdate-notefor small edits to large notes as it saves tokens. You must first read the note withread-noteto get the current body.- Required inputs:
_id: The note ID. Must start with 'note:'._rev: The revision ID (CouchDB MVCC-token).old_string: The exact text to find in the note body. Must match exactly one occurrence. Include enough surrounding context to ensure a unique match.new_string: The text to replaceold_stringwith. Use an empty string to delete the matched text.
- Required inputs:
list-notebooks: Retrieve a list of all notebooks.read-book: Retrieve a single notebook by its ID.- Required inputs:
bookId: The notebook ID. Must start with 'book:'.
- Required inputs:
list-tags: Retrieve a list of all tags.read-tag: Retrieve a single tag by its ID.- Required inputs:
tagId: The tag ID. Must start with 'tag:'.
- Required inputs:
create-tag: Create a new tag in the database.- Required inputs:
name: The name of the tag.
- Optional inputs:
color: The color type of the tag (default,red,orange,yellow,olive,green,teal,blue,violet,purple,pink,brown,grey,black). Default:default.
- Required inputs:
update-tag: Update an existing tag in the database.- Required inputs:
_id: The tag ID. Must start with 'tag:'._rev: The revision ID (CouchDB MVCC-token).name: The name of the tag.
- Optional inputs:
color: The color type of the tag. Default:default.
- Required inputs:
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
Related Servers
NPX-MCP
A TypeScript server for automation and integration, featuring Microsoft OAuth, browser control, and basic utilities.
MCP Email Verify
Validate email addresses using the AbstractAPI Email Validation API.
Itemit
A simple notes system for Itemit, built with TypeScript.
Penpot MCP Server
Integrates AI language models with the Penpot design platform to automate design workflows.
DaVinci Resolve
Enables AI assistants to interact with DaVinci Resolve Studio for advanced control over video editing, color grading, and audio.
AnkiConnect
AnkiConnect MCP server for interacting with Anki via AnkiConnect.
Screenshot MCP Server
Capture Windows screenshots from AI assistants in WSL, with options for specific monitors or windows.
McpMux
McpMux — configure MCP servers once, connect every AI client through one local gateway.
Blogger Posting
Automate blog posting on Google Blogger using the Blogger API.
Napkin.AI MCP Server
MCP Server for dynamically generating infographics using Napkin.AI