Task Manager 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., "@Task Manager MCP Server Create a new task to prepare the monthly report"
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.
MCP Task Manager – Educational React Client
An educational full-stack project that extends a Model Context Protocol (MCP) task-manager server with a React front-end that teaches MCP concepts hands-on. The React app acts as an MCP client, exposing Resources, Tools, and Prompts in a single UI with in-app explanations. AG Grid is the primary way tabular data is displayed, making this simultaneously a learning exercise for both MCP and AG Grid.
Architecture
┌─────────────────────────────────────┐
│ MCP Clients │
│ Claude Desktop Cursor React App │
└────────┬──────────┬────────┬────────┘
│ │ │
STDIO STDIO HTTP/SSE
│ │ │
│ ┌──┴────────┴──┐
│ │ HTTP Proxy │ :3001
│ │ (Node/tsx) │
│ └──────┬───────┘
│ │ STDIO
└──────────────┤
┌──────┴───────┐
│ MCP Server │
│ (Node/TS) │
└──────────────┘MCP Server (
src/) — TypeScript/Node, STDIO transport. Exposes Resources, Tools, and Prompts for task management with deadlines.HTTP/SSE Proxy (
proxy/) — Spawns the MCP server as a subprocess and bridges it to the browser over HTTP + Server-Sent Events.React App (
client/) — MCP client UI with AG Grid as the primary data presentation layer, educational copy, and a natural-language chat interface.
Related MCP server: Task Tracker MCP
Start Everything
First, build the MCP server (required once, or after server changes):
npm run buildThen start all three processes in parallel:
npm run devIf you already have stale local processes from an earlier run, use:
npm run dev:cleanThis kills anything currently bound to ports 3001 (proxy) and 5173 (client), then starts everything.
This runs:
Process | URL | Description |
MCP Server | — | Runs via STDIO (spawned by proxy) |
HTTP/SSE Proxy |
| Bridges browser ↔ MCP server |
React Client |
| Educational MCP client UI |
Individual Start Commands
Run each in a separate terminal if you prefer:
# Terminal 1 – MCP server (STDIO, consumed by proxy)
npm run start
# Terminal 2 – HTTP/SSE proxy
npm run dev --prefix proxy
# Terminal 3 – React client
npm run dev --prefix clientOllama Setup
The chat tab requires Ollama running locally. If you skip this, the rest of the app works fine — only the AI chat tab is affected.
Install Ollama:
brew install ollamaOr download from ollama.com/download for other platforms.
Start Ollama (runs in the background on port 11434):
ollama serveOn macOS, Ollama may already be running as a menu bar app after installation. You can verify with:
curl http://localhost:11434/v1/modelsIn a new terminal tab, pull Ollama's default model
ollama pull llama3.1LLM Configuration
The proxy reads LLM settings from proxy/.env. Copy the example and edit as needed:
cp proxy/.env.example proxy/.envThe defaults point to Ollama (http://localhost:11434, model llama3.1). To use a different model or provider, just edit proxy/.env — any OpenAI-compatible API works (Ollama, OpenAI, Anthropic-compatible, etc.). See proxy/.env.example for examples.
Configure with Claude Desktop
The MCP server works as a standalone app for use with other native MCP clients able to send STDIO, such as Claude desktop.
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"task-manager": {
"command": "node",
"args": ["/absolute/path/to/todo-mcp-server/build/index.js"]
}
}
}Replace /absolute/path/to/ with your actual path.
Key Learnings
MCP separates concerns: Resources are read-only data by URI; Tools are actions with schema-validated inputs; Prompts are pre-built server-generated messages.
Transport is pluggable: STDIO for native clients, HTTP/SSE for browsers (via proxy).
Schema-driven UIs: Tool input schemas can drive form generation directly in the client.
AG Grid patterns: Column defs, multiple data sources, client-side sort/filter — practised across every panel.
LLM + MCP: An LLM can interpret natural language and select MCP operations, acting as a reasoning layer on top of a structured protocol.
Available Tools
4 toolscreate_taskC
Create a new task
Inputs: title (required), description (required), priority.
delete_taskC
Delete a task
Inputs: id (required).
get_taskC
Get details of a specific task
Inputs: id (required).
update_task_statusC
Update the status of a task
Inputs: id (required), status (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose with no overlap: create, delete, get, and update_status target different operations on tasks. An agent can easily distinguish between them without confusion.
All tool names follow a consistent verb_noun pattern (e.g., create_task, delete_task), with the slight variation in update_task_status still adhering to the same style. There are no mixed conventions or deviations.
With only 4 tools, the set feels thin for a task management domain, lacking operations like listing tasks or handling priorities. While core CRUD is covered, the count is borderline minimal for typical agent workflows.
The tools cover basic CRUD operations (create, get, delete, update_status), but there are notable gaps such as no list_tasks tool for retrieval of multiple tasks, which could hinder agent efficiency in browsing or filtering tasks.
Maintenance
Related MCP Connectors
Local-first task manager: create, edit, and complete tasks, projects, and checklists via MCP.
Headless task management for bots, apps and AI agents. Remote MCP server, OAuth or access token.
Model Context Protocol server for todo.vu task management and time tracking.
Personal task list for AI agents: read, add and delegate tasks over MCP, reports return to the task.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables AI clients to create and manage tasks via a local REST API by converting natural language into HTTP requests through the Model Context Protocol.1MIT
- FlicenseNot gradedqualityCmaintenanceEnables managing tasks through a simple task tracker with REST API and MCP tools for listing, creating, updating, assigning, and deleting tasks.-
- FlicenseNot gradedqualityCmaintenanceExposes task-management tools over the Model Context Protocol, letting any MCP client discover and call operations to add, list, and complete tasks persisted to a local JSON file. It serves as the plug layer for a separate task kitchen module, with permissions enforced in the client.-
- FlicenseNot gradedqualityCmaintenanceEnables creating, listing, retrieving, completing, and deleting locally persisted tasks, with filtering by pending, completed, or all status. It also exposes pending tasks as read-only data for clients to inspect.-