Read and write notes.
Project description
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]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iflow_mcp_notes-0.1.0.tar.gz.
File metadata
- Download URL: iflow_mcp_notes-0.1.0.tar.gz
- Upload date:
- Size: 6.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
97ed49e3862a8dfc68c9904c2c7e7fa934377adcccfb16c721c792bac6cad03a
|
|
| MD5 |
55c3d522b767d2f24e82a3b3a9336dda
|
|
| BLAKE2b-256 |
cb4d6ff6f734944b92ff6a6bb33fd4041791a51231b4c759a86dddb689871923
|
File details
Details for the file iflow_mcp_notes-0.1.0-py3-none-any.whl.
File metadata
- Download URL: iflow_mcp_notes-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5750514dbc00e0cd30853f7147e26c1b1d955f055084d46693a0231ae04cd2d7
|
|
| MD5 |
9f7ea0e08cfa6e19bc35024ca302135b
|
|
| BLAKE2b-256 |
a0ba55a844e331838d3b7fc65ac71d4fdfb44e5aaf92d7fb3b3f5043f6f8476b
|