Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Proofhub

FreeNot checked

A zero-dependency MCP server for ProofHub that provides tools to manage tasks, projects, and comments, and includes BMAD sharding to turn tickets into self-cont

GitHubEmbed

About

A zero-dependency MCP server for ProofHub that provides tools to manage tasks, projects, and comments, and includes BMAD sharding to turn tickets into self-contained stories.

README

ProofHub for Claude Code — a zero-dependency MCP server (and a CLI) over the ProofHub v3 API, with a BMAD ticket-to-story sharder. Bring your own key; nothing about your account ships in the package.

  • MCP server (primary): 16 native tools to list / create / comment / complete tasks, advance tasks through board stages, and shard tickets into self-contained BMAD stories.
  • Context: set a project + todolist once — skip the IDs for every subsequent call.
  • CLI (bundled): the same operations from your terminal, CI, or cron.
  • Slash commands (bundled): /proofhub:setup (guided config + verify) and /proofhub:help (tools + context workflow).

Install as a Claude Code plugin

/plugin marketplace add yashmody/proofhub-mcp
/plugin install proofhub@proofhub-mcp

Then provide your key (bring-your-own-key). The fastest path is the guided command — run /proofhub:setup and it will configure and verify for you. To do it by hand:

Recommended — .claude/settings.local.json (launch-independent). Add an env block to the project's gitignored .claude/settings.local.json, then fully restart Claude Code:

{
  "env": {
    "PROOFHUB_ACCOUNT": "yourteam",
    "PROOFHUB_API_KEY": "your-api-key"
  }
}

⚠️ A shell export in ~/.zshrc works only when you launch Claude Code from a terminal. Started from the macOS Dock/Finder, Claude Code doesn't source your shell, so the .mcp.json placeholder ${PROOFHUB_API_KEY} resolves empty and ProofHub returns WRONG ACCESS TOKEN (code 1001). The settings.local.json env block avoids that. .claude/settings.json is committed — never put the key there.

Alternatives:

# Config file — any terminal, persists at ~/.config/proofhub/config.json (chmod 600)
proofhub login --account yourteam --key your-api-key

# Shell env — only if you always launch Claude Code from a terminal
export PROOFHUB_ACCOUNT="yourteam" PROOFHUB_API_KEY="your-api-key" && claude

Run /mcp to confirm the proofhub server is connected (or proofhub doctor from a terminal). Tools then appear as mcp__proofhub__list_tasks, mcp__proofhub__create_task, mcp__proofhub__shard_to_story, etc. Stuck? /proofhub:setup diagnoses and fixes it.

Context + stages

Set a current project and list once so you don't have to repeat IDs:

/proofhub use 9654620832
/proofhub use-list 271191425865
/proofhub status          # confirm saved context
/proofhub add "QA smoke"  # no IDs needed
/proofhub find "QA"       # search across lists
/proofhub next 293931     # advance one stage automatically
/proofhub stage 293931 Review  # move to a named stage
/proofhub move 293931 --to-list 99887766

Stages are discovered automatically by scanning tasks — no API endpoint lists them. The order defaults to stage-id ascending (best-effort board order). Override with:

/proofhub stages --set "Backlog,In Progress,Review,Done"

Or via the MCP tool: set_context with stageOrder: "Backlog,In Progress,Review,Done".

MCP tools (16)

Tool Does
set_context save project / todolist / stageOrder as context
get_context show current context
list_projects list projects
list_todolists list task lists (defaults to context)
list_tasks list tasks in a todolist (defaults to context)
get_task full JSON for one task (defaults to context)
create_task create a task (defaults to context)
comment comment on a task (defaults to context)
complete mark a task complete (defaults to context)
reopen reopen (un-complete) a task (defaults to context)
find_task search tasks by title across all lists (defaults to context)
list_stages discover board stages in id-ascending order (defaults to context)
set_stage move task to a specific stage by name or id (defaults to context)
next_stage advance task one stage forward automatically (defaults to context)
move_task move task to another list / project (defaults to context)
shard_to_story BMAD: shard a ticket into a self-contained story file

All task-scoped tools accept project and todolist as optional overrides; they default to saved context. required is [] on those tools.

Environment overrides

Variable Purpose
PROOFHUB_ACCOUNT ProofHub subdomain or full hostname
PROOFHUB_API_KEY API key
PROOFHUB_PROJECT Override saved context project (highest priority)
PROOFHUB_TODOLIST Override saved context todolist (highest priority)
PROOFHUB_STATE_PATH Override context state file path (default ~/.config/proofhub/state.json)

BMAD sharding

shard_to_story turns a ProofHub ticket into a story with Context / Acceptance Criteria / Dev Notes / Tasks-Subtasks and a suggested owner role + model tier — BMAD's core move of embedding full context so the dev agent isn't guessing. See templates/story.md.

CLI (bundled)

export PROOFHUB_ACCOUNT=... PROOFHUB_API_KEY=...
npx -p proofhub-mcp proofhub projects          # or, installed: proofhub projects
proofhub use <projectId>
proofhub use-list <todolistId>
proofhub add "My task"
proofhub find "keyword"
proofhub next <ticket>
proofhub stage <ticket> "Review"
proofhub move <ticket> --to-list <id>
proofhub done <ticket>
proofhub comment <projectId> <todolistId> <ticket> --body "..."

Notes

  • Auth header is X-API-KEY (not Bearer); a User-Agent is set automatically. The client throttles to ~25 req/10s and honours Retry-After.
  • ProofHub returns some errors as HTTP 200 with a {code,message} envelope — the client surfaces those as errors. Mutations resolve the internal task id from the ticket number automatically.
  • In-list stage changes use a plain { stage } PUT. A cross-list move uses move_task: true and must include project — ProofHub returns a {code:1301} "Invalid request" without it.
npm test      # no-network self-test

MIT © Yash Mody

from github.com/yashmody/proofhub-mcp

Install Proofhub in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install proofhub-mcp

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add proofhub-mcp -- npx -y proofhub-mcp

FAQ

Is Proofhub MCP free?

Yes, Proofhub MCP is free — one-click install via Unyly at no cost.

Does Proofhub need an API key?

No, Proofhub runs without API keys or environment variables.

Is Proofhub hosted or self-hosted?

A hosted option is available: Unyly runs the server in the cloud, no local setup required.

How do I install Proofhub in Claude Desktop, Claude Code or Cursor?

Open Proofhub on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Proofhub with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs