Skip to content

griffmurder/taskbullet-agent

v1.0.1MIT

Escalate work your agent cannot finish to a TaskBullet human virtual assistant over hosted MCP (get_balance, delegate_task, list_tasks, get_task).

TaskBullet Agent plugin

Escalate work a language model cannot finish to a human TaskBullet virtual assistant.

This plugin wires Grok Bot / Cursor to the hosted remote MCP:

https://taskbullet.com/api/agent-mcp

It does not use npx @taskbullet/mcp-server (that is laptop-only stdio). Cloud Grok Bots cannot run npx.

What you get

ToolPurpose
get_balanceRemaining hours and whether delegate_task will be accepted. Call this first.
delegate_taskQueue a VA task (title, description, priority, dueDate, sourceAgent, optional webhookUrl)
list_tasksRecent delegated tasks (title + short result)
get_taskStatus + result for a taskId

Plus skill escalate-to-va: call get_balance first, confirm spend, then delegate_task for phone / 2FA / captcha / physical-world / subjective QA / long manual work. Never invent VA results.

Install (until the marketplace lists it)

  1. Create a key at taskbullet.com/dashboard/settings/api-keys.
  2. In Grok Bot: Settings → Plugins → custom MCP (or Add connector).
  3. URL: https://taskbullet.com/api/agent-mcp
  4. Paste the tb_live_… key into connector auth (x-api-key or Bearer token). This is API key only — not OAuth. If a connect card / needsAuth appears, dismiss it; header auth is enough. Plugin variable: TASKBULLET_API_KEY.

Cursor / Grok Build mcp.json:

[mcp_servers.taskbullet_agent]
url = "https://taskbullet.com/api/agent-mcp"
headers = { "x-api-key" = "tb_live_YOUR_KEY" }
enabled = true

Team marketplace: import this GitHub repo. Set plugin variable TASKBULLET_API_KEY under Plugins → Configure.

Auth

  • Header x-api-key: tb_live_…
  • Authorization: Bearer tb_live_… also accepted
  • Unauthenticated GET returns public metadata (auth.required: true). Tools stay locked.

Docs

Hours are 402-gated. Unprovisioned accounts return 409 until onboarding is complete. Completions come back on get_task and via signed webhooks if you passed webhookUrl.

Marketplace submit

Until those listings are approved, SearchPlugins will not find TaskBullet. Custom URL + key still works.