AI Notes MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AI Notes MCP Serversave a note: Python list comprehensions build lists in one line. Tag it python"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
AI Notes MCP Server
An MCP server that gives AI assistants like Claude a personal knowledge base. Ask the AI to save what you learn, find it again later, summarize a topic, or quiz you on it.
You: "Save a note: list comprehensions build a list in one line, like
[x*x for x in range(10)]. Tag it python." AI: callsadd_noteโ "Saved note Python list comprehensions."You: "Quiz me on everything I noted about Python." AI: uses the
study_quizprompt โ asks you 5 questions built from your own notes.
What is MCP?
The Model Context Protocol is an open standard that connects AI applications to external tools and data. Instead of building a custom integration for every AI app, you build one MCP server, and any MCP-compatible client (Claude Desktop, IDEs, agents) can use it.
flowchart LR
U[You] -->|chat| C[AI app<br/>e.g. Claude Desktop]
C <-->|MCP over stdio<br/>JSON-RPC| S[AI Notes MCP Server]
S <-->|read / write| F[(notes.json)]Related MCP server: om
Features
This server uses all three MCP building blocks:
๐ Tools โ actions the AI can take
Tool | What it does |
| Save a note with a title, Markdown content and tags |
| Keyword search, ranked by relevance (title โบ tags โบ content) |
| Read one note in full |
| List notes, newest first, optionally filtered by tag |
| Change title, content or tags of a note |
| Delete a note (marked as destructive, so clients ask for confirmation) |
| Number of notes, words, tags and last activity |
๐ Resources โ data the AI can read
URI | Content |
| Every note as a Markdown document |
| All tags with their note counts (JSON) |
๐ฌ Prompts โ ready-made tasks for the user
Prompt | What it does |
| Summarizes all notes (or one tag), highlights key points and open questions |
| Creates quiz questions from your notes about a topic |
Quick start
Requirements: Node.js 18 or newer.
git clone https://github.com/YOUR_USERNAME/ai-notes-mcp-server.git
cd ai-notes-mcp-server
npm install
npm run buildTry it without any AI app โ this starts the server and calls its tools like a real client would:
npm run demoUse it with Claude Desktop
Open Claude Desktop โ Settings โ Developer โ Edit Config.
Add the server to
claude_desktop_config.json(use the full path to your folder):
Windows
{
"mcpServers": {
"ai-notes": {
"command": "node",
"args": ["C:\\Users\\YOUR_NAME\\ai-notes-mcp-server\\dist\\index.js"]
}
}
}macOS / Linux
{
"mcpServers": {
"ai-notes": {
"command": "node",
"args": ["/Users/YOUR_NAME/ai-notes-mcp-server/dist/index.js"]
}
}
}Restart Claude Desktop. The tools appear in the tools menu of the chat.
Notes are saved in ~/.ai-notes-mcp/notes.json. To use another file, set the NOTES_FILE environment variable:
"ai-notes": {
"command": "node",
"args": ["/path/to/ai-notes-mcp-server/dist/index.js"],
"env": { "NOTES_FILE": "/path/to/my-notes.json" }
}Project structure
src/
โโโ index.ts # Entry point: loads the notes file, starts the stdio transport
โโโ server.ts # Registers the MCP tools, resources and prompts
โโโ store.ts # NoteStore: storage, search ranking, atomic JSON persistence
tests/
โโโ store.test.ts # Unit tests for storage and search
โโโ server.test.ts # Integration tests: a real MCP client talks to the server
scripts/
โโโ demo.ts # Starts the built server as a process and calls it over stdioDesign decisions
Separation of concerns:
NoteStoreknows nothing about MCP, andserver.tsknows nothing about files. The storage can be swapped (for example for SQLite) without touching the MCP layer.Input validation with Zod: every tool has a schema, so invalid input (an empty title, too many tags) is rejected before it reaches the code, and the AI sees exactly which parameters exist.
Safe writes: changes are written to a temporary file and then renamed, which is atomic โ a crash can't leave a half-written
notes.json.Logging to stderr: with the stdio transport, stdout carries the protocol messages, so anything printed there would break the connection.
Tool annotations: read-only tools are marked
readOnlyHintanddelete_noteis markeddestructiveHint, so clients can decide when to ask the user for permission.
Testing
npm test # 15 unit + integration tests
npm run typecheck # strict TypeScript checkThe integration tests connect a real MCP Client to the server over an in-memory transport,
so they test the server exactly the way an AI app uses it. GitHub Actions runs everything on Node 20 and 22 for every push.
Ideas for next steps
Semantic search with embeddings, so "car" also finds notes about "vehicles"
SQLite storage for large knowledge bases
Streamable HTTP transport to run the server remotely
Import notes from Markdown files or an Obsidian vault
Tech stack
TypeScript (strict) ยท Node.js ยท MCP TypeScript SDK ยท Zod ยท node:test ยท GitHub Actions
License
MIT ยฉ Ibrahim Belkahla
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP-native notes and memory for ChatGPT, Claude, and other AI tools.
- TaprootOAuthcom.taproothq
Persistent memory layer for AI tools. Save and recall notes across Claude and other MCP clients.
Persistent personal memory for AI assistants โ save, search, and recall across every MCP client.
Save notes in seconds. Your AI can then search, read, write and tag them over MCP.
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceA simple notes system that allows creating, storing, and accessing text notes through MCP resources and tools, with built-in prompt support for generating summaries of stored notes.-
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to interact with a Markdown-based knowledge base with backlinks, tags, and full-text search, supporting note creation, reading, updating, renaming, and deletion through MCP tools.19 npmMIT
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to persistently add, read, and summarize sticky notes through MCP-compliant tools, resources, and prompts.-
- AlicenseNot gradedqualityCmaintenanceEnables MCP-compatible clients to create, list, search, and delete notes, read all notes as markdown, and use prompts to summarize or clean up notes.MIT