Skip to main content
Glama
yusukebe

todo-mcp-server

by yusukebe

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

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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

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/yusukebe/todo-mcp-server'

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