Author avatar

simplenote-mcp-server

by docdyhr

Server

Tags

4.8 (120)

Simplenote MCP Server

A FastMCP/FastAPI server that enables Claude Desktop to interact with Simplenote notes through the Model Context Protocol (MCP).

Features

  • List, view, create, update, and trash Simplenote notes via MCP
  • Search notes by content
  • Filter notes by tags
  • In-memory caching with background synchronization
  • Bearer token authentication
  • CORS support for Claude Desktop

Requirements

  • Python 3.8+
  • macOS 15+ (primary platform, but should work on others)
  • Simplenote account

Quick Start

  1. Clone this repository

  2. Create a .env file with your configuration:

    [email protected]
    SIMPLENOTE_PASSWORD=your_password
    SERVER_PORT=8000
    SERVER_AUTH_TOKEN=your_secure_token
    
  3. Run the server:

    ./run_server.sh
    

Configuration

Environment Variable Description Required
SIMPLENOTE_EMAIL Your Simplenote account email Yes
SIMPLENOTE_PASSWORD Your Simplenote account password Yes
SERVER_PORT Port to run the server on (default: 8000) No
SERVER_AUTH_TOKEN Bearer token for client authentication Yes

Development

  1. Create a virtual environment:

    python -m venv .venv
    source .venv/bin/activate
    
  2. Install dependencies:

    pip install -r requirements.txt
    
  3. Run the server in development mode:

    uvicorn app.main:app --reload --port $SERVER_PORT
    

API Endpoints

Discovery

  • GET /api/v1/discovery: Lists all available tools and their schemas

Tools

All tool endpoints use POST /api/v1/tools/{tool_name} with JSON request body

List Notes

  • Endpoint: POST /api/v1/tools/list_notes
  • Request: {}
  • Response: Array of note objects

Get Note

  • Endpoint: POST /api/v1/tools/get_note
  • Request: {"note_id": "string"}
  • Response: Note object

Create Note

  • Endpoint: POST /api/v1/tools/create_note
  • Request: {"content": "string", "tags": ["string"]}
  • Response: Created note object

Update Note

  • Endpoint: POST /api/v1/tools/update_note
  • Request: {"note_id": "string", "content": "string", "tags": ["string"]}
  • Response: Updated note object

Trash Note

  • Endpoint: POST /api/v1/tools/trash_note
  • Request: {"note_id": "string"}
  • Response: Boolean indicating success

Search Notes

  • Endpoint: POST /api/v1/tools/search_notes
  • Request: {"query": "string"}
  • Response: Array of matching note objects

Note Object Schema

{
  "id": "string",
  "content": "string",
  "tags": ["string"],
  "created": "timestamp",
  "modified": "timestamp"
}

Security Notes

  • Use HTTPS in production
  • Keep your SERVER_AUTH_TOKEN secure
  • Store sensitive credentials in .env (not in version control)

License

MIT

Related Services

playwright-mcp

Server

4.8 (120)
View Details →

blender-mcp

Server

4.8 (120)
View Details →

tavily-mcp

Server

4.8 (120)
View Details →