This project demonstrates how to build a custom MCP (Model Context Protocol) server that exposes tool-powered functionality for creating, updating, listing, and deleting AI-generated sticky notes.
The MCP server integrates seamlessly with Claude Desktop, where:
- Claude (LLM) acts as the MCP client
- Claude Desktop acts as the MCP host
- Your MCP Server registers custom tools
- Users interact naturally through chat
- Claude intelligently invokes your server tools to manage sticky notes
This project is a real example of Agentic Tool Use, powered entirely by MCP.
Examples:
create_noteget_all_notesupdate_notedelete_note
Tools specify:
- Name
- Description
- JSON schema
- Handler function
Example tool definition:
{
"name": "create_note",
"description": "Create a new sticky note with title and content",
"input_schema": {...}
}In the claude_desktop_config.json, you point Claude to your MCP server.
Claude now understands your custom tools.
βCreate a sticky note with 5 points explaining what MCP is.β
Claude interprets it β Plans the action β Calls your MCP tool β Sends JSON payload β Your server executes β Response returned β Claude shows result.
You can store notes:
- In memory
- In a JSON file
- In SQLite / MongoDB
- Or any storage (your choice)
Below is an ASCII diagram showing how everything interacts:
βββββββββββββββββββββββββββββββ
β User Query β
β ("Create sticky note...") β
βββββββββββββββββ¬ββββββββββββββ
β
βΌ
ββββββββββββββββββββ
β Claude AI β
β (MCP Client LLM) β
βββββββββ¬βββββββββββ
β Natural language β Tool plan
βΌ
ββββββββββββββββββββββββββ
β Claude Desktop App β
β (MCP Host) β
ββββββββββββ¬ββββββββββββββ
β Loads MCP server
βΌ
ββββββββββββββββββββββββββββββββ
β Your MCP Server β
β Registers custom tools: β
β β’ create_note β
β β’ list_notes β
β β’ update_note β
β β’ delete_note β
βββββββββββββ¬βββββββββββββββββββ
β Executes tool call
βΌ
ββββββββββββββββββββββββββββββ
β Notes System β
β (in-memory / JSON / DB) β
βββββββββββββ¬βββββββββββββββββ
β Returns result
βΌ
ββββββββββββββββββββ
β Claude AI β
β Returns response β
ββββββββββββββββββββ
mcp-sticky-notes/
β
βββ server.py # MCP server containing all tools
βββ notes_manager.py # In-memory or DB-backed notes logic
βββ protocol/ # MCP protocol handlers
βββ requirements.txt
βββ README.md
βββ claude_desktop_config.json
git clone https://github.com/AshutoshRajGupta/AI-Sticky-Notes-Using-MCP
cd AI-Sticky-Notes-Using-MCP
pip install -r requirements.txt
python server.py
Add your MCP server in:
~/Library/Application Support/Claude/claude_desktop_config.json
Example:
{
"mcpServers": {
"stickyNotes": {
"command": "python",
"args": ["server.py"]
}
}
}Claude will now recognize your Sticky Notes tools.
User: βCreate a new sticky note explaining what MCP is in 4 points.β
Claude: (Invokes your MCP server tool automatically) *βCreated a sticky note titled βAbout MCPβ with 4 bullet points.β
User: βShow all my notes.β
Claude calls list_notes β Returns your notes.
Create a new note with title & content.
Return all notes stored in the system.
Modify an existing sticky note.
Remove a note by its ID or title.
This is not a normal chatbot. It demonstrates:
- Agentic AI
- Tool-calling automation
- Real MCP integration
- External function execution
- AI manipulating structured data
- Full local agent ecosystem
This is exactly the kind of project AI/ML recruiters love.