todo-mcp
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-mcpAdd a high priority task: buy groceries"
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
The foro.sh example project: a small, stateful todo-list MCP server. Every new foro.sh workspace gets a deployed copy, so there is a live MCP endpoint to poke at before deploying anything of your own.
Tools
Tool | Description |
| Add a task ( |
| List tasks ( |
| Mark a task as done |
| Mark a task as not done |
| Delete a task |
It also exposes two resources: tasks://board, the current board rendered as
markdown, and ui://todo/list, the interactive view described below.
Related MCP server: Todo Markdown MCP Server
The interactive view
Every todo tool carries _meta.ui.resourceUri pointing at ui://todo/list,
per the MCP Apps extension. A host that supports the extension fetches
that resource — view.html, served as text/html;profile=mcp-app — and
renders it in a sandboxed iframe beside the tool result: a checkbox list you
can tick to complete and untick to reopen.
The view talks back over postMessage using
@modelcontextprotocol/ext-apps: callServerTool to mutate the list,
updateModelContext to tell the model what is on screen, and ontoolresult
to re-render when the model changes the list itself. Because that SDK loads
from a CDN, the resource declares unpkg.com under _meta.ui.csp — hosts
build the iframe's Content-Security-Policy from that, and an undeclared origin
means a blank view.
Hosts without the extension are unaffected: they ignore the metadata and show the plain tool results.
State
Tasks live in the server's memory. That is the point of the example: a tool call in one session mutates state the next call sees, because the container keeps running between calls. The ceiling is just as real: state resets whenever the server restarts or redeploys. For anything that must survive a restart, back your server with a database or external store.
Run it locally
uv run server.pyThe server speaks MCP over streamable HTTP at http://localhost:8000/mcp
(set MCP_PORT to change the port).
Deploy it
This repo carries a foro.yaml, so it deploys on foro.sh as-is: sign in,
pick this repo, deploy.
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 Servers
- Flicense-qualityDmaintenanceAn MCP server that provides tools and resources for managing a coding project's todo list, allowing users to view, add, update, and delete todo items with details like priority, status, and tags.1
- AlicenseAqualityDmaintenanceAn MCP server that allows AI assistants to manage todo lists stored in a simple markdown file, supporting creation, reading, updating, and deletion of todo items with persistent IDs.5146MIT
- Flicense-qualityDmaintenanceThis MCP server provides tools to manage a todo list with CRUD operations, enabling listing, creating, updating, and deleting todos.
- Flicense-qualityCmaintenanceMCP server that exposes a TODO list API to AI assistants, enabling natural language management of tasks with create, read, update, and delete operations.
Related MCP Connectors
Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.
A basic MCP server to operate on the Postman API.
MCP server for generating rough-draft project plans from natural-language prompts.
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/foro-sh/todo-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server