Tasklife MCP Server v0.1.1
A Model Context Protocol server that exposes the Tasklife API to AI agents. Works with Claude Desktop, Hermes, Cursor, Windsurf, and any other MCP-compatible client. 26 tools covering Tasks, Comments, Pages, Projects, Users, Teams, and Releases.
Hosted MCP — one URL, OAuth device pairing (recommended)
If your client supports MCP over HTTP with OAuth (Claude.ai, Grok web, Cursor 1.0+), point it at:
https://mcp.tasklife.com/mcp
On first connection, the client will fetch our OAuth discovery, generate a device code, and show you a URL like https://tasklife.com/device with a short code. Visit it, sign in, type the code, click Approve. The client then receives a short-lived bearer token and you’re in — no API key copy/paste.
Tokens minted this way are tl_at_… access tokens (RFC 8628 device grant). They expire and can be revoked from Settings → Connected apps. The Worker advertises discovery at https://mcp.tasklife.com/.well-known/oauth-authorization-server (RFC 8414) and https://mcp.tasklife.com/.well-known/oauth-protected-resource (RFC 9728).
What is MCP?
MCP is an open standard that lets AI agents call external tools through a uniform interface. Instead of hand-coding HTTP requests, the agent discovers your tools automatically and invokes them by name.
With the Tasklife MCP server installed, an agent like Claude Desktop can do things like "show me my open tasks in project 8" or "create a follow-up task and assign it to Dave" — the model picks the right tool, calls it with the right arguments, and shows you the result.
Install
Requires uv (a Python tool manager). Install it once if you don't have it:
curl -LsSf https://astral.sh/uv/install.sh | sh
Then install the package:
uv tool install tasklife-mcp
Get a Tasklife API key: Settings → Agents → Create API key in the Tasklife web app. Copy it (looks like tl_prod_abc123…).
Configure your client
Pick your client. Each config tells the client how to spawn the MCP server as a local subprocess and what API key to pass it.
Settings → Developer → Edit Config. Add to claude_desktop_config.json:
{
"mcpServers": {
"tasklife": {
"command": "tasklife-mcp",
"env": {
"TASKLIFE_API_KEY": "tl_prod_abc123..."
}
}
}
}
Save. Restart Claude Desktop. Tools appear under the ‘🔌’ tools icon.
Add to ~/.hermes/config.yaml:
mcp_servers:
tasklife:
command: "tasklife-mcp"
env:
TASKLIFE_API_KEY: "tl_prod_abc123..."
Restart Hermes. Tools appear as mcp_tasklife_*.
Settings → Features → Model Context Protocol → Add new global MCP server. Paste:
Name: tasklife
Command: tasklife-mcp
Env: TASKLIFE_API_KEY=tl_prod_abc123...
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"tasklife": {
"command": "tasklife-mcp",
"env": { "TASKLIFE_API_KEY": "tl_prod_abc123..." }
}
}
}
Verify
In Claude Desktop, click the 🔌 tools icon — you should see all 26 Tasklife tools listed. In Hermes, ask "what MCP tools are available" and the agent will list them.
Try a prompt: "Show me my open tasks in project 8". The model will call list_tasks, get the tasks back, and summarize them for you.
Tools
26 tools total. The agent sees these names and descriptions automatically when it connects; you don't need to teach it anything.
Troubleshooting
Tools don't appear after restart
- Verify the config file saved correctly (JSON must be valid).
- Check
tasklife-mcpis on your PATH:which tasklife-mcp. - Check Claude Desktop logs for spawn errors (macOS:
~/Library/Logs/Claude/; Windows:%APPDATA%\Claude\logs).
401 Unauthorized errors
Your API key is invalid or revoked. Regenerate in Tasklife → Settings → Agents.
Rate limits (429)
The HTTP client retries automatically; the agent should back off and retry the tool call.
Need a different endpoint?
v1 ships the 18 most common tools. For missing endpoints (agent key management, teams CRUD, CMS advanced ops), use the REST API directly via curl or open a feature request.
For developers
Source lives in the tasklife-web repo under mcp/. Package on PyPI.
git clone https://github.com/Iozzia-Lab/tasklife-web.git
cd tasklife-web/mcp
uv sync --extra dev
uv run pytest # 35 tests
uv run tasklife-mcp # stdio, test with MCP Inspector