- Home
- MCP servers
- MCP Task Manager Server
MCP Task Manager Server
- typescript
7
GitHub Stars
typescript
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
The MCP Task Manager is a Cloudflare Worker-based server that helps AI assistants plan, track, and manage multi-step requests with persistent storage. It breaks complex work into tasks, tracks progress, handles approvals, and exposes a RESTful API so your applications can orchestrate work reliably at global edge locations.
How to use
You interact with the MCP Task Manager through its HTTP endpoints from an MCP client or any application that speaks the MCP protocol. Start by planning a request or fetching the next task to work on, then mark progress and request approvals as tasks complete. Use the include/exclude controls to adjust tasks within a request and monitor overall progress through the request’s status.
Typical usage patterns include planning a new user request, iterating by adding or updating tasks, processing tasks in order, and applying approvals to move a request toward completion. You can query the current list of requests to understand progress at a glance and drill into a specific task for details.
How to install
Prerequisites are required to run and deploy the MCP Task Manager as a Cloudflare Worker.
# Prerequisites
- Cloudflare account (free tier works)
- Wrangler CLI installed
- Node.js 18+ and npm/pnpm/yarn
- Git for cloning the repository
Follow these concrete steps to set up and deploy your own MCP Task Manager instance.
# 1. Clone and setup the repository
git clone https://github.com/Rudra-ravi/mcp-taskmanager.git
cd mcp-taskmanager
npm install
# 2. Login to Cloudflare
npx wrangler login
# 3. Create KV namespace for storage
npx wrangler kv namespace create "TASKMANAGER_KV"
# Copy the namespace ID from the output
# 4. Update configuration with the KV namespace id
# Edit wrangler.toml and replace the id under the binding
[[kv_namespaces]]
binding = "TASKMANAGER_KV"
id = "your-new-kv-namespace-id-here"
# 5. Build and deploy
npm run build
npx wrangler deploy
After successful deployment, your MCP Task Manager will be available at the URL shown in your Cloudflare account, typically under your workers.dev subdomain.
Configuration and environment
The deployment uses a Cloudflare KV namespace to persist tasks and requests. You configure the KV binding in the deployment configuration and reference it in your worker code. You can also manage environment-specific deployments (staging, production) by duplicating the binding with environment-specific IDs.
[[kv_namespaces]]
binding = "TASKMANAGER_KV"
id = "your-kv-namespace-id-here"
[env.staging]
name = "mcp-taskmanager-staging"
[[env.staging.kv_namespaces]]
binding = "TASKMANAGER_KV"
id = "staging-kv-namespace-id"
[env.production]
name = "mcp-taskmanager-prod"
[[env.production.kv_namespaces]]
binding = "TASKMANAGER_KV"
id = "production-kv-namespace-id"
Testing your deployment
Use curl to verify that the worker exposes the expected endpoints and that you can list tools and call tools to plan or execute tasks.
# Replace with your actual worker URL
WORKER_URL="https://mcp-taskmanager.your-subdomain.workers.dev"
# Test list tools
curl -X POST $WORKER_URL/list-tools \
-H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}'
# Test creating a request
curl -X POST $WORKER_URL/call-tool \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "request_planning",
"arguments": {
"originalRequest": "Test deployment",
"tasks": [{"title": "Test task", "description": "Verify deployment works"}]
}
}
}'
Available tools
request_planning
Register a new user request and plan its associated tasks, creating a structured workflow from the original input.
get_next_task
Fetch the next pending task for a given request to guide progress through the plan.
mark_task_done
Mark a task as completed and optionally attach detailed results or notes.
approve_task_completion
Approve the completion of a specific task to advance the workflow.
approve_request_completion
Approve the completion of the entire request when all tasks are finished.
add_tasks_to_request
Add new tasks to an existing request to refine or expand the workflow.
update_task
Update the title or description of a pending task to reflect changes.
delete_task
Remove an existing task from a request if it is no longer needed.
open_task_details
Retrieve detailed information about a specific task for review.
list_requests
List all requests with their current status and progress.