todo-mcp-server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@todo-mcp-servershow me my pending todos"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
todo-mcp-server
The same todo app served four ways, to isolate what changes when you stop hand-writing MCP tools and serve a tRPC router instead.
MCP tools by hand | tRPC router | |
no auth |
|
|
auth |
|
|
Shared at the root, so each stage is only its routing layer: services.ts (the
todo domain), auth.ts (bearer middleware + tRPC context), trpc-mcp.ts (the
tRPC → MCP adapter, adapted from Jacse/trpc-mcp).
TypeScript on Bun, Express, no build step.
Run
bun install
bun run start:simple # stdio
bun run start:authenticated # :3000/mcp
bun run start:trpc # :3001/trpc
bun run start:trpc-mcp # stdio, same router as start:trpc
bun run start:trpc-authed # :3002 — /trpc and /mcp, one router, one gateThe bearer token is the user id; alice is the only one with the premium scope.
Related MCP server: Stytch Consumer TODO MCP Server
The idea
Opt a procedure in with one .meta() key and trpc-mcp.ts walks the router and
registers it as a tool. No meta.mcp (see stats) means it stays tRPC-only.
addTodo: t.procedure
.meta({ mcp: { enabled: true, name: "add_todo", description: "Add a new todo item" } })
.input(z.object({ text: z.string().describe("Todo text") }))
.mutation(({ input }) => Todos.add(user, input.text)),Auth then only gets written once. 2_authenticated/ reads extra.authInfo in
every handler and gates export_todos inline; 4_trpc2mcp_authed/ does both in
tRPC middleware, and the /trpc and /mcp mounts inherit it from the same
req.auth — see examples/4_trpc2mcp_authed/server.ts.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for mandates, delegation, policy-gated execution, credential grants, and audit.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
- mcpOAuthnet.todoist
Official Todoist MCP server for AI assistants to manage tasks, projects, and workflows.
Related MCP Servers
AlicenseNot gradedqualityFmaintenanceA remote MCP server (Node.js/TypeScript) deployed on Azure Container Apps that provides todo list management tools with JWT authentication and role-based access control.49MIT- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI agents to manage a TODO list with user authentication via Stytch. It provides tools for creating, reading, updating, and deleting TODO items while handling identity and authorization.27MIT
- AlicenseNot gradedqualityDmaintenanceA simple MCP server for task management with Bearer token authentication, supporting create, complete, and list tasks operations.7MIT
- FlicenseNot gradedqualityDmaintenanceA production-ready MCP server that authenticates agents via OAuth 2.1 Bearer tokens, validates JWTs with JWKS, enforces tool-level scopes and roles, and logs the full delegation chain.-