mcp-runrun
Provides tools for interacting with the Runrun.it API, enabling management of tasks, projects, clients, users, boards, comments, activities, timers, and custom fields.
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., "@mcp-runrunList my open tasks with project and due date"
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-runrun
MCP server for Runrun.it — gives Claude access to tasks, projects, clients, users, boards and more via the Runrun.it REST API v1.0.
Requirements
Python 3.11+
Runrun.it App-Key and User-Token (Settings → Integrations → API)
Related MCP server: timely-mcp-server
Setup
# 1. Create & activate venv
python -m venv .venv
.venv\Scripts\activate # Windows
# source .venv/bin/activate # Mac/Linux
# 2. Install
pip install -e .Credentials
Copy .env.example to .env in the project root and fill in your keys:
RUNRUN_APP_KEY=your_app_key
RUNRUN_USER_TOKEN=your_user_token.env is gitignored — credentials never leave your machine and never go
into Claude's config files.
Configure in Claude
Mac/Linux — register the wrapper script (it loads .env and starts the server):
claude mcp add --scope user runrun -- /path/to/mcp-runrun/run.shFor the Claude Desktop app, add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"runrun": { "command": "/path/to/mcp-runrun/run.sh" }
}
}Windows — register run.bat (same idea: loads .env, starts the server).
Add to %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"runrun": { "command": "C:\\mcp-runrun\\run.bat" }
}
}Security
Never commit
.env— it is gitignored on purpose. Don't paste real keys into README, issues, commits, or pull requests.The User-Token acts as your Runrun.it user: anyone with it can read and change tasks on your behalf. Treat it like a password.
If a token leaks, revoke and regenerate it immediately at Runrun.it → Settings → Integrations → API.
Each person must use their own User-Token — don't share tokens between teammates (actions are logged as the token's owner).
Available Tools
Performance & filtering notes
Runrun.it task objects are huge (125 fields, ~5.5 KB each). To stay fast and avoid
flooding the model's context, list endpoints (list_tasks, list_projects,
list_users, list_clients) return a concise summary by default plus
pagination metadata (total, has_more, next_page). Pass
detail_level: "full" when you genuinely need every field.
Two distinct people are attached to each task:
Creator →
user_idfilter ("tasks I created")Responsible / assignee →
responsible_idfilter ("tasks assigned to me")
For "my cards / tasks I created", use list_my_tasks — it resolves the current
user automatically and filters in a single fast call.
Extracting card content & building spreadsheets
The core workflow ("filter cards → read each card's content → standardized spreadsheet") is served by two tools:
get_task_content— reads ONE card and returns a clean flat record: status, board/stage/project/client/type, creator, responsible, all assignees, dates, time (raw seconds +H:MM:SS), tags, custom fields with human labels resolved (e.g."Área": "Growth"), and the description converted from HTML to plain text (tables → tab-separated cells, lists → bullets, links preserved astext (url)).export_tasks— the workhorse. Same filters aslist_tasks, then extracts a standardized record for every matching card (descriptions fetched in parallel, paging past the 100-per-request API ceiling up tomax_tasks). Passflatten_custom_fields: trueto get onecf: <label>column per custom field plus a deterministiccolumnslist — drop straight into a spreadsheet. Returns pagination metadata (total,capped,capped_by,errors).
Custom fields that share a label across the org are kept distinct (the field id is appended). Rate-limited (429) requests are retried with backoff.
Tools
Tool | Description |
| List tasks with filters (creator |
| Write custom field values on a task. Keys accept field ids or labels; option labels are resolved to ids automatically; |
| List the selectable options (id + label) of a custom field |
| List the authenticated user's own tasks (created or responsible) in one call |
| Read one card → standardized record (description as text, tags, resolved custom fields) |
| Filter + extract every matching card into uniform, spreadsheet-ready rows |
| Discover boards / board IDs for filtering |
| Get a task by ID |
| Create a new task. Optional |
| Update task fields |
| Delete a task |
| Start timer on a task |
| Pause timer on a task |
| Close/complete a task |
| Reopen a closed task |
| List comments on a task |
| Add a comment to a task |
| List attachments on a task |
| List projects |
| Get a project by ID |
| Create a project |
| Update a project |
| List clients |
| Get a client by ID |
| Create a client |
| List organization users |
| Get a user by ID |
| Get the authenticated user |
| List activity history |
| List boards |
| Get stages of a board |
| List task types |
| List teams |
Authentication
Get your credentials at Runrun.it → Settings → API:
App-Key: the application key for your organization
User-Token: the personal token for the acting user
This server cannot be deployed
Maintenance
Related MCP Connectors
- mcpOAuthnet.todoist
Official Todoist MCP server for AI assistants to manage tasks, projects, and workflows.
- mcp-serverOAuthio.klokin
MCP server exposing klokin time-tracking operations (employees, time entries, stores) to AI clients.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server that wraps a personal task manager REST API, enabling Claude to read and manage tasks via tools like get_tasks and add_task.5 npmMIT
- FlicenseNot gradedqualityAmaintenanceMCP server for Timely time tracking API. Connects Claude Code to your Timely account for reading and creating time entries, projects, tasks, and users.5-
- AlicenseAqualityBmaintenanceMCP server to connect Claude with Beebole for time tracking, enabling project and task listing, time entry retrieval, and time logging.275 npmMIT
- FlicenseBqualityAmaintenanceMCP server for interacting with Runrun.it API, enabling task and comment management for project management workflows.3427 npm-