Notes MCP Server
by prem2230
README.md
# Notes MCP Server
A simple MCP (Model Context Protocol) server for saving, listing, and searching notes. Built with the MCP SDK and persists notes to a local JSON file.
---
## Setup
```bash
npm install
```
---
## Run the server
```bash
npm start
```
---
## Connect to Claude Desktop
Edit your Claude Desktop config file:
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
```json
{
"mcpServers": {
"notes": {
"command": "node",
"args": ["/absolute/path/to/mcpServer/server.js"]
}
}
}
```
Restart Claude Desktop.
---
## Available Tools
| Tool | What it does |
|------|-------------|
| `add_note` | Save a new note with a title and content |
| `list_notes` | List all saved notes |
| `search_notes` | Search notes by keyword |
---
## Example prompts to use with Claude
```
Add a note titled "Meeting" with content "Discuss Q3 roadmap on Friday"
List all my notes
Search my notes for "roadmap"
```
---
## Data storage
Notes are saved to `./notes.json` — a plain JSON file you can open, edit, or back up any time.
---
## Tech stack
- [MCP SDK](https://github.com/modelcontextprotocol/typescript-sdk) `@modelcontextprotocol/sdk`
- [Zod](https://zod.dev) for input validation
- Node.js ESM (`"type": "module"`)
TDQS
B3/5.0
Scored across 3 tools
Disambiguation5/5
Each tool targets a distinct action: adding, listing, and searching notes. No overlap in purpose.
Naming Consistency5/5
All tool names follow a consistent verb_noun pattern using snake_case (add_note, list_notes, search_notes).
Tool Count3/5
Three tools is on the low side for a note-taking server, but it covers basic operations. Could be considered minimal but not extreme.
Completeness2/5
Missing update and delete operations, which are standard for notes. The tool surface is incomplete for full lifecycle management.
Maintenance
ActivityInactive
ResponsivenessNo issues