ProofHub MCP Server
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., "@ProofHub MCP ServerFetch task and extract bug tracker links from this ProofHub URL: https://ph.link/123"
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.
π ProofHub MCP Server
A Model Context Protocol (MCP) server that bridges ProofHub's project management capabilities with AI assistants like Claude, GitHub Copilot, and Cursor. Paste a ProofHub task URL in your AI chat, and the agent automatically fetches task details, comments, and bug tracker links to help you complete development tasks faster.
π― What This Solves
As a developer working with ProofHub for task management, you normally have to:
Open ProofHub in a browser
Navigate to the task
Read the description and all comments
Copy relevant bug tracker links (Jira, Linear, GitHub Issues, etc.)
Context-switch back to your code editor
With this MCP server, simply paste the ProofHub URL into your AI assistant, and it automatically:
β Fetches the complete task description
β Retrieves all comments and history
β Extracts bug tracker links from anywhere in the task
β Provides structured context for the AI to help you code
Related MCP server: ClickUp MCP
β‘ Features
π Secure: API key stored in environment variables, never in code
β±οΈ Rate Limit Handling: Automatically respects ProofHub's 25 req/10s limit with retry logic
π§Ή HTML Cleanup: Strips HTML tags from descriptions/comments for clean AI consumption
π Smart Link Extraction: Regex patterns detect bug tracker URLs across all text fields
π― One-Shot Tool:
get_task_with_bug_linksfetches everything in a single callπ‘οΈ Error Handling: Graceful error messages with API status codes
π Quick Start
1. Installation
npm install2. Configuration
Create a .env file (use .env.example as template):
PROOFHUB_API_KEY=your_api_key_here
PROOFHUB_API_BASE=https://company.proofhub.com/api/v3Getting your API key: Log in to ProofHub β Account Settings β Apps & Integrations β API β Generate new API key
3. Connect to Your AI Assistant
π€ Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"proofhub": {
"command": "node",
"args": ["/absolute/path/to/proofhub-mcp/index.js"],
"env": {
"PROOFHUB_API_KEY": "your_key_here"
}
}
}
}Config location:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
π» VS Code Copilot
Add to .vscode/mcp.json in your workspace or user settings:
{
"servers": {
"proofhub": {
"type": "stdio",
"command": "node",
"args": ["/absolute/path/to/proofhub-mcp/index.js"],
"env": {
"PROOFHUB_API_KEY": "your_key_here"
}
}
}
}π Available Tools
Tool | Description | Use Case |
| Extracts project/list/task IDs from a ProofHub URL | Parse URL before calling other tools |
| Fetches complete task details (title, description, stage, custom fields, assignees) | Get full task context |
| Retrieves all task comments with timestamps | Review team discussions |
| β One-shot: Fetches task + comments + auto-extracts bug tracker URLs | Most useful - get everything in one call |
| Posts a new comment on a task | Update task from your AI chat |
| Fetches activity/stage change history | Track task evolution |
π‘ Usage Examples
Example 1: Fetch Task Context
Simply paste a ProofHub URL in your AI chat:
Get context for this task:
https://kpi.proofhub.com/bappswift/#app/todos/project-7189443252/list-270280503800/task-514774338823The AI will call proofhub_get_task_with_bug_links and return:
Task title and description
All comments (cleaned from HTML)
List of bug tracker links found
Stage, assignees, and custom fields
Example 2: Development Workflow
I need to work on this ProofHub task:
https://kpi.proofhub.com/.../task-514774338823
Fetch the task, find any Jira links, and help me understand what needs to be built.The AI will:
Fetch the complete task context
Extract Jira/GitHub/Linear links
Use your bug tracker MCP to fetch issue details
Provide a comprehensive development plan
Example 3: Update Task
Add a comment to task 514774338823 in project 7189443252, list 270280503800:
"Completed the API endpoint implementation. Ready for review."π€ Contributing
Contributions welcome! Fork the repo, make your changes, and submit a pull request.
References
Available Tools
6 toolsproofhub_create_commentC
Post a new comment on a ProofHub task.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| list_id | Yes | ||
| task_id | Yes | ||
| description | Yes | Comment text (plain text or HTML). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description lacks disclosure of side effects, authentication needs, rate limits, or error behavior. As a write operation, minimal transparency about idempotency or responses is critical.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (7 words) and front-loaded with the action. However, for a 4-parameter tool, slightly more structure (e.g., listing parameters) would improve clarity without adding significant length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of 4 required parameters, no output schema, and no annotations, the description is insufficient. It does not explain how parameters connect, response format, or constraints, leaving the agent without enough context for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 25% schema coverage (only 'description' has a brief description), the description does not add meaning for project_id, list_id, or task_id. The general statement 'Post a new comment' fails to clarify parameter roles or relationships.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Post a new comment on a ProofHub task' clearly identifies the verb (post), resource (comment), and context (on a task), distinguishing it from sibling tools like proofhub_get_comments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, prerequisites, or exclusions is provided. For a creation tool, explicit context about task existence or complementary use with proofhub_get_comments would improve usability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proofhub_get_commentsC
Fetch all comments on a ProofHub task, including their full text.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| list_id | Yes | ||
| task_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states 'fetch all comments' but does not mention pagination, rate limits, authentication requirements, or any side effects. The minimal description does not compensate for the lack of annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that is front-loaded with the core purpose. It is appropriately concise, though slightly too brief for the complexity of a three-parameter fetch tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and three required parameters, the description should explain the return structure beyond 'full text'. It does not specify what fields are returned, how comments are ordered, or any limits, leaving the agent with insufficient context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has three required parameters with zero description coverage. The tool description does not explain what project_id, list_id, or task_id represent or how they relate to the task. The description adds no semantic value beyond the parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (fetch) and the resource (all comments on a ProofHub task), and adds specificity with 'including their full text'. It distinguishes from sibling tools like proofhub_create_comment (write) and proofhub_get_task (different resource).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as when to fetch comments vs. task details. The description lacks any context about prerequisites or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proofhub_get_taskC
Fetch full task details (title, description, stage, custom fields, assignees) from ProofHub.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| list_id | Yes | ||
| task_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description only implies a read operation ('Fetch') but does not disclose any additional behaviors such as authentication requirements, rate limits, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, clear and to the point. No unnecessary words. Could be slightly improved by structuring or providing a brief example.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no parameter descriptions, and no annotations. The description lists fields returned but lacks enough context for an AI to confidently use this tool, especially given three required IDs with no explanations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should compensate. However, it only lists parameters by name and provides no extra meaning (e.g., how to obtain project_id, list_id, task_id).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb 'Fetch' and resource 'full task details', listing specific fields (title, description, stage, custom fields, assignees). Distinguishes from sibling tools like 'get_task_history' and 'get_task_with_bug_links'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as 'proofhub_get_task_with_bug_links' or 'proofhub_get_comments'. Does not specify prerequisites or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proofhub_get_task_historyB
Fetch the activity history of a ProofHub task (stage changes, edits, etc.).
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| list_id | Yes | ||
| task_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool fetches activity history and lists examples (stage changes, edits), which gives some behavioral context. However, it does not specify if results are paginated, ordered, or if it only returns recent history.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 12 words, front-loading the action and object. Every word adds value, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and three required parameters, the description is minimal but adequate for a simple fetch tool. It lacks explanation of the output format and parameter details, which would be needed for a tool with more complex semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does not explain what project_id, list_id, or task_id represent beyond the obvious task identification. The agent may not know that list_id refers to a list within the project. The examples in the description are about the output, not the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Fetch' and the resource 'activity history of a ProofHub task', with examples of content (stage changes, edits). It distinguishes this tool from siblings like proofhub_get_task (which fetches task details) and proofhub_get_comments (which fetches comments) by focusing on history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as proofhub_get_task or proofhub_get_task_with_bug_links. The description does not mention prerequisites, limitations, or context for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proofhub_get_task_with_bug_linksB
One-shot tool: given a ProofHub task URL (or IDs), fetches the task description AND all comments, then extracts any bug-tracker links (Jira, Linear, GitHub Issues, GitLab, YouTrack, ClickUp, Asana, etc.) found in any of those texts. Returns the task data plus a deduplicated list of bug links.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Full ProofHub task URL (preferred). If supplied, project_id/list_id/task_id are ignored. | |
| project_id | No | ||
| list_id | No | ||
| task_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries burden. It explains the main steps (fetch task, comments, extract links) and notes that URL overrides IDs. However, it does not disclose potential failure modes, rate limits, or authentication needs. Also, 'all comments' may be ambiguous regarding pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, using two sentences to convey the core functionality. However, the first sentence is dense and could benefit from bullet points or clearer separation of steps.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (combined fetch and extraction), low schema coverage, and no output schema, the description lacks detail on return format (e.g., structure of task data, list of links format) and how comments are fully retrieved (e.g., pagination). Incomplete for an agent to invoke confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25% (only 'url' described). The description adds that URL is preferred and other IDs are ignored if URL supplied, but provides no context for project_id, list_id, task_id (e.g., how to obtain them). This leaves ambiguity for those parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it fetches task description and comments, then extracts bug-tracker links, returning deduplicated links. This distinguishes it from siblings like proofhub_get_task (task only) and proofhub_get_comments (comments only).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions it's a 'one-shot tool' but does not explicitly state when to use it over alternatives, nor when not to use it (e.g., if only task data needed). No guidance on prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proofhub_parse_urlA
Parse a ProofHub task URL and return the project ID, list ID, and task ID embedded in it. Use this as the first step before calling other ProofHub tools.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Full ProofHub task URL, e.g. https://kpi.proofhub.com/bappswift/#app/todos/project-7189443252/list-270280503800/task-514774338823 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully explains the behavior: parsing a URL and extracting three IDs. It does not cover error handling for malformed URLs, but for a low-risk transformation the disclosure is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief (two sentences) and front-loaded with the action. Every sentence adds essential information: what it does and when to use it. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description adequately covers the return values (three IDs) and usage context. It could explicitly state the output format, but the implied return is sufficient for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes the 'url' parameter fully (100% coverage with example). The description adds value by explaining what IDs are extracted from the URL, going beyond the schema's structural description to convey the tool's purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Parse a ProofHub task URL and return the project ID, list ID, and task ID.' This is a specific verb-resource pair that distinguishes it from sibling tools that create, get, or fetch different entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises 'Use this as the first step before calling other ProofHub tools,' providing clear sequential context. It does not mention alternatives or when not to use, but the guidance is sufficiently direct for a simple preprocessing tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
6 tool updates
v1.0.0- First observed
proofhub_create_comment - First observed
proofhub_get_comments - First observed
proofhub_get_task - First observed
proofhub_get_task_history - First observed
proofhub_get_task_with_bug_links - First observed
proofhub_parse_url
TDQS
Each tool has a clearly distinct purpose: creating comments, fetching comments, getting task details, getting task history, a composite bug-link extractor, and a URL parser. No overlap.
All tools use the 'proofhub_' prefix followed by consistent snake_case verb_noun patterns (e.g., create_comment, get_task, parse_url). Naming is uniform and predictable.
With 6 tools, the server is well-scoped for interacting with ProofHub tasks. Each tool serves a clear purpose without bloat or deficiency.
The tool set covers creation, reading, and composite extraction, but lacks update, delete, and list operations for tasks and comments. This creates notable gaps for full lifecycle management.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Remote MCP for Kanban AI boardsβmanage projects, tasks, and comments from AI tools.
Task management for people and AI agents, with scoped OAuth access to issues, projects, and docs.
130Create and manage MeisterTask projects, tasks, and notes from your AI assistant.
Secure AI access to OpenOak tasks, notes, and Kanban boards.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to retrieve Trello card information by ID or link, providing access to card details including labels, members, due dates, and attachments through a standardized interface.50MIT
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to interact with ClickUp workspaces through natural language - search tasks, manage workflows, track time, collaborate via comments, and access complete task context including comments and images.-
- FlicenseAqualityDmaintenanceConnects AI assistants to Redmine to fetch full task details by key (e.g., PROJECT-123), including tracker, subject, description, comments, and URL.119-
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage Trackfusion projects and tasks, including listing, creating, updating, and filtering tasks.1-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/mustafa-patharia/proofhub-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server