Skip to main content
Glama
prem2230
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