Server data from the Official MCP Registry
Tiny local MCP notes server in Python: create, list, and search notes stored in a local JSON file.
About
Tiny local MCP notes server in Python: create, list, and search notes stored in a local JSON file.
Security Report
This is a small, local-only notes server that reads and writes a single JSON file next to server.py and makes no network calls, shell calls, or dynamic code execution. Its permissions match its purpose. The findings are minor: no authentication (appropriate for a local stdio server), the whole notes file is loaded on every call, and the README and source header contain promotional links that are not security issues. Supply chain analysis found 5 known vulnerabilities in dependencies (0 critical, 5 high severity).
5 files analyzed · 10 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
How to Install
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-bradraylucas-eng-mcp-notes-server": {
"args": [
"-y",
"github:bradraylucas-eng/mcp-notes-server"
],
"command": "npx"
}
}
}Documentation
View on GitHubFrom the project's GitHub README.
mcp-notes-server
A minimal, free and open-source Model Context Protocol (MCP) server in Python that gives any MCP-compatible AI assistant a persistent notebook: create notes, list them, and search them — stored in a plain local JSON file you own.
Built with the official mcp Python SDK (FastMCP). No database, no cloud, no accounts. Your notes never leave your machine.
Tools
| Tool | What it does |
|---|---|
create_note | Create a note with a title (required, ≤120 chars) and body (≤10,000 chars). Returns the saved record with id and timestamps. |
list_notes | List saved notes, newest first (configurable limit, 1–500). |
search_notes | Case-insensitive keyword search across titles and bodies. |
Quick start
git clone <this-repo-url>
cd mcp-notes-server
pip install -r requirements.txt
python server.py
The server speaks MCP over stdio. Connect it from any MCP host — see the config examples below and in examples/.
Claude Desktop
Add to your claude_desktop_config.json (see examples/claude_desktop_config.example.json):
{
"mcpServers": {
"notes-server": {
"command": "python",
"args": ["/absolute/path/to/mcp-notes-server/server.py"]
}
}
}
Generic MCP host
See examples/mcp-client-config.generic.json — the same stdio command/args pattern works for most hosts.
Try it
- Connect your MCP host and ask: "Create a note titled 'Shopping list' with milk, eggs, and coffee."
- Ask: "Search my notes for eggs."
- Open
notes.json(created automatically next toserver.py) to see the raw storage — it's just JSON.
How it works
- Storage helpers load/save a single
notes.jsonfile; saves are atomic (write to temp file, then replace). - Every tool validates its input (title required and length-capped, body length-capped, search query required).
- Tool functions are ordinary Python functions decorated with
@mcp.tool()— the type annotations become the tool input schemas. The whole server is one readable file (~150 lines), meant to be copied and adapted.
Run the smoke test (no MCP host needed):
python tests/smoke_test.py
Verified end-to-end over the real MCP protocol (stdio, official SDK v1.x) — tools listed, note created, searched, and listed: see tests/mcp_e2e_test.py and run it yourself after pip install -r requirements.txt. Note the requirements pin mcp<2: the 2.x SDK renamed FastMCP, and this code targets the v1 API.
Scope & safety
- Local only. This server reads/writes one JSON file in its own folder. It makes no network calls and has no delete tool — by design, as a starter pattern.
- Treat it as a learning/prototyping base, not a hardened production service: no authentication (stdio servers are launched by your host as your user), no concurrency locking beyond atomic file replacement.
Get the full pack
This free server is one of three starters in the MCP Server Starter Templates pack — the full pack adds a read-only SQLite lookup server (with a tested SQL-injection guard: SELECT-only validation) and a web-summary server skeleton, plus client configs for all three, a testing checklist, and security notes for taking MCP servers toward production.
→ MCP Server Starter Templates (and more AI agent tools: AgentProof testing kits, LLM/RAG eval kits, verified datasets for agents): bradray2.gumroad.com
Free samples of the paid kits live in the companion repo, ai-agent-tools-free-samples.
License
MIT — see LICENSE. Use it, fork it, ship it.
Copyright (c) 2026 Brad Lucas.
Reviews
No reviews yet
Be the first to review this server!
More Developer Tools MCP Servers
Fetch
Freeby Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
Git
Freeby Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
Worldmonitor
Freeby Koala73 · Developer Tools
Live markets, conflicts, country risk, chokepoints, energy, and China decision signals. 93 tools.
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
mcp-creator-python
Freeby mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
