Skip to main content
Glama
README.md
# my-mcp-server

A small MCP server exposing my notes to Claude Desktop

## Examples

```bash
# 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/my-mcp-server/server.py"],
#       "env": {"MCP_NOTES_FILE": "/abs/path/to/notes.json"}
#     }
#   }
# }
python server.py --help
```

## Getting started

```bash
pip install -r requirements.txt
```

## Features

- Atomic saves (temp file + os.replace) behind a write lock
- Includes a Claude Desktop config snippet with absolute paths
- Five tools: add / get / update / delete / list notes
- Notes path set by MCP_NOTES_FILE or --notes-file
- A missing note raises instead of returning the string 'not found'
- Every tool carries a real docstring, so clients get descriptions

## Project structure

```text
├── .github/
│   └── ISSUE_TEMPLATE/
│       └── bug_report.md
├── docs/
│   ├── configuration.md
│   ├── faq.md
│   └── usage.md
├── examples/
│   └── quickstart.md
├── tests/
│   └── test_notes.py
├── .gitignore
├── SECURITY.md
├── requirements.txt
└── server.py
```

## FAQ

**Is this production ready?**  
It works for my use case; review the code before relying on it.

**Why no framework?**  
The stdlib covers what this project needs.

Maintenance

ActivityMaintained
ResponsivenessNo issues