todo-mcp-server
Click on "Install 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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Official Todoist MCP server for AI assistants to manage tasks, projects, and workflows.
MCP server for Argo RPG Platform — connects AI assistants to campaign data via OAuth2
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/andrew-klear/todo-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server