cau1k/notes-mcp
If you are the rightful owner of notes-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A simple notes management MCP server built with FastMCP, enabling CRUD operations and search functionality for notes organized by categories.
Notes MCP Server
A simple notes management MCP (Model Context Protocol) server built with FastMCP. This server allows you to create, read, update, delete, and search notes organized by categories.
Features
- Create notes with titles, content, and categories
- List all notes or filter by category
- Read specific notes
- Update existing notes
- Delete notes
- Search notes by content or title
- Organize notes in categories (folders)
Installation
- Make sure you have Python 3.10+ installed
- Install the project using uv:
uv sync
Usage
Running the Server
uv run notes-mcp
The server will start and listen for MCP connections.
Available Tools
The server provides the following MCP tools:
create_note
Create a new note with title, content, and optional category.
Parameters:
title
(string): The title of the notecontent
(string): The content/body of the notecategory
(string, optional): The category to organize the note (default: "general")
list_notes
List all notes, optionally filtered by category.
Parameters:
category
(string, optional): Category to filter notes by
read_note
Read the content of a specific note.
Parameters:
title
(string): The title of the note to readcategory
(string, optional): The category the note is in (default: "general")
update_note
Update an existing note with new content.
Parameters:
title
(string): The title of the note to updatecontent
(string): The new content for the notecategory
(string, optional): The category the note is in (default: "general")
delete_note
Delete a specific note.
Parameters:
title
(string): The title of the note to deletecategory
(string, optional): The category the note is in (default: "general")
search_notes
Search for notes containing the given query text.
Parameters:
query
(string): The text to search for in note titles and contentcategory
(string, optional): Optional category to limit search to
Configuration
The server uses the following environment variables:
NOTES_DIR
: Directory where notes are stored (default: "notes" in current directory)
File Structure
Notes are stored as Markdown files in the following structure:
notes/
āāā general/
ā āāā my_first_note.md
ā āāā another_note.md
āāā work/
ā āāā meeting_notes.md
āāā personal/
āāā ideas.md
Development
Running Tests
uv run pytest
Project Structure
notes-mcp/
āāā src/
ā āāā notes_mcp/
ā āāā __init__.py
ā āāā server.py
āāā tests/
āāā pyproject.toml
āāā README.md
License
This project is open source and available under the MIT License.