{"_id":"@chetankshirsagar/proofhub-mcp-server","name":"@chetankshirsagar/proofhub-mcp-server","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@chetankshirsagar/proofhub-mcp-server","version":"0.1.0","description":"Unofficial MCP server for ProofHub — read tasks, move them through workflow stages, update status, comment, and more from Claude.","type":"module","main":"dist/index.js","bin":{"proofhub-mcp-server":"dist/index.js"},"publishConfig":{"access":"public"},"scripts":{"build":"tsc","start":"node dist/index.js","dev":"tsc --watch"},"keywords":["mcp","model-context-protocol","proofhub","claude","claude-code","project-management","task-management"],"author":{"name":"Chetan Kshirsagar","email":"chetankshirsagar87@gmail.com","url":"https://github.com/CH3T4N87"},"repository":{"type":"git","url":"git+https://github.com/CH3T4N87/proofhub-mcp-server.git"},"bugs":{"url":"https://github.com/CH3T4N87/proofhub-mcp-server/issues"},"homepage":"https://github.com/CH3T4N87/proofhub-mcp-server#readme","license":"MIT","dependencies":{"@modelcontextprotocol/sdk":"^1.12.0","zod":"^3.23.8"},"devDependencies":{"@types/node":"^22.10.2","typescript":"^5.7.2"},"engines":{"node":">=18"},"_id":"@chetankshirsagar/proofhub-mcp-server@0.1.0","gitHead":"65c54dcba2dfead3ea99101507b837632aa0763f","_nodeVersion":"24.13.0","_npmVersion":"10.9.9","dist":{"integrity":"sha512-nOrpAHFO0w5qI6y0xCWmkzG+BrM+7xiMd5C6tJzwsFzz7xwdQN8ssgXYqbUl66lbbOnvauigwrbpITHGcSkg6g==","shasum":"8226a1661a828d0fb32b070b770e0f5fcbb28bab","tarball":"https://registry.npmjs.org/@chetankshirsagar/proofhub-mcp-server/-/proofhub-mcp-server-0.1.0.tgz","fileCount":5,"unpackedSize":22993,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCjsD03p38ozuKJZHP/ULStJNADYWtC7hvFjmhYVxspHgIgQ4sYq72K1XTqOz2dagkV4MOw1Lq4OdGNMJhXiQ+YJ/M="}]},"_npmUser":{"name":"chetankshirsagar","email":"chetankshirsagar87@gmail.com"},"directories":{},"maintainers":[{"name":"chetankshirsagar","email":"chetankshirsagar87@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/proofhub-mcp-server_0.1.0_1787910823500_0.4832545748406023"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-28T09:53:43.323Z","0.1.0":"2026-08-28T09:53:43.637Z","modified":"2026-08-28T09:53:43.863Z"},"maintainers":[{"name":"chetankshirsagar","email":"chetankshirsagar87@gmail.com"}],"description":"Unofficial MCP server for ProofHub — read tasks, move them through workflow stages, update status, comment, and more from Claude.","homepage":"https://github.com/CH3T4N87/proofhub-mcp-server#readme","keywords":["mcp","model-context-protocol","proofhub","claude","claude-code","project-management","task-management"],"repository":{"type":"git","url":"git+https://github.com/CH3T4N87/proofhub-mcp-server.git"},"author":{"name":"Chetan Kshirsagar","email":"chetankshirsagar87@gmail.com","url":"https://github.com/CH3T4N87"},"bugs":{"url":"https://github.com/CH3T4N87/proofhub-mcp-server/issues"},"license":"MIT","readme":"# ProofHub MCP Server\n\n[![npm version](https://img.shields.io/npm/v/%40chetankshirsagar%2Fproofhub-mcp-server.svg)](https://www.npmjs.com/package/@chetankshirsagar/proofhub-mcp-server)\n[![license: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE)\n\n**Read, update, and move your ProofHub tasks from any AI assistant that speaks MCP.**\n\nAn unofficial [Model Context Protocol](https://modelcontextprotocol.io) (MCP) server for [ProofHub](https://www.proofhub.com), built against ProofHub's [official v3 REST API](https://github.com/ProofHub/api_v3). MCP is an open standard — this works with **Claude Code, Claude Desktop, Cursor, Windsurf, Cline, and any other MCP-compatible client**, not just Claude.\n\n> No official ProofHub MCP server exists (as of writing). This fills that gap.\n\n---\n\n## What it can do\n\n| Category | Tools |\n|---|---|\n| **Read** | `get_my_tasks`, `get_task`, `list_projects`, `list_todolists`, `list_people`, `list_labels`, `list_task_comments` |\n| **Write** | `create_task`, `update_task`, `complete_task`, `update_task_status`, `move_task`, `add_task_comment` |\n\nAsk your assistant things like:\n- *\"What ProofHub tasks are assigned to me right now?\"*\n- *\"Move task #4521 to the In Review stage.\"*\n- *\"Mark the 'Update pricing page' task as done and comment that it's live.\"*\n- *\"Create a task in the Marketing project for next week's newsletter.\"*\n\n## Requirements\n\n- Node.js 18+\n- A ProofHub account with API access\n- Any MCP-compatible client — e.g. [Claude Code](https://claude.com/claude-code), [Claude Desktop](https://claude.com/download), [Cursor](https://cursor.com), [Windsurf](https://windsurf.com), or [Cline](https://github.com/cline/cline)\n\n## Setup\n\n### 1. Get your ProofHub API key\n\nIn ProofHub, open the **Manage profile** dropdown and click your profile picture **5 times**. A popup reveals your personal API key.\n\nAlso note your **subdomain** — if you access ProofHub at `https://acme.proofhub.com`, your domain value is `acme`.\n\n### 2. Add the server to your MCP client\n\n**Claude Code** — run this in your terminal:\n\n```bash\nclaude mcp add proofhub \\\n  -e PROOFHUB_DOMAIN=acme \\\n  -e PROOFHUB_API_KEY=your-api-key-here \\\n  -- npx -y @chetankshirsagar/proofhub-mcp-server\n```\n\n**Claude Desktop / other clients** — add this to your MCP config file:\n\n```json\n{\n  \"mcpServers\": {\n    \"proofhub\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@chetankshirsagar/proofhub-mcp-server\"],\n      \"env\": {\n        \"PROOFHUB_DOMAIN\": \"acme\",\n        \"PROOFHUB_API_KEY\": \"your-api-key-here\"\n      }\n    }\n  }\n}\n```\n\nNo cloning or manual build required — `npx` fetches and runs the published package on demand.\n\n#### Using it with Cursor, Windsurf, Cline, or another MCP client\n\nNearly every MCP client uses the same `mcpServers` JSON shape as Claude Desktop above — just add it to that client's MCP config file instead:\n\n| Client | Config file location |\n|---|---|\n| Cursor | `.cursor/mcp.json` (project) or `~/.cursor/mcp.json` (global) |\n| Windsurf | `~/.codeium/windsurf/mcp_config.json` |\n| Cline (VS Code) | via the Cline panel → **MCP Servers** → **Configure** |\n\nThe JSON block itself is identical to the Claude Desktop example above:\n\n```json\n{\n  \"mcpServers\": {\n    \"proofhub\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@chetankshirsagar/proofhub-mcp-server\"],\n      \"env\": {\n        \"PROOFHUB_DOMAIN\": \"acme\",\n        \"PROOFHUB_API_KEY\": \"your-api-key-here\"\n      }\n    }\n  }\n}\n```\n\nCheck your client's docs if the exact file path has moved — the `mcpServers` block itself is the part that's standardized.\n\n### 3. (Recommended) Set your user ID\n\n`get_my_tasks` needs to know who \"you\" are. Start a session and ask your assistant to run `list_people`, find yourself in the list, and note your `id`. Then add it to your config so you never have to repeat it:\n\n```bash\nclaude mcp remove proofhub\nclaude mcp add proofhub \\\n  -e PROOFHUB_DOMAIN=acme \\\n  -e PROOFHUB_API_KEY=your-api-key-here \\\n  -e PROOFHUB_USER_ID=your-person-id \\\n  -- npx -y @chetankshirsagar/proofhub-mcp-server\n```\n\n### 4. Try it\n\nStart a new session and ask: **\"Show me my ProofHub tasks.\"**\n\n## Environment variables\n\n| Variable | Required | Description |\n|---|:---:|---|\n| `PROOFHUB_DOMAIN` | ✅ | Your ProofHub subdomain (the `acme` in `acme.proofhub.com`) |\n| `PROOFHUB_API_KEY` | ✅ | Your personal API key |\n| `PROOFHUB_USER_ID` | – | Your ProofHub person ID — default for `get_my_tasks` so you don't have to pass it every time |\n| `PROOFHUB_USER_AGENT` | – | Identifies this app to ProofHub's API. Defaults to a generic string |\n\n## A note on workflow stages\n\nProofHub's API doesn't expose a \"list stages for this workflow\" endpoint. To move a task with `update_task_status`, you need the target stage's ID. The simplest way to find it: call `get_task` on any task already sitting in the stage you want — its `stage.id` field has what you need.\n\n## Rate limits\n\nProofHub allows 25 requests per 10 seconds per account/IP. This server surfaces `429` responses as tool errors rather than retrying automatically — if you hit one, wait a few seconds and try again.\n\n## Local development\n\n```bash\ngit clone https://github.com/CH3T4N87/proofhub-mcp-server.git\ncd proofhub-mcp-server\nnpm install\nnpm run build   # compiles src/ -> dist/\nnpm run dev      # watch mode\n```\n\nPoint your MCP client at `node /absolute/path/to/dist/index.js` instead of `npx` while developing locally.\n\n## Contributing\n\nIssues and PRs welcome — this covers the core task/project/comment workflow but ProofHub's API has more surface area (timesheets, notebooks, request forms, files) that isn't wired up yet.\n\n## Disclaimer\n\nThis is an unofficial, community-built integration. It is not affiliated with, endorsed by, or supported by ProofHub. Use at your own risk, and double-check destructive actions (moving or completing tasks) before confirming them.\n\n## License\n\n[MIT](./LICENSE) © [Chetan Kshirsagar](https://github.com/CH3T4N87)\n","readmeFilename":"README.md","_rev":"1-6831b664546f600847ebf0ea975c893d"}