Productive.io

by berwickgeek

Not rated
GitHub

About

Interact with the Productive.io API for project management and productivity tasks.

Details

Author
berwickgeek
Categories
Productivity, Project Management, API

Setup

Install Productive.io in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/berwickgeek/productive-mcp

Follow the installation instructions in the repository README, then restart your MCP client.

An MCP (Model Context Protocol) server that enables Claude Desktop, Claude Code, and other MCP-compatible clients to interact with the Productive.io API.

- Task Briefing:get_task_overviewreturns everything about one task in a single call, so reading an issue does not cost a dozen round trips
- Companies & Projects: List companies and projects with status filtering
- Folders: Full CRUD with archive/restore for organizing project content
- Task Lists: Full lifecycle management — create, update, archive/restore, copy, move, reposition
- Task Management: List, create, update, delete tasks with various filters
- Subtasks: Create and list subtasks under parent tasks
- Task Operations: Comments, status updates, sprint assignment, repositioning
- Comments: Full CRUD with pin/unpin and reactions
- Todos: Checklist items on tasks — create, update, close/reopen, delete
- Pages/Docs: Full document management with nested page hierarchies, move, and copy
- People Management: List people in your organization with filtering options
- Workflow Management: List and work with workflow statuses for proper task status updates
- Time Tracking: List and create time entries with service/deal integration
- User Context: Supports "me" references when PRODUCTIVE_USER_ID is configured
- Activity Tracking: View activities and recent updates across your organization

Or run directly with npx (no installation required):
- Clone this repository
- Install dependencies:

npm install

To obtain your Productive.io credentials:
- Log in to Productive.io
- Go to Settings → API integrations
- Generate a new token (choose read-only for safety, or full access for task creation)
- Copy the token and organization ID

- You can use the API to list people and find your ID
- Or check the URL when viewing your profile in Productive.io

The server requires the following environment variables:

Add the server to your Claude Desktop configuration file:

- macOS:~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:%APPDATA%\Claude\claude_desktop_config.json

{ "mcpServers": { "productive": { "command": "npx", "args": ["-y", "productive-mcp"], "env": { "PRODUCTIVE_API_TOKEN": "your_api_token_here", "PRODUCTIVE_ORG_ID": "your_organization_id_here", "PRODUCTIVE_USER_ID": "your_user_id_here" } } } }
{ "mcpServers": { "productive": { "command": "productive-mcp", "env": { "PRODUCTIVE_API_TOKEN": "your_api_token_here", "PRODUCTIVE_ORG_ID": "your_organization_id_here", "PRODUCTIVE_USER_ID": "your_user_id_here" } } } }
{ "mcpServers": { "productive": { "command": "node", "args": ["/path/to/productive-mcp/build/index.js"], "env": { "PRODUCTIVE_API_TOKEN": "your_api_token_here", "PRODUCTIVE_ORG_ID": "your_organization_id_here", "PRODUCTIVE_USER_ID": "your_user_id_here" } } } }

Note:PRODUCTIVE_USER_IDis optional but required for themy_taskstool to work.

After adding the configuration, restart Claude Desktop.

Add the server to your Claude Code configuration using the CLI:

claude mcp add productive -- npx -y productive-mcp

Then set your environment variables. You can either:

Option 1: Add to your shell profile (~/.zshrcor~/.bashrc):

export PRODUCTIVE_API_TOKEN="your_api_token_here" export PRODUCTIVE_ORG_ID="your_organization_id_here" export PRODUCTIVE_USER_ID="your_user_id_here"

Option 2: Create a wrapper script and add it as an MCP server:
-

Create a script file (e.g.,~/scripts/productive-mcp.sh):

#!/bin/bash export PRODUCTIVE_API_TOKEN="your_api_token_here" export PRODUCTIVE_ORG_ID="your_organization_id_here" export PRODUCTIVE_USER_ID="your_user_id_here" npx -y productive-mcp
claude mcp add productive ~/scripts/productive-mcp.sh

Option 3: Edit the Claude Code settings file directly at~/.claude/settings.json:

{ "mcpServers": { "productive": { "command": "npx", "args": ["-y", "productive-mcp"], "env": { "PRODUCTIVE_API_TOKEN": "your_api_token_here", "PRODUCTIVE_ORG_ID": "your_organization_id_here", "PRODUCTIVE_USER_ID": "your_user_id_here" } } } }

Restart Claude Code after configuration.

Reading a task you have been given the ID for

Useget_task_overviewfirst. It answers "what is this issue about" in one call:

get_task_overview(task_id: "19300600")

It returns metadata (status, assignee, project, task list, dates, estimate vs worked time), the full original description, then the 10 most recent comments with their complete bodies in chronological order. HTML is rendered to plain text and stored@mentionblobs are collapsed to names, so the thread reads as prose.

Attachments are surfaced two ways, because most of them are screenshots that carry the context you need:

- Inline, at the exact point in the comment where the screenshot was posted, as[attachment 9131629: Screenshot_2026-07-31_110620.png].
- Indexed, in anATTACHMENTSblock at the end listing every attachment on the task and on the comments shown, flagged[IMAGE], with the source comment and author.

Then fetch only the ones that matter withget_attachment(attachment_id: "9131629"), which returns images inline.

The older path (get_task, thenlist_comments, then aget_commentper truncated comment) still works, but costs one round trip per comment and truncates bodies to 200 characters.

You can update a task's status by name — no need to look up IDs:

update_task_status { "task_id": "12399194", "status_name": "On Hold" }

The tool automatically resolves the task's project workflow and matches the status name (case-insensitive, supports partial matching). This works with custom workflow statuses too.

If the name doesn't match or is ambiguous, it returns the available statuses for that project:

No workflow status matching "banana" found. Available statuses: • "Pending" (ID: 102305) — Not Started • "Open" (ID: 102291) — Started • "On Hold" (ID: 102306) — Started • "Waiting" (ID: 102307) — Started • "Closed" (ID: 102292) — Closed

You can also passworkflow_status_iddirectly if you already know the ID.

WhenPRODUCTIVE_USER_IDis configured, you can use "me" in several tools:

- create_taskwith"assignee_id": "me"
- update_task_assignmentwith"assignee_id": "me"
- my_tasksto get your assigned tasks
- whoamito verify your configured user context
- Create a folder:create_folder
- Create task lists:create_task_list
- Create tasks:create_task
- Break down work:create_subtaskfor sub-items,create_todofor checklists
- Add comments:add_task_comment
- Update status:update_task_statuswithstatus_name(e.g. "Open", "On Hold", "Closed")
- Track progress: Uselist_activitiesorget_recent_updates
- Create a root page:create_pagewithproject_idandtitle
- Add child pages:create_pagewithparent_page_idandroot_page_idset to the root
- Nest deeper: Setparent_page_idto the parent androot_page_idto the root page
- Reorganize: Usemove_pageto reparent pages,copy_pageto duplicate

- Run in development mode:npm run dev
- Build:npm run build
- Start built server:npm start

Manage time tracking, projects, clients, and tasks using the Harvest API.

Provides comprehensive project management context to AI agents using the Helios-9 API.

Integrates with the Productboard API, offering 49 specialized tools to manage all major Productboard functionalities.

Integrate the Productboard API into agentic workflows for product management.

A server for interacting with the TimeChimp API v2 to manage time tracking and projects.

Interact with task, doc, and project data in Dart, an AI-native project management tool

Perform queries and entity operations in your Fibery workspace.

Magica is your all-in-one AI platform, offering 2500+ cutting-edge tools under a single subscription.

Turn your Make scenarios into callable tools for AI assistants.

Remote MCP server for MeisterTask. Create and manage projects, tasks, and notes from your AI assistant. Hosted (streamable-HTTP) — connect at https://mcp.meistertask.com/mcp

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.