What dependencies are required?
Node.js (installed via `npx`) and a running Inkdrop local HTTP server (requires Inkdrop desktop app with the plugin enabled).
@inkdropapp
基本信息
Inkdrop Model Context Protocol Server
使用下面的配置,将此服务器添加到你的 MCP 客户端。
{
"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"
}
}
}
}Retrieve the complete contents of the note by its ID from the database. A note created from a template has a `sourceTemplateId`; when present, the response includes a resource link to that source template, whose body holds the fill-out instructions and examples. Read the template (or pass `includeTemplate: true`) before completing the note.
Retrieve backlinks for a note — the notes that link to it. 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.
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. `book:"Desktop App"`: Searches for notes in the 'Desktop App' notebook. - **bookId** `bookId:kGlLniaV`: Searches for notes in the notebook ID 'book:kGlLniaV'. - **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.
List all notes with specified conditions. 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`.
Create a new note in the database
Update the existing note in the database. Only the fields you provide will be updated; omitted fields remain unchanged.
Update the body of the existing note by performing an exact string replacement. Use this tool to make partial updates to the note body without replacing the entire content. You must first read the note with `read-note` to get the current body, then specify the exact substring to replace.
Retrieve a list of all tags
Retrieve a single tag
Create a new tag in the database
Update the existing tag in the database. You should retrieve the existing tag with `list-tags` first. When updating the tag, you must specify not only the changed fields but also all the un-changed fields.
Retrieve a list of all notebooks
Retrieve a single book
The Inkdrop MCP Server is a Model Context Protocol (MCP) server that enables AI clients like Claude Desktop to access and manipulate notes, notebooks, and tags in Inkdrop via its Local HTTP Server API. It is designed for users who want to integrate Inkdrop’s local note database into AI-powered workflows.
Set up Inkdrop’s local HTTP server, then add the server configuration to your MCP client (e.g., Claude Desktop) using the @inkdropapp/mcp-server npx command with environment variables for the local server URL and credentials. Once configured, AI tools can call endpoints like read-note, search-notes, or create-note to interact with your Inkdrop data.
Node.js (installed via `npx`) and a running Inkdrop local HTTP server (requires Inkdrop desktop app with the plugin enabled).
Provide `INKDROP_LOCAL_USERNAME` and `INKDROP_LOCAL_PASSWORD` (along with the server URL) as environment variables in the MCP client configuration.
All note, notebook, and tag data resides in your local Inkdrop database, accessed through the local HTTP server. The MCP server does not persist or transmit data elsewhere.
The server uses standard I/O (stdio) as its transport, compatible with the MCP protocol for local execution.
Yes, `search-notes` and `list-notes` return truncated bodies (200 characters). Use `read-note` to retrieve full content.
Senso MCP turns a Joomla 5 or 6 site into a remote MCP server. It runs inside Joomla itself (no extra server, no Node.js bridge) and is secured with OAuth 2.1 and Joomla's own ACL. The free pack lets an AI assistant crea
Open-source MCP to use Blender with any LLM
Hindsight: Agent Memory That Learns

Model Context Protocol Servers
A curated list of references for MLOps
评论