Skip to main content
Glama
buildswithadnan

MCP Todo & Context Server

MCP Todo & Context Server

A lightweight backend service that provides AI clients with two core capabilities:

  1. Todo Management: Create, list, complete, and delete todo items per project

  2. Project Context: Record and retrieve running context notes about a project's state

Features

  • āœ… Per-project todo lists with priority levels

  • šŸ“ Append-only context notes for tracking project state

  • šŸ”„ Resume work summaries (status + recent notes + open todos)

  • 🌐 MCP (Model Context Protocol) endpoint for AI clients

  • šŸ’¾ Persistent JSON file storage

  • šŸš€ Single-instance deployment with FastAPI + uvicorn

Related MCP server: CacheTank MCP Server

Architecture

mcp-todo-context-server/
ā”œā”€ā”€ app.py              # FastAPI entry point - mounts /mcp and /health
ā”œā”€ā”€ server.py           # FastMCP instance + tool definitions
ā”œā”€ā”€ storage.py          # Persistence layer - reads/writes data.json
ā”œā”€ā”€ data/
│   └── data.json       # Runtime data file (auto-created)
ā”œā”€ā”€ requirements.txt
└── README.md

Installation

1. Create Virtual Environment

python -m venv venv

2. Activate Virtual Environment

Windows (PowerShell):

.\venv\Scripts\activate.ps1

Windows (CMD):

venv\Scripts\activate.bat

Linux/Mac:

source venv/bin/activate

3. Install Dependencies

pip install -r requirements.txt

Running the Server

Development Mode (with auto-reload)

python app.py

Or using uvicorn directly:

uvicorn app:app --reload --host 0.0.0.0 --port 8000

Production Mode

uvicorn app:app --host 0.0.0.0 --port 8000

The server will be available at:

  • MCP endpoint: http://localhost:8000/mcp

  • Health check: http://localhost:8000/health

  • API docs: http://localhost:8000/docs

MCP Tools

The server exposes the following tools via the MCP protocol:

Todo Management

  1. create_todo - Create a new todo item

    • project_name (required): Project identifier

    • title (required): Todo title

    • description (optional): Detailed description

    • priority (optional): low/medium/high (default: medium)

  2. list_todos - List todos for a project

    • project_name (required): Project identifier

    • filter_status (optional): 'open', 'done', or None for all

  3. complete_todo - Mark a todo as complete

    • project_name (required): Project identifier

    • todo_id (required): Todo ID to complete

  4. delete_todo - Delete a todo permanently

    • project_name (required): Project identifier

    • todo_id (required): Todo ID to delete

Project Context

  1. append_context_note - Add a context note to project history

    • project_name (required): Project identifier

    • note (required): Context note text

    • status (optional): Update project status label

  2. get_project_summary - Get resume-work summary

    • project_name (required): Project identifier

    • recent_notes_count (optional): Number of recent notes (default: 10)

    • Returns: status, recent notes, and all open todos

Project Directory

  1. list_projects - List all projects

    • No parameters required

    • Returns: All projects with status and open todo counts

Connecting AI Clients

Claude Desktop Configuration

Add to your Claude Desktop MCP settings:

{
  "mcpServers": {
    "todo-context": {
      "command": "uvicorn",
      "args": ["app:app", "--host", "localhost", "--port", "8000"],
      "cwd": "/path/to/mcp-todo-context-server",
      "env": {
        "VIRTUAL_ENV": "/path/to/mcp-todo-context-server/venv"
      }
    }
  }
}

Data Storage

Data is stored in data/data.json with the following structure:

{
  "projects": {
    "project-name": {
      "name": "project-name",
      "status": "active",
      "context_log": [
        {
          "timestamp": "2026-08-13T10:30:00.000Z",
          "note": "Implemented user authentication"
        }
      ],
      "todos": [
        {
          "id": "20260813103000123456",
          "title": "Add password reset",
          "description": "Implement email-based password reset flow",
          "priority": "high",
          "done": false,
          "created": "2026-08-13T10:30:00.000Z",
          "completed": null
        }
      ]
    }
  }
}

Example Usage

Creating a Todo

# Via MCP tool call
{
  "tool": "create_todo",
  "arguments": {
    "project_name": "my-app",
    "title": "Implement user authentication",
    "description": "Add JWT-based auth with refresh tokens",
    "priority": "high"
  }
}

Getting Project Summary

# Via MCP tool call
{
  "tool": "get_project_summary",
  "arguments": {
    "project_name": "my-app",
    "recent_notes_count": 5
  }
}

Response includes:

  • Current project status

  • 5 most recent context notes

  • All open todos

  • Metadata (counts, timestamps)

API Endpoints

  • GET / - Service information

  • GET /health - Health check

  • GET /docs - Interactive API documentation (Swagger UI)

  • POST /mcp - MCP protocol endpoint

Requirements

  • Python 3.8+

  • FastAPI

  • uvicorn

  • fastmcp (FastMCP - Model Context Protocol SDK)

  • pydantic

  • python-dotenv

Roadmap

v1.0 (Current)

  • āœ… MCP endpoint with 7 tools

  • āœ… JSON file storage

  • āœ… Direct uvicorn deployment

Future Considerations

  • SQLite/PostgreSQL backend option

  • Authentication/authorization layer

  • Docker containerization

  • Multi-user support

  • Tags/categories for context notes

  • Due dates and reminders for todos

License

MIT License - see LICENSE file for details

Contributing

Contributions welcome! Please open an issue or PR.

Support

For issues or questions, please open a GitHub issue.

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

–Maintainers
–Response time
–Release cycle
–Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Project management MCP for AI agents with safe task reads and writes.

  • User-owned memory for AI agents, Copilot, Claude, IDEs, CLIs, and chat apps over remote MCP.

  • Cross-AI personal memory. Save once in ChatGPT, recall in Claude, Mistral, Grok, or any MCP client.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/buildswithadnan/mtcs-mcp-todo-and-context-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server