Sticky Notes MCP Server
# Sticky Notes MCP Server
A Model Context Protocol (MCP) server for managing sticky notes with persistent storage.
## Overview
The Sticky Notes MCP server provides a simple interface for creating, reading, updating, and deleting sticky notes. It uses a text file for persistent storage and integrates with MCP-compatible clients like Claude Desktop.
## Project Structure
```
š Sticky-notes-mcp/
š main.py (1.9 KB) # Main MCP server implementation
š notes.txt (0.0 KB) # Persistent storage for notes
š pyproject.toml (0.2 KB) # Project configuration
š uv.lock # Dependency lock file
```
## Features
- **Create Notes**: Add new sticky notes with content
- **Read Notes**: View existing notes by ID or list all notes
- **Update Notes**: Modify existing note content
- **Delete Notes**: Remove notes from storage
- **Persistent Storage**: Notes are saved to `notes.txt` file
- **MCP Integration**: Full compatibility with MCP protocol
## Installation & Setup
### Prerequisites
- Python 3.8+
- UV package manager
- MCP-compatible client (e.g., Claude Desktop)
### Installation Steps
1. **Clone or download the project** to your desired location
2. **Install dependencies** using UV:
```bash
cd C:\Users\{Your path}\Sticky-notes-mcp
uv sync
```
### MCP Server Configuration
Add the following configuration to your MCP client settings file:
```json
{
"mcpServers": {
"ai-sticky-notes": {
"command": "uv",
"args": [
"--directory",
"C:\\Users\\{Your path}\\Sticky-notes-mcp",
"run",
"python",
"main.py"
]
}
}
}
```
**Important**: Replace `{Your path}` with your actual username or the full path to the project directory.
#### For Claude Desktop
1. Open Claude Desktop
2. Navigate to Settings ā Developer
3. Edit the MCP servers configuration
4. Add the above configuration
5. Restart Claude Desktop
## Usage
Once configured, you can interact with the sticky notes through your MCP client:
### Available Commands
- **Create a note**: "Create a sticky note with content: [your content]"
- **List all notes**: "Show me all my sticky notes"
- **Read specific note**: "Show me note with ID [note_id]"
- **Update a note**: "Update note [note_id] with new content: [new content]"
- **Delete a note**: "Delete note with ID [note_id]"
### Example Interactions
```
User: Create a sticky note: "Remember to buy groceries"
Assistant: Created note with ID 1: "Remember to buy groceries"
User: Show me all my notes
Assistant: Your notes:
1: Remember to buy groceries
User: Update note 1 with: "Remember to buy groceries and milk"
Assistant: Updated note 1: "Remember to buy groceries and milk"
```
## Technical Details
### Dependencies
The project uses minimal dependencies managed through `pyproject.toml`:
- Python standard library for core functionality
- UV for package management
### File Storage
Notes are stored in a simple text file format (`notes.txt`) with each note on a separate line, prefixed with its ID.
### MCP Protocol Compliance
The server implements the standard MCP protocol for:
- Tool definitions and invocations
- Resource management
- Error handling
- Logging capabilities
## Development
### Project Metrics
- **Total Files**: 6
- **Total Lines**: 535
- **Languages**: Python
- **Main File**: `main.py` (1,933 bytes)
### File Descriptions
- **`main.py`**: Core MCP server implementation with note management logic
- **`notes.txt`**: Persistent storage file for all sticky notes
- **`pyproject.toml`**: Project configuration and dependency definitions
- **`uv.lock`**: Dependency lock file ensuring reproducible builds
## Troubleshooting
### Common Issues
1. **Server won't start**: Ensure UV is installed and the path in configuration is correct
2. **Notes not persisting**: Check file permissions for `notes.txt`
3. **Connection issues**: Verify MCP server configuration matches the exact path format
### Logs and Debugging
The MCP server provides logging output that can help diagnose issues. Check your MCP client's console or logs for detailed error messages.
## License
This project follows standard open-source practices. Check the project repository for specific license information.
## Contributing
To contribute to this project:
1. Ensure you understand the MCP protocol
2. Test changes thoroughly with MCP clients
3. Maintain backward compatibility with existing note storage format
---
*Documentation generated automatically from codebase analysis*TDQS
Scored across 4 tools
Each tool serves a clearly distinct purpose: adding to the note file, reading all notes, creating a new notes file, and deleting all notes. No two tools perform the same action, so an agent can confidently select the right one.
Tool names follow a mostly consistent verb-noun pattern (add_note, read_notes, delete_notes). The exception is save_to_new_file, which has a more complex verb-phrase structure, but it still uses the same snake_case style and starts with a verb, so the overall pattern remains readable.
Four tools is well-scoped for a sticky notes server: one to add, one to read, one to delete, and one to save to a new file. Each tool earns its place without unnecessary bloat.
The set is missing essential operations for managing individual notes. There is no way to update a specific note or delete a single note, forcing users to delete all notes and re-add the ones they want to keep. This is a significant gap for a note-taking tool.