productive-mcp-rb2
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., "@productive-mcp-rb2Show me my open tasks"
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.
productive-mcp-rb2
An MCP (Model Context Protocol) server for Productive.io, extended with delivery-focused tools for budget burn, resource planning, and org overview.
Based on berwickgeek/productive-mcp — extended by Ruben Langeweg.
Quick Start
1. Get your credentials
Log in to Productive.io
Go to Settings → API integrations
Generate a new token
Note your API token and Organisation ID
To find your user ID: use the whoami tool after setup, or check your profile URL in Productive.io.
2. Configure your MCP host
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"productive": {
"command": "npx",
"args": ["-y", "productive-mcp-rb2"],
"env": {
"PRODUCTIVE_API_TOKEN": "your_api_token",
"PRODUCTIVE_ORG_ID": "your_org_id",
"PRODUCTIVE_USER_ID": "your_user_id"
}
}
}
}Restart Claude Desktop after saving.
Claude Code
claude mcp add productive -- npx -y productive-mcp-rb2Then set your environment variables in ~/.zshrc or ~/.bashrc:
export PRODUCTIVE_API_TOKEN="your_api_token"
export PRODUCTIVE_ORG_ID="your_org_id"
export PRODUCTIVE_USER_ID="your_user_id"3. Try it
Once configured, ask your AI assistant:
"Show me my open tasks"
"Log 2 hours to the Gadero project for today"
"Which projects are over 80% budget burn?"
"Mark task 99 as Done"Related MCP server: TrackingTime MCP Server
Environment Variables
Variable | Required | Description |
| Yes | Your Productive.io API token |
| Yes | Your organisation ID |
| Optional | Your user ID — enables |
Installation
Via npx (no install required)
npx productive-mcp-rb2Global install
npm install -g productive-mcp-rb2Updating
npx users — no action needed. Restart your MCP host and npx resolves the latest published version.
Global install users:
npm install -g productive-mcp-rb2@latestLocal checkout users:
git pull && npm install && npm run buildThen restart your MCP host.
Automated npm publishing
This repo includes .github/workflows/npm-publish.yml.
Trigger: every push to
mainGuardrail: skips publishing if the current
package.jsonversion already exists on npmAuth: requires repository secret
NPM_TOKEN
Typical release flow:
npm version patch
git pushTool Reference
Tools are listed in tables, grouped by area. Read-only tools are safe to call freely; write/mutate tools are noted in the description.
People & Identity
Tool | Description |
| Get the current user context — shows which user ID is configured as "me". |
| List team members. Optional |
| Get details about a person. Requires |
Projects & Companies
Tool | Description |
| List projects in your organisation. Optional |
| List companies (clients). Optional |
Tasks
Tool | Description |
| List tasks. Optional |
| Get full details of a task. Requires |
| Get all tasks for a project. Requires |
| Get tasks assigned to the configured user. Requires |
| Create a task. Requires |
| Update title and/or description. Requires |
| Set or clear a task's assignee. Requires |
| Set task status by |
| Move task to one or more sprints (custom field). Requires |
| Reposition a task within its list. Requires |
| Move a task to a different task list. Requires |
| Add a task to the project backlog. Creates a Backlog list if missing. Requires |
| Create multiple tasks at once. Requires |
| Permanently delete a task. Destructive. Requires |
Subtasks
Tool | Description |
| List child tasks of a parent. Requires |
| Create a subtask under a parent. Requires |
Task Todos / Checklists
Tool | Description |
| List checklist items on a task. Requires |
| Get a single todo. Requires |
| Add a checklist item. Requires |
| Rename a todo or toggle completed. Requires |
| Delete a checklist item. Destructive. Requires |
Task Dependencies
Tool | Description |
| List dependencies for a task. Requires |
| Get a single dependency by ID. Requires |
| Link two tasks. Requires |
| Remove a dependency by its ID. Destructive. Requires |
Comments
Tool | Description |
| List comments on a task. Requires |
| Get a comment by ID. Requires |
| Add a comment to a task. Requires |
| Edit a comment's body. Requires |
| Pin a comment to the top. Requires |
| Unpin a comment. Requires |
| Add a reaction (e.g. |
| Delete a comment. Destructive. Requires |
Attachments
Tool | Description |
| List file attachments on a task or comment. Requires |
Boards & Task Lists
Tool | Description |
| List boards in a project. |
| Create a board. Requires |
| List task lists. Optional |
| Get a single task list. Requires |
| Create a task list. Requires |
| Rename a task list. Requires |
| Archive a task list (reversible). Requires |
| Restore an archived task list. Requires |
| Reposition a task list. Requires |
Folders
Folders group boards within a project.
Tool | Description |
| List folders. Optional |
| Get a single folder. Requires |
| Create a folder. Requires |
| Rename a folder. Requires |
| Archive a folder (reversible). Requires |
| Restore an archived folder. Requires |
Workflow Statuses
Tool | Description |
| List workflow statuses. Optional |
Time Entries
Time entry creation follows a 5-step workflow: project → deal → service → task → create.
Tool | Description |
| View existing time entries. Optional |
| Create a time entry (step 5 of the workflow). Requires |
| Update an existing time entry. Requires |
| Delete a time entry. Destructive. Requires |
| List all services in the org. |
| List deals/budgets for a project (step 2). Requires |
| List services for a deal (step 3). Requires |
| Convenience: get services for a project across all deals. Requires |
Memberships
Tool | Description |
| List project/team memberships. Optional |
Expenses
Tool | Description |
| List expenses. Optional |
| Log an expense. Requires |
Invoices
Tool | Description |
| List invoices. Optional |
| Get a single invoice. Requires |
Activity & Pages
Tool | Description |
| List activities (changes/updates). Optional |
| Summary of recent updates with breakdown by item type. Optional |
| List knowledge base pages. Optional |
| Get full content of a page. Requires |
| Create a new page. Requires |
| Update title and/or body. Requires |
| Move a page under another parent. Requires |
| Copy a page from a template. Requires |
| Delete a page. Destructive. Requires |
rb2 Delivery Tools
These tools are extended beyond the core Productive.io API and are tailored for rb2's delivery workflow.
Tool | Description |
| Budget burn analysis with RAG status (Green <70%, Amber 70-90%, Red >90%). Optional |
| Team bookings and utilisation for a date range. Optional |
| Detect team members exceeding capacity. Optional |
| rb2 headcount per subsidiary (NL, SCAPE, Code Blue, CN, PT, NG) with active project counts. |
| Raw resource bookings/capacity entries. Optional |
Common Workflows
Updating task status by name
update_task_status accepts a status_name instead of an ID — it auto-resolves against the project's workflow statuses (case-insensitive, partial match).
"Move task 12345 to In Progress"
→ update_task_status(task_id="12345", status_name="In Progress")If the name is ambiguous or missing, the tool returns the available statuses so you can retry with workflow_status_id.
Creating a subtask
"Add a subtask 'Write tests' under task 12345 assigned to me"
→ create_subtask(parent_task_id="12345", title="Write tests", assignee_id="me")Logging time (5-step flow)
list_projects
→ list_project_deals(project_id)
→ list_deal_services(deal_id)
→ get_project_tasks(project_id) # optional, to link a task
→ create_time_entry(service_id, time, date, note)The simplest approach is to use the timesheet prompt, which walks through every step automatically.
Managing knowledge base pages
"Create a runbook for project 12345 with the deployment steps"
→ create_page(project_id="12345", title="Deployment Runbook", body="<p>...</p>")
"Move page 999 under page 100"
→ move_page(page_id="999", target_doc_id="100")Pinning an important comment
list_comments(task_id) → pick the comment ID → pin_comment(comment_id)Prompts (5 total)
Prompts are pre-built workflow templates that guide the AI through multi-step operations. Invoke them by name in Claude Desktop or with /mcp__productive__<name> in Claude Code.
timesheet
Guided workflow for creating timesheet entries. Walks through project → budget → service → task → time entry selection with proper validation. Accepts optional hints to pre-fill the workflow.
Arguments:
project— project name or ID to start with (optional)date—today,yesterday, orYYYY-MM-DD(optional)time— duration like"2h","120m","1.5h"(optional)work_description— brief description of work performed (optional)
quick_timesheet
Step-by-step guidance for a specific stage of the timesheet workflow. Use when you're already partway through and need help with a specific step: project, budget, service, task, or create.
Arguments:
step— current step:project,budget,service,task, orcreateproject_id— project ID if already selected (optional)deal_id— deal/budget ID if already selected (optional)service_id— service ID if already selected (optional)task_id— task ID if already selected (optional)
weekly_report
Generate a structured weekly status report for a team member: time logged, tasks completed, in-progress work.
Arguments:
person_id— person to report on (leave blank to use the configured user)week_start— start of the week inYYYY-MM-DDformat (defaults to current Monday)
project_health
Full project health check: budget burn, open tasks, team capacity, and recent activity — produces a RAG-rated summary.
Arguments:
project_id— the Productive.io project ID to analyse
sprint_planning
Walk through sprint planning: review backlog, check capacity, select tasks, create new ones, and assign the team.
Arguments:
project_id— the project ID to plan the sprint forsprint_name— name for the new sprint (e.g."Sprint 12")
Resources (6 total)
Resources are read-only data sources you can reference directly. In Claude, prefix with @productive or use the URI scheme productive://.
Resource | Description |
| All active projects in Productive.io — names, IDs, and status. |
| rb2 headcount per subsidiary and total active projects. |
| Open tasks assigned to the configured user. Requires |
| Time entries logged today by the configured user. Requires |
| Open tasks for a specific project. Replace |
| Full details of a specific task. Replace |
Timesheet Workflow
The recommended workflow for logging time follows a strict hierarchy:
list_projects
↓
list_project_deals (get budgets for the project)
↓
list_deal_services (get services for the budget)
↓
list_tasks (optional: find task to link)
↓
create_time_entry (log time with service_id + notes)The simplest approach is to use the timesheet prompt, which walks through all steps automatically.
Repository
github.com/rubenlangeweg/productive-mcp
License
ISC
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- 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/rubenlangeweg/productive-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server