Skip to main content
Glama

mcp-notes-server

Learning MCP: tiny notes server with five tools

Highlights

  • Notes path set by MCP_NOTES_FILE or --notes-file

  • Includes a Claude Desktop config snippet with absolute paths

  • A missing note raises instead of returning the string 'not found'

  • Five tools: add / get / update / delete / list notes

  • Atomic saves (temp file + os.replace) behind a write lock

  • Every tool carries a real docstring, so clients get descriptions

Related MCP server: notes-box

Usage

# claude_desktop_config.json  (use ABSOLUTE paths: Claude does not
# run from the repo directory, so a bare "server.py" is not found)
# {
#   "mcpServers": {
#     "notes-box": {
#       "command": "python",
#       "args": ["/abs/path/to/mcp-notes-server/server.py"],
#       "env": {"MCP_NOTES_FILE": "/abs/path/to/notes.json"}
#     }
#   }
# }
python server.py --help

Getting started

pip install -r requirements.txt

Project structure

├── .github/
│   └── workflows/
│       └── ci.yml
├── docs/
│   ├── development.md
│   ├── faq.md
│   ├── roadmap.md
│   └── usage.md
├── tests/
│   └── test_notes.py
├── .editorconfig
├── .gitignore
├── CHANGELOG.md
├── CONTRIBUTING.md
├── LICENSE
├── SECURITY.md
├── requirements.txt
└── server.py

Development

python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
python -m pytest -q

Acknowledgments

  • README structure inspired by popular OSS templates

  • Thanks to everyone opening issues with ideas

License

MIT - see LICENSE.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables adding, retrieving, and listing notes, with state persisted to a JSON file in the home directory.
    -