Inkdrop
About
Integrates with Inkdrop's note-taking application to enable searching, reading, creating, and updating Markdown notes directly within conversations through seven specialized tools for managing notes, notebooks, and tags.
Details
- Author
- inkdropapp
- Repository
- inkdropapp/mcp-server
- GitHub stars
- 16
- Downloads
- 460
- License
- Apache License 2.0
- Categories
- Productivity, Other, API, Developer Tools, Design, File Management, AI, Search, Infrastructure, Frontend
- Tags
- #web
Jump to
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
InkdropCommand (node, npx, python, etc.)npxArguments-
Argument 1
-y -
Argument 2
@inkdropapp/mcp-server
Environment-
INKDROP_LOCAL_PASSWORD
your-local-server-password -
INKDROP_LOCAL_USERNAME
your-local-server-username -
INKDROP_LOCAL_SERVER_URL
http://localhost:19840
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
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"
}
}
}
}
read-note
Retrieve the complete contents of the note by its ID from the database. Required inputs: noteId (string). Optional inputs: includeTemplate (boolean).
read-backlinks
Retrieve backlinks for a note — the notes that link to it. Required inputs: noteId (string).
search-notes
List all notes that contain a given keyword. Required inputs: keyword (string).
list-notes
List all notes with specified conditions. Required inputs: bookId (string). Optional inputs: tagIds (array), keyword (string), sort (string), descending (boolean).
create-note
Create a new note in the database. Required inputs: bookId (string), title (string), body (string). Optional inputs: status (string), tags (array).
update-note
Update an existing note in the database. Required inputs: _id (string), _rev (string). Optional inputs: bookId (string), title (string), body (string), status (string), tags (array).
patch-note
Update the body of an existing note by performing an exact string replacement. Required inputs: _id (string), _rev (string), old_string (string), new_string (string).
list-notebooks
Retrieve a list of all notebooks.
read-book
Retrieve a single notebook by its ID. Required inputs: bookId (string).
list-tags
Retrieve a list of all tags.
read-tag
Retrieve a single tag by its ID. Required inputs: tagId (string).
create-tag
Create a new tag in the database. Required inputs: name (string). Optional inputs: color (string).
update-tag
Update an existing tag in the database. Required inputs: _id (string), _rev (string), name (string). Optional inputs: color (string).
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:.
- Optional inputs:
- includeTemplate: When true and the note has a sourceTemplateId, also fetch that template and embed its body (fill-out instructions and examples) as an extra text block. Default: false.
- Note: If the note was created from a template, the response includes a resource link to its source template, whose body holds the fill-out instructions and examples.
2. read-backlinks: Retrieve backlinks for a note — the notes that link to it.
- Required inputs:
- noteId: The ID of the note to find backlinks for. It always starts with note:.
- Note: Each result is returned as a resource link (inkdrop://note/<id>) pointing to the referring note. Backlinks are found by searching all note bodies for the note's link URI.
3. 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.
4. 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, 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.
5. 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:'.
6. 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:'.
7. patch-note: Update the body of an existing note by performing an exact string replacement. More efficient than update-note for small edits to large notes as it saves tokens. You must first read the note with read-note to 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 replace old_string with. Use an empty string to delete the matched text.
8. list-notebooks: Retrieve a list of all notebooks.
9. read-book: Retrieve a single notebook by its ID.
- Required inputs:
- bookId: The notebook ID. Must start with 'book:'.
10. list-tags: Retrieve a list of all tags.
11. read-tag: Retrieve a single tag by its ID.
- Required inputs:
- tagId: The tag ID. Must start with 'tag:'.
12. 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.
13. 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.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"inkdrop": {
"env": {
"INKDROP_LOCAL_PASSWORD": "your-local-server-password",
"INKDROP_LOCAL_USERNAME": "your-local-server-username",
"INKDROP_LOCAL_SERVER_URL": "http://localhost:19840"
},
"args": [
"-y",
"@inkdropapp/mcp-server"
],
"command": "npx"
}
}
}
Linux
{
"env": {
"INKDROP_LOCAL_PASSWORD": "your-local-server-password",
"INKDROP_LOCAL_USERNAME": "your-local-server-username",
"INKDROP_LOCAL_SERVER_URL": "http://localhost:19840"
},
"args": [
"-y",
"@inkdropapp/mcp-server"
],
"command": "npx"
}
Macos
{
"env": {
"INKDROP_LOCAL_PASSWORD": "your-local-server-password",
"INKDROP_LOCAL_USERNAME": "your-local-server-username",
"INKDROP_LOCAL_SERVER_URL": "http://localhost:19840"
},
"args": [
"-y",
"@inkdropapp/mcp-server"
],
"command": "npx"
}
Windows
{
"env": {
"INKDROP_LOCAL_PASSWORD": "your-local-server-password",
"INKDROP_LOCAL_USERNAME": "your-local-server-username",
"INKDROP_LOCAL_SERVER_URL": "http://localhost:19840"
},
"args": [
"/c",
"npx",
"-y",
"@inkdropapp/mcp-server"
],
"command": "cmd"
}
Inkdrop MCP Server
A Model Context Protocol server for the Inkdrop Local HTTP Server API.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





