mcpField
C
cueport

cueport

本地服务
github.com/CloudCorpRecordsAI 与智能体01 周前更新

关于 cueport

cueport 是面向 CueAPI 的命令行工具和 stdio MCP 服务,CueAPI 用于协调已安排的 Agent 工作。它管理提示任务和执行流程,包括工作者认领、心跳续期及附带证据的结果报告。

主要功能

  1. 01创建和管理定时提示任务
  2. 02按需触发提示任务
  3. 03跟踪任务执行情况
  4. 04列出并认领工作者执行项
  5. 05通过心跳续期认领
  6. 06提交附带证据的结果

适用场景

  1. 01安排周期性或一次性 Agent 工作
  2. 02立即触发提示任务
  3. 03将可认领的执行项分配给工作者
  4. 04维持工作者认领并提交结果

MCP 相关

它可作为 stdio MCP 服务运行,向 MCP 客户端提供提示任务调度和执行协调工具,包括认领、心跳及结果报告。调用需要 CueAPI 密钥,也可配置其他兼容 API 的主机。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cloudcorprecords-cueport": {
"command": "npx",
"args": [
"-y",
"@reneturcios/cueport"
]
}
}
}
启动命令npx -y @reneturcios/cueport

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@reneturcios/cueport0.1.0
ocighcr.io/cloudcorprecords/cueport:0.1.0

工具

15

收录的工具列表 · 更新于 1 周前

参数类型必填说明
namestring是提示名称。
methodstring否回调请求的 HTTP 方法。
platformstring否与提示关联的平台。
schedulestring是计划表达式,例如定期提示的 cron 表达式,或一次性提示的 at 时间。
timezonestring否用于计算计划时间的时区,例如 UTC。
task_namestring否与提示关联的任务名称。
descriptionstring否提示的描述。
callback_urlstring否提示触发时调用的回调 URL。
default_payloadobject否提示触发时发送的默认负载对象。
required_payload_keysarray否提示所需负载键的列表。
require_payload_overrideboolean否触发提示时是否必须覆盖负载。

详细介绍

cueport

cueport 可让 MCP 主机或终端访问 CueAPI。CueAPI 是 Agent 工作的协调层:可安排提示(周期性 cron 或一次性)、按需触发提示、查看执行情况、认领工作器执行任务、通过心跳保持认领有效,并通过提交有证据支持的结果来完成闭环。一个二进制文件同时提供命令行界面和 stdio MCP 服务。

需要 API 密钥。将 CueAPI 账户中的密钥设为 CUEAPI_API_KEY;每次调用都会以 Authorization: Bearer <key> 发送该密钥,若未提供密钥,则会在发出任何请求前失败。 若要自行托管或针对其他主机进行测试,请将 CUEAPI_BASE_URL 与密钥一并设置;未设置时,调用将发送至 https://api.cueapi.ai。

安装

npx @reneturcios/cueport list-cues

或者运行容器镜像:

docker run -i ghcr.io/cloudcorprecords/cueport

容器默认启动 MCP 服务(见下文)。传入 CLI 参数即可将其用作 CLI。

CLI

cueport create-cue --name digest --schedule "0 9 * * *" --callback-url https://example.test/hook
cueport list-cues --status active --limit 5
cueport get-cue cue_abc123
cueport fire-cue cue_abc123 --payload-override '{"topic":"release notes"}'
cueport update-cue cue_abc123 --name "morning digest"
cueport pause-cue cue_abc123
cueport resume-cue cue_abc123
cueport delete-cue cue_abc123
cueport list-executions --cue-id cue_abc123 --status failed
cueport get-execution exec_123
cueport list-claimable --task digest --agent worker-a
cueport claim-execution exec_123 --worker-id worker-7
cueport claim-next --task-name digest --worker-id worker-7
cueport heartbeat exec_123 --worker-id worker-7
cueport report-outcome exec_123 --outcome succeeded --external-id ext_42 --result-url https://example.test/result

cueport --version

命令会输出上游 JSON 负载。退出码:成功时为 0;调用失败时为 1(包括缺少 API 密钥或上游 API 错误);用法错误时为 2。

有两种行为值得了解。暂停和恢复不是独立端点:两者都是携带 paused 或 active 状态字段的 PATCH /v1/cues/{id}。而 claim-next 是扇出操作,并非单次调用:认领端点没有任务筛选器,因此工具会先获取服务器端筛选后的可认领列表,选出最早的一项,然后按 ID 认领该执行任务。

MCP 服务

一个二进制文件同时提供两种使用方式。mcp 子命令会启动 stdio MCP 服务:

npx -y @reneturcios/cueport mcp

MCP 客户端配置:

{
  "mcpServers": {
    "cueport": {
      "command": "npx",
      "args": ["-y", "@reneturcios/cueport", "mcp"],
      "env": {
        "CUEAPI_API_KEY": "cue_sk_..."
      }
    }
  }
}

在 env 区块中添加 CUEAPI_BASE_URL,即可让服务指向其他兼容 CueAPI 的主机。

工具
工具输入功能
cueapi_create_cuename、schedule(必填);可选的 description、callback、method、timezone、payload、task 和 platform 字段创建周期性或一次性提示。
cueapi_list_cuesstatus、limit(可选)列出提示,可按状态筛选。
cueapi_get_cuecue_id获取一个提示。
cueapi_fire_cuecue_id;可选的 payload_override、merge_strategy(默认为 merge,或使用 replace)立即触发提示。
cueapi_update_cuecue_id 加任意可变提示字段稀疏更新;仅发送已提供的字段。
cueapi_pause_cuecue_id暂停提示(使用状态 paused 执行 PATCH)。
cueapi_resume_cuecue_id恢复提示(使用状态 active 执行 PATCH)。
cueapi_delete_cuecue_id永久删除提示。
cueapi_list_executionscue_id、status、limit(可选)列出执行任务,可按提示和状态筛选。
cueapi_get_executionexecution_id获取一个执行任务及其状态和结果。
cueapi_list_claimable_executionstask、agent、limit(可选)列出未认领的工作器执行任务,可在服务器端筛选。
cueapi_claim_executionexecution_id;可选的 worker_id以原子方式认领一个执行任务。
cueapi_claim_next_executiontask_name、worker_id(可选)认领最早的可认领执行任务。
cueapi_execution_heartbeatexecution_id、worker_id(均为必填)延长认领租期;worker_id 会通过 X-Worker-Id 标头传递。
cueapi_report_outcomeexecution_id、outcome(必填);可选的 evidence 字段提交附带证据的只写一次结果。

开发

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev     # run the CLI from source via tsx

许可证

MIT — 参见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

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

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