MCP Notes Server
A Model Context Protocol (MCP) server implementation for managing notes with persistent storage.
Features
- Create, read, update, and delete notes
- Persistent storage using JSON
- Timestamp tracking for creation and modifications
- Note summarization via prompts
- Resource-based access using note:// URI scheme
Installation
Installing via Smithery
To install notes for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install notes --client claude
Manual Installation
- Ensure you have Python 3.10 or later installed
- Create a virtual environment:
python -m venv .venv # On Unix/MacOS: source .venv/bin/activate # On Windows: .venv\Scripts\activate
- Install requirements:
pip install MCP
Project Structure
notes/
├── __init__.py # Package initialization
├── server.py # Main server implementation
├── storage.py # Note persistence layer
├── resources.py # Resource handling (note:// URIs)
├── prompts.py # LLM prompt generation
└── tools/ # Server tools
├── __init__.py # Tools package initialization
├── list_tools.py # Tool listing functionality
└── handle_tools.py # Tool handling implementation
Available Tools
add-note: Create a new notelist-all-notes: Display all stored notesupdate-note: Modify an existing notedelete-note: Remove a note
Usage
-
Start the server:
mcp install src/notes mcp start Notes
-
Example operations:
# Create a note await client.call_tool("add-note", { "name": "example", "content": "This is a test note" }) # List all notes await client.call_tool("list-all-notes") # Update a note await client.call_tool("update-note", { "name": "example", "content": "Updated content" }) # Delete a note await client.call_tool("delete-note", { "name": "example" })
Storage
Notes are stored in notes_storage.json with the following structure:
{
"note_name": {
"content": "Note content",
"created_at": "2025-01-12T11:28:16.721704",
"modified_at": "2025-01-12T11:28:16.721704"
}
}
Resource Access
Notes can be accessed as resources using the note:// URI scheme:
- List resources: Returns all available notes as resources
- Read resource: Access a specific note using
note://internal/note_name
Prompt Generation
The server includes a prompt generation feature for note summarization:
- Supports both brief and detailed summaries
- Formats notes for language model input
- Available via the "summarize-notes" prompt
Development
To modify or extend the server:
- Clone the repository
- Install development dependencies
- Make changes in the appropriate module
- Test thoroughly before deploying
Testing
Tests should cover:
- Basic CRUD operations
- Multiple note handling
- Error cases
- Resource access
- Prompt generation
License
[Add your license here]
Metadata
Release files for iflow-mcp_notes 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| iflow_mcp_notes-0.1.0.tar.gz | 6.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iflow_mcp_notes-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.2 kB
Release files / iflow_mcp_notes-0.1.0.tar.gz
| Download URL | iflow_mcp_notes-0.1.0.tar.gz |
|---|---|
| Size | 6.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
97ed49e3862a8dfc68c9904c2c7e7fa934377adcccfb16c721c792bac6cad03a
|
|
BLAKE2b-256 checksum How to use checksums |
cb4d6ff6f734944b92ff6a6bb33fd4041791a51231b4c759a86dddb689871923
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.17
|
Release files / iflow_mcp_notes-0.1.0-py3-none-any.whl
| Download URL | iflow_mcp_notes-0.1.0-py3-none-any.whl |
|---|---|
| Size | 9.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5750514dbc00e0cd30853f7147e26c1b1d955f055084d46693a0231ae04cd2d7
|
|
BLAKE2b-256 checksum How to use checksums |
a0ba55a844e331838d3b7fc65ac71d4fdfb44e5aaf92d7fb3b3f5043f6f8476b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.17
|