Skip to main content
Glama
prem2230
by prem2230

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

npm install

Related MCP server: MCP Personal Tools Server

Run the server

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

{
  "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 @modelcontextprotocol/sdk

  • Zod for input validation

  • Node.js ESM ("type": "module")

Available Tools

3 tools
add_noteC

Save a new note

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
contentYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must fully disclose behavioral traits. 'Save a new note' implies a mutation, but it does not specify side effects, authentication needs, or whether duplicate titles are allowed. This is insufficient for an unannotated tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no wasted words. It is appropriately concise for a simple tool, though it could benefit from slight expansion without harming conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple create tool with two parameters and no output schema, the description is minimally adequate. However, it lacks information about return values or side effects, which would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description adds no meaning beyond the parameter names and types. It does not provide constraints like maximum length or format, which is a significant gap given the low coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Save a new note' clearly indicates a create operation, distinguishing it from sibling tools 'list_notes' and 'search_notes'. It uses a specific verb and resource, though it is minimal and could be more detailed.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'list_notes' or 'search_notes'. The description lacks any context about prerequisites or exclusions, leaving the agent to infer usage solely from the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_notesC

List all notes

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must disclose behavioral traits. It only states 'List all notes'—no mention of ordering, pagination, rate limits, or side effects. The agent lacks transparency about potential limits or default behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and front-loaded, but it essentially restates the tool name with the addition of 'all'. While concise, it does not add significant new information beyond the name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, so the description should explain the return value format. It does not describe what fields the notes contain, any pagination, or limitations. For a simple list, the description is incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the input schema is fully covered (100%). Per guidelines, baseline is 4 for 0 params. The description adds no parameter info, which is acceptable given no parameters exist.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List all notes' clearly states the action (list) and the resource (notes). It distinguishes from siblings 'add_note' (creation) and 'search_notes' (likely filtered retrieval). However, it does not elaborate on the scope beyond 'all'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'search_notes'. The description does not mention any filtering or selection criteria, leaving the agent without context for choosing this tool over the sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_notesC

Search notes by keyword

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, and the description only restates the tool's name. It does not disclose any behavioral details such as search scope, case sensitivity, or result format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and to the point, but lacks necessary elaboration. It is not verbose, but it is under-specified.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (one parameter, no output schema), the description is too minimal. It does not explain what kind of search is performed (e.g., exact match, fuzzy), leaving the agent underinformed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'query' has 0% schema description coverage, and the tool description adds no additional meaning beyond its type (string). The agent gains no insight into expected format or semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (search) and resource (notes), distinguishing from sibling tools add_note and list_notes. However, it lacks specificity on whether the search is full-text or by title.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool over list_notes or add_note. The description does not mention any context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3/5.0
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
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/prem2230/mcpServer'

If you have feedback or need assistance with the MCP directory API, please join our Discord server