MCP Notes 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., "@MCP Notes ServerAdd a note: buy groceries this evening"
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.
MCP Notes Server
A minimal Model Context Protocol server, built from scratch in Python, that exposes a simple note-taking tool set to any MCP-compatible client (Claude Desktop, the MCP Inspector, a custom agent, etc).
Built as a from-scratch, non-toy example of all three MCP primitives — tools, a resource, and prompts — in one small, readable project.
What it does
add_note(title, content)— save a new notelist_notes()— list all saved note titlessearch_notes(keyword)— search notes by title or contentdelete_note(title)— delete a note by exact titlenotes://all— a resource exposing every note as readable markdownsummarize_notes— a prompt that generates a ready-made "summarize all my notes" messageclean_up_note— a prompt that turns rough pasted text into a clean, titled note
Notes are persisted to a local notes_data.json file (created automatically on
first run).
Related MCP server: sourcify-context-server
Project structure
store.py # data layer — save/load/search notes (plain Python, no MCP code)
prompts.py # reusable prompt templates (plain strings with placeholders)
app.py # the MCP server itself — wires store.py and prompts.py into
# MCP tools, a resource, and prompts using MCPServerRequirements
Python 3.10+
The official
mcpPython SDK, v2.x
Setup
git clone https://github.com/<your-username>/mcp-notes-server.git
cd mcp-notes-server
pip install -r requirements.txtRunning it
Quick test with the built-in inspector (a browser UI for calling tools without a full client):
mcp dev app.pyThis opens a browser tab where you can call each tool, read the resource, and run the prompts directly.
Connect it to Claude Desktop — add this to your Claude Desktop MCP config (adjust the path to wherever you cloned this repo):
{
"mcpServers": {
"notes": {
"command": "python",
"args": ["/absolute/path/to/mcp-notes-server/app.py"]
}
}
}Restart Claude Desktop, and it will be able to call these tools, read the resource, and offer the prompts directly inside a normal conversation.
Why it's built this way
store.py knows nothing about MCP — it's just a plain Python class that reads
and writes a JSON file. app.py is a thin protocol wrapper on top of it. That
separation is the one pattern worth taking away from this example: keep your
actual logic MCP-agnostic, and wrap it at the edges. Swap NoteStore for a
real database and nothing about the MCP layer has to change.
License
MIT — do whatever you want with this.
This server cannot be deployed
Maintenance
Related MCP Connectors
- TaprootOAuthcom.taproothq
Persistent memory layer for AI tools. Save and recall notes across Claude and other MCP clients.
Google Keep-style notes app with an MCP server for AI agents to read/write notes.
MCP-native notes and memory for ChatGPT, Claude, and other AI tools.
Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.
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.-
- FlicenseNot gradedqualityDmaintenanceA simple notes MCP server that enables creating, listing, and summarizing text notes via resources, tools, and prompts.-
- AlicenseNot gradedqualityAmaintenanceEnables LLM clients to read, search, create, update, and delete notes in a self-hosted shared memory bank over MCP, using hybrid vector and full-text search with optional summarization.3MIT
- AlicenseNot gradedqualityCmaintenanceEnables managing notes through a simple MCP server, providing tools to add, retrieve, update, delete, and list notes for use with Claude Desktop.MIT