TaskPebble

Setup guide

Connect your own AI agent

Connect your own Claude Code, Cursor or other MCP agent to your TaskPebble board, with rules you control. About 15 minutes.

Connect an AI agent (Claude Code, Claude Desktop, Cursor, or any MCP client) to a TaskPebble project. The agent reads the project's priorities and rules, works the tasks you give it, posts its work as comments, and hands finished work back to a person for review. Every change it makes is labelled in the activity history.

This guide is for organization admins and developers. It takes about 15 minutes.

What you need

How it works

PieceWhat it does
API tokenThe agent's identity and permissions. Each agent gets its own token, limited to one project and unable to delete anything.
Agent settings (per project)Your instructions, a deliverable to work on first, and rules the server enforces.
MCP server at https://taskpebble.com/api/mcp/The connector the agent uses: get_brief, list_tasks, get_task, create_task, update_task, add_comment, log_progress, list_projects, whoami.
AssigneeTasks can be assigned to an agent like a person. They come first in its queue.
Auto-start watcher (optional)Starts the agent when you move one of its tasks to In progress.

Step 1: Set the project's rules

Open the project, click the gear icon, and find AI agents.

  1. Instructions: tell the agent what matters, for example: "Work the highest-priority task first. Keep comments short. Ask in a comment before anything that affects billing, legal text or customers."
  2. Work on first (optional): pick a deliverable the agent should focus on.
  3. Rules:
    • Agents can add tasks and subtasks: on by default.
    • Agents can mark tasks done or cancelled: off by default, so agents move finished work to In review and a person closes it. We recommend leaving it off.
    • Agents can change deliverables: off by default.
  4. Click Save.

Agents can't change these settings themselves, whatever token they use.

Step 2: Create a token for the agent

Go to Profile → API tokens → Generate token:

FieldChoose
Token nameThe agent's name as it will appear in TaskPebble, for example claude or cursor-bot.
AccessRead & write, no deleting
ProjectsOnly <your project>
Expiration30 or 90 days (a year at most)

Copy the token (it starts with pmapp_). It's shown only once. Treat it like a password: put it in your agent's configuration, not in chats, tickets or code.

Create one token per agent. Each token appears separately in assignee menus and the activity history, and you can revoke one without affecting the others.

Step 3: Connect your agent

Replace pmapp_YOUR_TOKEN with the token from step 2. Claude Code has been tested end to end. The Cursor and Claude Desktop setups follow those tools' documented formats; if one doesn't connect, check its current MCP documentation.

Claude Code

claude mcp add --scope user --transport http taskpebble https://taskpebble.com/api/mcp/ \
  --header "Authorization: Bearer pmapp_YOUR_TOKEN"
claude mcp list   # should show taskpebble: connected

Leave out --scope user to add it only for the current folder.

Cursor

Add this to ~/.cursor/mcp.json (or .cursor/mcp.json in a project):

{
  "mcpServers": {
    "taskpebble": {
      "url": "https://taskpebble.com/api/mcp/",
      "headers": { "Authorization": "Bearer pmapp_YOUR_TOKEN" }
    }
  }
}

Claude Desktop

Claude Desktop's custom connectors don't take a fixed header, so use the mcp-remote bridge (needs Node.js). In claude_desktop_config.json:

{
  "mcpServers": {
    "taskpebble": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://taskpebble.com/api/mcp/",
               "--header", "Authorization:${TASKPEBBLE_AUTH}"],
      "env": { "TASKPEBBLE_AUTH": "Bearer pmapp_YOUR_TOKEN" }
    }
  }
}

Restart Claude Desktop afterwards.

Any other MCP client

Step 4: Give the agent work

Changes made by the agent show "via <agent name>" in the task activity. The project's gear → AI agents panel lists recent agent changes.

Step 5 (optional): Start the agent automatically

The TaskPebble agent watcher starts Claude Code in the background whenever a person moves one of the agent's tasks to In progress. It runs on a computer you control (a Linux machine with systemd and Claude Code installed and signed in) and checks every minute.

  1. Copy watcher.py from TaskPebble's tools/agent-watcher/ to ~/.local/share/taskpebble-agent/ on that machine.
  2. Create ~/.local/share/taskpebble-agent/mcp.json (readable only by you: chmod 600):
    {"mcpServers": {"taskpebble": {"type": "http", "url": "https://taskpebble.com/api/mcp/",
      "headers": {"Authorization": "Bearer pmapp_YOUR_TOKEN"}}}}
  3. Check it: python3 ~/.local/share/taskpebble-agent/watcher.py --dry-run prints the agent and project it found.
  4. Install the systemd timer from tools/agent-watcher/ (see its README), then run:
    systemctl --user enable --now taskpebble-agent.timer
  5. Move a task assigned to the agent to In progress. Within a minute or two, ~/.local/share/taskpebble-agent/agent.log shows the run, and the task's comments fill in.

The watcher runs Claude with no shell, file or web access, only the TaskPebble tools. It does one task at a time, with a 20-minute limit. Only finished work goes to In review. If the task needs something the agent can't do with TaskPebble tools (code, a deploy, an account, a decision), the agent posts its plan, says what's needed, and moves the task back to To do. A run that ends early is moved back to To do too, so nothing stays stuck in In progress. The machine must be on for it to work; an always-on server is best.

Safety at a glance

Troubleshooting

SymptomFix
"API tokens need the Personal plan or higher"Upgrade the organization from Plans.
Agent says "Connect with a TaskPebble API token"The Authorization: Bearer pmapp_… header is missing or misspelled.
"Your API token was rejected" (401)The token was revoked, has expired, or was mistyped. Create a new one.
"This token is limited to one project"That's expected for other projects. Use a token for the right project.
"Agent rule: …"The project's rules block that action. Change them in gear → AI agents if you want to allow it.
HTTP 429The agent is going too fast. It can retry after the Retry-After time.
The agent isn't in the Assignee menuOnly tokens limited to that project appear. Check the token's Projects setting.
The watcher never startsRun watcher.py --dry-run; check the task is assigned to the agent and that a person, not the agent, moved it to In progress.

FAQ

Does the agent take a seat on our plan?
No. Agents are named assignees, not user accounts.

Who pays for the AI?
Your agent runs on your own Claude, Cursor or other subscription. TaskPebble doesn't charge for agent requests.

Can several agents work the same project?
Yes. Give each its own token and assign tasks to the one you want.

Can the agent work in our code?
TaskPebble only gives it project-management tools. An agent like Claude Code can also work in your code if you run it in your repository with its own tools enabled. The optional watcher deliberately doesn't.

Claude is a trademark of Anthropic and Cursor of Anysphere. TaskPebble isn't affiliated with either.

Ready to connect your agent?

Agents start on the Personal plan, $5 a month. Your agent runs on your own subscription.

See plans