todo-mcp-server

todo-mcp-server

3.3

If you are the rightful owner of todo-mcp-server 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 TODO management MCP server using Cloudflare Workers and D1 database.

TODO Management MCP Server

A TODO management MCP server using Cloudflare Workers and D1 database.

Features

  • addTodo: Create a new TODO
  • getTodos: Get TODO list
  • completeTodo: Mark TODO as complete
  • markIncomplete: Mark TODO as incomplete
  • deleteTodo: Delete TODO

Setup

1. Create Project

npm create cloudflare@latest -- my-mcp-server --template=cloudflare/ai/demos/remote-mcp-authless
cd my-mcp-server

2. Create D1 Database

# Create D1 database
wrangler d1 create todo-tasks-db

3. Configure wrangler.jsonc

Add the created database ID to wrangler.jsonc:

{
  "$schema": "node_modules/wrangler/config-schema.json",
  "name": "todo-mcp-server",
  "main": "src/index.ts",
  "compatibility_date": "2025-03-10",
  "compatibility_flags": ["nodejs_compat"],
  "d1_databases": [
    {
      "binding": "DB",
      "database_name": "todo-tasks-db",
      "database_id": "your-database-id-here"
    }
  ]
}

4. Create Database Schema

Create schema.sql file:

CREATE TABLE todos (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  title TEXT NOT NULL,
  completed BOOLEAN DEFAULT FALSE,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
  updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

Apply schema to database:

# Apply to local environment
wrangler d1 execute todo-tasks-db --file=./schema.sql --local

# Apply to remote environment
wrangler d1 execute todo-tasks-db --file=./schema.sql --remote

5. Generate Types

npm run cf-typegen

6. Implement src/index.ts

Create MCP agent class inheriting from McpAgent and implement TODO management tools. See src/index.ts for details.

7. Local Testing

Start development server:

npm run dev

Start MCP Inspector in another terminal:

npx @modelcontextprotocol/inspector@latest

Open the displayed port in web browser and enter http://localhost:8787/mcp in the MCP server URL field to test.

8. Deploy

npm run deploy

Usage

Claude Desktop Usage

After deployment, add the following to Claude Desktop's config file (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "todo": {
      "command": "npx",
      "args": [
        "mcp-remote@latest",
        "https://your-worker-domain.workers.dev/mcp"
      ]
    }
  }
}

Resource Cleanup

To delete the project, follow these steps to remove Cloudflare resources:

1. Delete Worker

wrangler delete my-mcp-server

2. Delete D1 Database

wrangler d1 delete todo-tasks-db

Note: Deleting the Worker will automatically delete associated Durable Objects.

License

MIT

Author

Yusuke Wada https://github.com/yusukebe