mcpField
T
TaskBullet

TaskBullet

远程服务
taskbullet.com通信协作06 天前更新

关于 TaskBullet

TaskBullet 的 MCP 服务让 AI Agent 能在美国和加拿大拨打电话,也能委派未完成的工作任务。服务还提供任务与通话状态、余额查询及人工确认流程。

主要功能

  1. 01拨打美国和加拿大的电话
  2. 02委派并跟踪工作任务
  3. 03查询余额、通话和任务状态
  4. 04验证通话费用并管理预留金额
  5. 05提供通话摘要而非录音

适用场景

  1. 01致电诊所预约并获取确认信息
  2. 02联系供应商查询订单状态
  3. 03将未完成的工作委派给人工处理

MCP 相关

Agent MCP 服务向客户端提供电话、任务委派、余额和状态管理工具;可通过本地 stdio 或托管 HTTP 连接。另有无需密钥的只读网站指南 MCP 服务。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://taskbullet.com/api/agent-mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://taskbullet.com/api/agent-mcp需要授权
安装包
npm@taskbullet/mcp-server0.2.1

工具

详细介绍

你的 AI Agent 可以拨打真实电话。

有人拨打电话号码。你的 Agent 会收到答复。该服务是 @taskbullet/mcp-server。

npm version MIT License

定价

首分钟收费 $2.50,之后每增加一分钟收费 $1。费用从通话钱包扣除,而不是从预付 VA 小时数中扣除。仅支持美国和加拿大号码。不提供录音功能。若系统故障导致电话始终未拨出,将全额退款。

get_balance 会显示 balance_cents(扣除未结算预授权后的可用余额)、holds_cents 和 wallet_cents。默认 max_minutes 为 5。按上述费率,五分钟收费 $6.50。validate_call 会返回你即将发送的请求正文对应的 hold_cents,且不会冻结资金。请使用 hold_cents。

HTTP 402 payment_required 表示钱包余额不足以支付预授权金额。请前往 addFundsUrl 充值。读取该链接不会创建 Stripe 会话。通话按次付费,不提供试用。

示例提示词

安装服务后,将以下任一内容复制到 Agent 中。在提示词中填写真实的美国或加拿大号码。不要在其中填写密码、一次性验证码或 API 密钥。

预约:

Call the dentist and book me the earliest appointment next Tuesday after 1pm. The office is Bright Smile Dental at (801) 555-0148. Ask which times they have, book one, and bring back the time and any confirmation number. Confirm the hold with me before you place the call. Do not record it.

致电供应商查询订单:

Call Northwind Supply at (415) 555-0199 and check order NW-10442. Ask whether it shipped, the carrier, and the tracking number. Confirm the hold with me before you place the call. US number, no recording.

确认预订:

Call Harbor Grill at (206) 555-0177 and confirm the reservation for Alex Chen, party of 4, this Friday at 7:00pm. Ask them to say the name, time, and party size back. Confirm the hold with me before you place the call. Do not record it.

安装

在 taskbullet.com/dashboard/settings/api-keys 创建密钥。密钥只会显示一次。下方按钮会安装占位符 tb_live_your_key_here。首次通话前,请在客户端配置中替换此占位符。不要将真实密钥粘贴到聊天中。

该配置会在你的机器上运行 npx -y @taskbullet/mcp-server。无法运行 npx 的云端 Agent 应使用Cursor 和云端 Agent中的托管 URL。

Cursor

在 Cursor 中安装 在 Cursor 中安装(浅色)

GitHub 无法打开 cursor:// 链接。请将以下内容复制到浏览器中:

cursor://anysphere.cursor-deeplink/mcp/install?name=taskbullet&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkB0YXNrYnVsbGV0L21jcC1zZXJ2ZXIiXSwiZW52Ijp7IlRBU0tCVUxMRVRfQVBJX0tFWSI6InRiX2xpdmVfeW91cl9rZXlfaGVyZSJ9fQ==

解码后的配置:

{
  "command": "npx",
  "args": ["-y", "@taskbullet/mcp-server"],
  "env": {
    "TASKBULLET_API_KEY": "tb_live_your_key_here"
  }
}
VS Code

在 VS Code 中安装

在 VS Code Insiders 中安装

vscode:mcp/install? 和 vscode-insiders:mcp/install? 携带相同的 URL 编码 JSON。name 位于该 JSON 中:

{"name":"taskbullet","command":"npx","args":["-y","@taskbullet/mcp-server"],"env":{"TASKBULLET_API_KEY":"tb_live_your_key_here"}}
Claude Code
claude mcp add taskbullet --env TASKBULLET_API_KEY=tb_live_your_key_here -- npx -y @taskbullet/mcp-server

运行前,请替换 tb_live_your_key_here。从市场安装(此仓库位于默认分支后):

/plugin marketplace add GriffMurder/taskbullet-mcp-server

然后安装 taskbullet@taskbullet。该插件会提示输入密钥,不会从 shell 中读取密钥。

JSON

Claude Desktop 和其他任何 stdio 客户端:

{
  "mcpServers": {
    "taskbullet": {
      "command": "npx",
      "args": ["-y", "@taskbullet/mcp-server"],
      "env": {
        "TASKBULLET_API_KEY": "tb_live_your_key_here"
      }
    }
  }
}

claude_desktop_config.json 的位置请参阅 MCP 快速入门。保存文件后请重启应用。

工具

以下名称、参数和限制与 src/server.ts 中的代码一致。

工具调用说明
get_balanceGET /api/v1/balance只读。可用小时数和通话钱包余额。在提出支出前调用此工具。
delegate_taskPOST /api/v1/delegate提交任务简述。必须提供 Idempotency-Key。客户在 Work 上启动任务后才会消耗实际小时数。
list_tasksGET /api/v1/tasks只读。最多返回 50 个任务。过滤条件包含 cancelled。
get_taskGET /api/v1/tasks/{taskId}只读。遇到 completed、failed 或 cancelled 时停止。awaitingCustomerConfirm 表示应询问用户。
confirm_taskPOST /api/v1/tasks/{taskId}/confirm接受交付成果并结算已记录的小时数。必须提供 Idempotency-Key。请先询问用户。
cancel_taskPOST /api/v1/tasks/{taskId}/cancel释放预留额度,仅按已记录的时间计费。必须提供 Idempotency-Key。请先询问用户。
reopen_taskPOST /api/v1/tasks/{taskId}/reopen退回交付成果。必须提供 reason 和 Idempotency-Key。请先询问用户。
place_callPOST /api/v1/calls拨打一通人工电话。仅限美国和加拿大。record_call 必须为 false 或省略。必须提供 Idempotency-Key。
validate_callPOST /api/v1/calls/validate检查请求正文。不创建任何内容,也不预留额度。返回 hold_cents。
get_callGET /api/v1/calls/{id}只读。包含 needs_info 或最终结果。
update_callPATCH /api/v1/calls/{id}在通话处于 needs_info 状态时补充缺失字段。
cancel_callPOST /api/v1/calls/{id}/cancel请求运营团队取消。运营团队确认前,状态保持为 cancel_pending。若在拨号前确认,会退还预留额度。拨号开始后,错误为 cancel_too_late,通话仍会正常计费。
get_transcriptGET /api/v1/calls/{id}/transcript.txtVA 通话结束总结,并非录音。source 为 wrap_up_summary,recorded 为 false。内容为空时表示 transcript_not_ready。未拨号时为 no transcript: call not placed。拨号开始后取消则为 call_cancelled。

delegate_task 参数:title(必填,最多 5000 字符)、description(最多 8000 字符)、priority(low | normal | high | urgent,默认值为 normal)、dueDate、sourceAgent、webhookUrl(https)、maxHours(默认值为 0.5,最多 8)和 idempotencyKey(必填)。该值会作为 Idempotency-Key 标头发送,不会放入 JSON 正文。重复请求会返回原任务。

tb_live_ 密钥会提交任务简述。客户在 Work 上启动任务后,VA 才会开始计时。awaiting_customer_start 表示任务尚未开始。不要说助手已开始工作。轮询 get_task,直到状态变为 completed、failed 或 cancelled,也可以传入 webhookUrl。当 get_task 显示 awaitingCustomerConfirm 时,先询问用户,再调用 confirm_task、cancel_task 或 reopen_task。未经用户同意,不要确认、取消或重新打开任务。客户取消时,状态为 cancelled,且不会发送完成 webhook。如果无人确认,由 Agent 创建的任务会在 3 天后自动确认。

maxHours 是支出上限。计费依据为已记录的时间(按 15 分钟取整)。HTTP 402 表示实时余额不大于零。请通过 addHoursUrl 购买小时数(该链接指向套餐页面,而非新的试用)。HTTP 422 表示上限无法纳入当前未结上限:小时数仍然可用,请将 maxHours 调低至 capRoom,或等待。HTTP 503 表示没有可用小时数。这不是购买小时数错误。

切勿在任务简述或通话中提供密码、OTP 代码、恢复密钥、Cookie 或 API 密钥。服务会在本地删除这些内容,API 也会拒绝此类请求。 人工电话应使用 place_call,而不是 delegate_task。必填字段包括 phone、business_name、purpose(info、scheduling、account_servicing 或 vendor_ops)、goal(最多 4000 个字符)、questions(1 至 20 项,每项为 {id, ask, type?};id 最多 80 个字符,ask 最多 1000 个字符)、on_behalf_of、deadline(ISO-8601)、consent_attestation(true)和 idempotencyKey。max_attempts 默认值为 3,最大值为 5。max_minutes 默认值为 5,最大值为 60。language 可设为 en、fil、tl、war 或 ceb。

只能拨打美国和加拿大的号码。record_call 必须为 false 或省略。设为 true 会在本地被拒绝,不会发送任何内容。冻结金额涵盖整个通话:第一分钟按套餐最低收费计算,之后按分钟费率收费。默认通话时长为 5 分钟的 tier 1 通话会冻结 $6.50。validate_call 使用相同的请求体,但不包含 idempotencyKey;应以其 hold_cents 数值为准。即使钱包余额不足,valid 仍会保持为 true。此时 warnings 会包含 insufficient_balance。place_call 按次从通话钱包扣款。轮询 get_call,或传入 https callback_url。如果通话时间不在接听方所在时区工作日的 09:00–17:00 之间,则须在客户确认后设置 allow_outside_business_hours: true。此时,deadline 需要至少留出 60 分钟的实际时间。

update_call 接受 call_id 以及相同请求体中的任意字段。get_call、cancel_call 和 get_transcript 接受 call_id。

TaskBullet Hub

TaskBullet Hub 为 Agent 提供一个 MCP 连接,并提供人工后备支持。

共有两个服务:

服务URL身份验证功能
Agent(此软件包及托管远程服务)https://taskbullet.com/api/agent-mcpx-api-key: tb_live_…get_balance、delegate_task、list_tasks、get_task、confirm_task、cancel_task、reopen_task、place_call、validate_call、get_call、update_call、cancel_call、get_transcript
公共网站指南https://taskbullet.com/api/mcp无只读营销信息:服务、定价、雇主与求职者的分流

公共网站服务无法查看客户账户、电子邮件、工作经历或内部文档。任务委派功能仅在 Agent 服务上提供。

Cursor 和云端 Agent

云端 Agent(Cursor cloud、Grok、托管版 Claude)应使用托管 Agent URL。它们无法运行 npx。

{
  "mcpServers": {
    "taskbullet": {
      "url": "https://taskbullet.com/api/agent-mcp",
      "headers": {
        "x-api-key": "tb_live_your_key_here"
      }
    }
  }
}
OpenClaw

龙虾无法创建账户或生成密钥。请按顺序告知用户:

  1. 没有账户 → https://taskbullet.com/get-started?source=openclaw(10 小时,无需信用卡)
  2. 在 https://taskbullet.com/dashboard/settings/api-keys 生成 tb_live_…(只显示一次)
  3. 将其粘贴到 Gateway 环境变量 TASKBULLET_API_KEY 中,并将 Agent MCP 指向 https://taskbullet.com/api/agent-mcp,同时设置请求头 x-api-key。然后重启。切勿在聊天中粘贴密钥。

使用 openclaw skills install @griffmurder/taskbullet 安装技能。单次人工电话使用通话钱包上的 place_call。其他未完成的工作则先调用 get_balance,确认支出后再调用 delegate_task。没有密钥 → 使用上述试用网址。已提供密钥时,按小时服务返回的 HTTP 402 页面是套餐页面,不是第二次试用。已提供密钥时,通话返回的 HTTP 402 页面表示需要充值,不是试用。

本地 Gateway 也可以通过 stdio 启动此软件包(npx -y @taskbullet/mcp-server),并在环境中设置 TASKBULLET_API_KEY。

公共网站指南(无需密钥)

只读。可以安全地与 Agent 服务一同添加。

{
  "mcpServers": {
    "taskbullet-site": {
      "url": "https://taskbullet.com/api/mcp"
    }
  }
}

调用 understand_site,然后调用 match_intent。求职者不属于雇主转化。

本地流式 HTTP

默认使用 Stdio。--http 会在环回地址上提供流式 HTTP:

export TASKBULLET_API_KEY="tb_live_your_key_here"
npx -y @taskbullet/mcp-server --http

端点:http://127.0.0.1:3000/mcp。密钥保留在此进程中。同一台机器上的客户端无需发送密钥。

进程仅绑定到 127.0.0.1。它会检查 Host 和 Origin,以防浏览器页面通过 DNS 重绑定使用该密钥。监听其他地址需要设置 TASKBULLET_HTTP_TOKEN。发送该令牌时使用 Authorization: Bearer …。它不是 TaskBullet API 密钥。

服务不会主动发起 SSE 流。GET 会返回 405。响应为 JSON。每个客户端地址的请求限制为每分钟 60 次,上游调用遵循 Agent API 每分钟 60 次的上限。超过 32 KiB 的请求正文会被拒绝。

插件

Cursor:plugins/taskbullet 包含此 MCP 服务、rules/delegate-call-or-task.mdc 和 skills/place-call-or-delegate/SKILL.md。这些内容会告知 Agent 何时使用 place_call,何时使用 delegate_task。仓库市场清单为 .cursor-plugin/marketplace.json。仍需手动提交到 Cursor Marketplace:cursor.com/marketplace/publish。

Claude Code:.claude-plugin/marketplace.json 列出了同一个插件。用户使用 /plugin marketplace add GriffMurder/taskbullet-mcp-server 添加该插件。Claude Code 会加载此技能,但不会加载 Cursor 规则。Claude 使用 node 和 ${CLAUDE_PLUGIN_ROOT}/server/index.js 启动随插件提供的服务端。提示词会提供 API 密钥和本地 HTTP 令牌,随插件提供的服务端只读取这些值。Cursor 仍使用 npx。

环境变量

变量必需默认值用途
TASKBULLET_API_KEY是—tb_live_… 密钥。npm 和 Cursor 从环境变量中读取。Claude 插件只读取提示词中的值。绝不会记录或复制到工具结果中。
TASKBULLET_API_BASE否https://taskbullet.com/api/v1覆盖为预发布环境地址
TASKBULLET_SOURCE_AGENT否mcp-client存储在每份任务简述上的审计标签
TASKBULLET_TRANSPORT否stdio设置为 http 以提供流式 HTTP
TASKBULLET_HTTP_HOST否127.0.0.1绑定地址。非环回地址需要令牌
TASKBULLET_HTTP_PORT否3000HTTP 端口
TASKBULLET_HTTP_TOKEN对外暴露时—npm 和 Cursor 使用的本地 HTTP 身份验证令牌。Claude 插件只读取提示词中的值。不是 TaskBullet API 密钥
TASKBULLET_HTTP_ALLOWED_ORIGINS否环回来源额外允许的浏览器 Origin 值,以逗号分隔

完成任务

  1. 轮询 get_task,直到 status 为 completed、failed 或 cancelled。当 awaitingCustomerConfirm 为 true 时,询问用户,然后调用 confirm_task、cancel_task 或 reopen_task。
  2. Webhook — 传入一个 https webhookUrl。客户关闭工作后,TaskBullet 会 POST 一个签名正文;交付等待确认时,会发送 task.awaiting_confirmation。客户取消不会发送 task.completed。请参阅 webhook 文档。
  3. 通话 — 轮询 get_call,直到通话结束,或传入一个 https callback_url。如果通话有转录内容,请使用 get_transcript 读取。

delegate_task、confirm_task、cancel_task、reopen_task 和 place_call 都需要 idempotencyKey。该软件包会将此值作为 Idempotency-Key 标头发送,不会将其放入 JSON 正文。同一账户使用相同密钥会返回原始结果。

TaskBullet 如何按小时计费

  • 小时数以预付额度形式购买,有效期为 90 天。
  • 委派的任务会分配给账户上的虚拟助手。
  • API 调用免费。工作时数在工作被记录时扣除,而非提交任务简述时扣除。
  • 电话通话不消耗这些小时数,而是消耗通话钱包余额。

文档:Agent API · OpenAPI · 网站

注册表

此版本中的 mcpName 为 io.github.GriffMurder/taskbullet。这是当前的注册表条目。发布 0.2.1 会更新该条目。首选名称 com.taskbullet/mcp 需要 DNS TXT 记录或 taskbullet.com 上的 HTTP 证明。目前尚未发布该证明,因此此软件包不会更改名称。命令、TXT 记录和目录提交信息见 PUBLISHING.md。

许可证

MIT — 请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。