MCP server
Let your other AI tools see your notes. Nomima ships a built-in MCP server so apps like Claude Code, Claude Desktop and Cursor can search, read — and optionally write — your vault.
What is MCP?
The Model Context Protocol is an open standard that lets AI applications connect to data sources. Nomima speaks it natively: enable the server and any MCP-capable tool on your Mac can ask Nomima questions like “search the vault for X” or “list open tasks” — instead of you copy-pasting notes around.
Local only: the server listens on 127.0.0.1 — your own machine. It is never reachable from the network, every request needs a secret token, and write access is a separate opt-in switch.
Enabling it
- Open Settings → MCP Server.
- Toggle Enable Server. It starts at
http://127.0.0.1:4123/mcp. - Copy the bearer token shown (masked until you reveal it). Use Rotate Token any time to invalidate old credentials instantly.
- Optionally toggle Allow writes if you want external tools to be able to create and edit notes — leave it off for read-only access.
Connecting a client
Point any MCP client at the URL with the token as a bearer credential. For Claude Code, for example:
claude mcp add --transport http nomima \
http://127.0.0.1:4123/mcp \
--header "Authorization: Bearer YOUR_TOKEN"
Or in a JSON-based client config:
{
"url": "http://127.0.0.1:4123/mcp",
"headers": { "Authorization": "Bearer YOUR_TOKEN" }
}
What clients can do
Read tools (always available while the server is on)
| Tool | What it returns |
|---|---|
| search_notes | Full-text search across the vault |
| semantic_search | A backward-compat alias of search_notes — the same keyword (full-text) search, not vector/embedding search |
| list_notebooks | All notes with previews |
| get_note | A complete note’s content |
| get_note_blocks | A note’s structured block tree (with block ids) — inspect before editing or deleting blocks |
| knowledge_graph | Entities, relations and clusters |
| list_tasks | Open and dated checkboxes, chronologically |
| list_reminders | Tracked reminders with due times |
| get_editor_schema | Nomima’s block catalogue, so clients write well-formed notes |
Write tools (only when “Allow writes” is on)
| Tool | What it does |
|---|---|
| create_note | Creates a new notebook from a title and Markdown body |
| append_to_note | Appends Markdown to an existing note |
| add_blocks | Inserts structured Nomima blocks — checklists, callouts, columns, databases (typed columns whose cells become Smart Tags), terminals, embeds / video, code, reminders, Kanban/Gantt/widgets and more, with a layout guide for composing complex notebooks |
| rename_note | Changes an existing note’s title |
| update_block | Replaces a single block in place, by block id |
| replace_note_content | Discards a note’s existing blocks and rewrites it from scratch |
| delete_block | Permanently removes a single block from a note |
| delete_note | Permanently deletes a whole note and all its blocks — cannot be undone |
Writes are powerful — connect only trusted clients: with “Allow writes” on, a connected tool can not only create and append, but also rename, overwrite (replace_note_content) and permanently delete notes and blocks. Those deletions can’t be undone, so leave writes off unless you trust the client, and watch the activity log below.
Discoverable schema: a connected tool can call get_editor_schema (or read the nomima://schema/editor resource) to fetch the exact shape of every block it can author — fields, examples, and how to nest them — so what it sends always renders correctly.
Watching the activity log
The MCP panel keeps a live log of every request: which client (Claude, Cursor, …), what it called, whether it succeeded, and how long it took — with request and response previews. If you ever wonder what an external tool just did to your vault, the answer is right there.
Things people do with it
- Ask Claude Code to check project notes for context while coding — “what did I decide about the API design? check my Nomima notes”.
- Have an agent file meeting summaries or research results directly into the vault as proper notes.
- Query open tasks from any MCP-capable workflow tool.
The other direction: Nomima as an MCP client
Everything above is the inbound server — other tools reaching into your vault. Nomima also works the opposite way, as an MCP client: it can reach out to remote MCP servers and bridge their tools into Summon. Same protocol, opposite direction — they share the “MCP” name but point at each other, so it’s worth keeping them straight:
| Inbound (the rest of this page) | Outbound (this section) | |
|---|---|---|
| Direction | Your editors → your vault | Summon → a remote server |
| Who hosts it | Nomima runs the server on 127.0.0.1 | Nomima connects to someone else’s server |
| Configured in | Settings → MCP Server | Settings → Summon → Capabilities |
Context7 — up-to-date library docs
Nomima ships one outbound server built in: Context7, a source of up-to-date library & framework documentation. It appears as the Summon capability “Look up library docs” under Settings → Summon → Capabilities, where you’ll find:
- A toggle to turn it on — it’s off by default.
- An optional API key (a
ctx7sk-…token). Context7 works without one at lower rate limits; a free key from your Context7 dashboard raises them. - A Test connection button that runs the handshake and reports how many tools the server offers.
Once it’s on, ask Summon things like “what’s the current API for <library>?” and it can pull live documentation instead of leaning on the model’s training cut-off.
ctx7sk- key, and Test connection to verify the handshake.Custom outbound servers
The client isn’t limited to Context7 — under the hood it can connect to any Streamable-HTTP MCP endpoint (an https://…/mcp URL, with an optional auth header), turning that server’s tools into things Summon can call. Built-in servers like Context7 can be disabled but not removed.
Treated as untrusted: whatever an outbound MCP tool returns is handled as untrusted web content — Summon never follows instructions hidden inside it, exactly as it treats any page it fetches from the web.