Meshnote
A persistent Markdown wiki that your AI agent maintains as long-term memory across sessions.
What it can do
- Append Log: Append an entry to wiki/log.md with a parseable header.
- Get Index: Return the contents of wiki/index.md — the LLM-maintained catalog of the wiki.
- List Page History: List saved versions of a wiki page. Previous content is auto-saved before every overwrite.
What data it sees
Do you need an account
No: the server works without sign-in
A persistent Markdown wiki that your AI agent maintains as long-term memory across sessions.
How to connect
How to connect Meshnote to Claude
The server address to paste into Claude settings:
https://meshnote--b-nicovski.run.tools
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect Meshnote to ChatGPT
The server address to paste into ChatGPT settings:
https://meshnote--b-nicovski.run.tools
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect Meshnote to Cursor
The server address to paste into Cursor settings:
https://meshnote--b-nicovski.run.tools
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (16)
Raw names from tools/list. Only developers need these.
| append_log | Append an entry to wiki/log.md with a parseable header. |
| get_index | Return the contents of wiki/index.md — the LLM-maintained catalog of the wiki. |
| list_page_history | List saved versions of a wiki page. Previous content is auto-saved before every overwrite. |
| get_backlinks | Return every page that links to the given target path. |
| read_page | Return a wiki page's full content, frontmatter, metadata, and version token. Hand the returned 'version' back to write_page as 'base_version' so concurrent writers can't silently clobber each other. |
| list_pages | Enumerate wiki pages, optionally filtered by kind (entity, concept, summary, synthesis, index, log). |
| search_wiki | BM25 search across wiki pages. Returns the top hits ordered by relevance. |
| list_sources | Enumerate raw sources under raw/sources/. |
| get_graph | Return the full wiki link graph as nodes and edges, for synthesis operations. |
| get_schema | Return the contents of the project's schema.md. An agent should call this first to learn how the user wants the wiki maintained. |
| create_project | Create a new meshnote project (brain) with the given name and template. Templates: custom, research, book, personal, business. |
| read_source | Return the full content of a raw source file. |
| list_projects | List all meshnote projects registered on this machine. |
| restore_page | Restore a wiki page to a previous version. The current content is saved to history first, so nothing is lost. Use list_page_history to find available versions. Bypasses the base_version check by design — restore is an explicit overwrite. |
| write_page | Create or overwrite a wiki page atomically. Path must live under wiki/. Use base_version to prevent silently clobbering a concurrent edit: - To UPDATE an existing page: call read_page first and pass its 'version' as base_version. If another writer modified the page in between, the call fails with a CONFLICT error; re-read and retry. - To CREATE a new page: pass base_version="" (empty string) to assert the page does not exist yet. (If base_version is omitted entirely, a new page is still created; only updating an existing page requires the token.) Previous content is auto-saved to _history/ — use list_page_history to see saved versions. The result lists any 'unresolved_links' — wikilinks on this page that match no existing page by title, path or slug. That is a warning, not an error: linking to a page you have not written yet is fine. Check it for typos before moving on. |
| register_source | Download a URL and register it as a raw source. Does not call any LLM — the agent decides what to do next. When preserveOriginal is true, the bytes are saved verbatim with the original extension (e.g. paper.pdf) plus a sidecar paper.pdf.meta.md with frontmatter. |