mcpField
C
cueapi

cueapi

Local
github.com/cueapiAI & Agents2Updated 24w ago

About cueapi

cueapi-mcp is CueAPI’s MCP server for agents that schedule work, inspect execution history, and report evidence-backed outcomes. It also supports claiming and processing worker executions.

Key features

  1. 01Create recurring or one-time cues
  2. 02Inspect, fire, and manage cues
  3. 03Filter and claim pending executions
  4. 04Extend execution claim leases
  5. 05Submit outcomes with evidence

Use cases

  1. 01Schedule recurring agent work
  2. 02Review a cue’s execution history
  3. 03Claim and process worker executions
  4. 04Report outcomes with an external ID or URL

MCP support

As CueAPI’s MCP server, it exposes tools for scheduling cues, querying and claiming executions, extending leases, and reporting outcomes to MCP clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"ai-cueapi": {
"command": "npx",
"args": [
"-y",
"@cueapi/mcp"
],
"env": {
"CUEAPI_API_KEY": "<CUEAPI_API_KEY>",
"CUEAPI_BASE_URL": "<CUEAPI_BASE_URL>"
}
}
}
}
Run commandnpx -y @cueapi/mcp
Environment variables to set
CUEAPI_API_KEYSecretCueAPI API key. Generate at https://cueapi.ai
CUEAPI_BASE_URLOverride the CueAPI base URL for self-hosted instances. Defaults to https://api.cueapi.ai

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@cueapi/mcp0.1.3

Tools

8

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
atstringNoISO-8601 timestamp for a one-time cue
cronstringNoCron expression for a recurring cue (e.g. '0 9 * * *')
namestringYesHuman-readable cue name
workerbooleanNoIf true, use worker transport — no callback URL needed
payloadobjectNoArbitrary JSON payload delivered with the cue
timezonestringNoIANA timezone, default 'UTC'
descriptionstringNo
callback_urlstringNoWebhook URL fired when the cue triggers (omit for worker mode)

Details

From the project README

cueapi-mcp

Official Model Context Protocol server for CueAPI, the open-source coordination layer for AI agent systems.

Give your MCP-enabled assistant (Claude Desktop, Cursor, Zed, or any other MCP host) the ability to schedule agent work, fetch execution history, and close the loop with evidence-backed outcome reports, all from inside a conversation.

Why

Agents don't finish in one call. They coordinate across time, tools, environments, agents, and humans. Every handoff is a place where silent failure hides. CueAPI closes each handoff with structured evidence: an external ID, a result URL, or an artifact. This MCP server gives the agent direct access to that surface, so the agent can both schedule its own follow-up work and report outcomes with proof.

Install

npm install -g @cueapi/mcp
# or use via npx (no install):
npx -y @cueapi/mcp

Configure (Claude Desktop)

Add this to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

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

Generate your API key at cueapi.ai. Self-hosting? Set CUEAPI_BASE_URL alongside CUEAPI_API_KEY.

Configure (Cursor / Zed / other hosts)

Any MCP host that supports stdio servers can run this. Point the host at the cueapi-mcp binary and pass CUEAPI_API_KEY in the environment.

Tools exposed

ToolWhat it does
cueapi_create_cueCreate a recurring (cron) or one-time (at) cue
cueapi_list_cuesList cues, filter by status
cueapi_get_cueFetch details for a single cue
cueapi_fire_cueFire an existing cue immediately, optional payload override
cueapi_update_cueUpdate a cue's mutable fields (name, schedule, callback, payload, etc.)
cueapi_pause_cuePause a cue so it stops firing
cueapi_resume_cueResume a paused cue
cueapi_delete_cueDelete a cue permanently
cueapi_list_executionsList historical executions, filter by cue/status
cueapi_get_executionFetch a single execution by ID, with state + outcome
cueapi_list_claimable_executionsList unclaimed worker executions, filter server-side by task/agent
cueapi_claim_executionAtomically claim a specific execution for processing
cueapi_claim_next_executionClaim the next available execution (optional task filter)
cueapi_execution_heartbeatExtend the claim lease on an in-flight execution
cueapi_report_outcomeReport write-once outcome with evidence (external ID / URL)

Example conversation

You: Schedule a daily 9am job that posts a digest to my webhook.

Assistant (uses cueapi_create_cue): Created cue cue_abc123, first fire tomorrow at 9:00 UTC.

You: Show me the last five times it ran.

Assistant (uses cueapi_list_executions): ...

Development

npm install
npm test        # vitest smoke tests for the tool surface
npm run build   # compile TypeScript to dist/
npm run dev     # run the server locally with tsx

Links

Changelog

  • 0.4.1. Add cueapi_update_cue tool: update a cue's mutable fields (name, schedule, callback URL, timezone, payload, description). Wraps PATCH /v1/cues/{id}. Sparse update — only provided fields are sent. Closes the cross-wrapper parity gap (every other client wrapper exposed update; MCP didn't until now).
  • 0.4.0. Add five execution-lifecycle tools — cueapi_get_execution, cueapi_list_claimable_executions, cueapi_claim_execution, cueapi_claim_next_execution, cueapi_execution_heartbeat. Closes the receive-claim-process-complete loop for MCP-host agents that want to consume worker-transport executions from in-session (e.g. Claude Desktop, Cursor, Zed). Highlights: list_claimable_executions filters server-side via task / agent query params (client-side filtering hits a known LIMIT-50 starvation bug); claim_next_execution accepts an optional task_name and internally fans out (filtered list → pick oldest → claim by ID) since the server doesn't yet support a task filter on the bare claim endpoint; execution_heartbeat sends worker_id via the X-Worker-Id request header (the server's transport for that field) and requires it in the schema so misconfigured callers fail at the wrapper instead of silently bypassing race protection. Internal: CueAPIClient.request() gains an optional extraHeaders parameter to support per-call custom headers.
  • 0.3.0. Add cueapi_fire_cue tool: fire an existing cue immediately with an optional payload_override (and merge_strategy: 'merge' | 'replace', default 'merge'). Wraps POST /v1/cues/{id}/fire. Lets agents trigger ad-hoc one-shot executions without creating throwaway cues, and lets per-fire dynamic data flow through to webhook dispatch + worker-claim responses without mutating the stored cue.
  • 0.1.4. Fix cueapi_pause_cue / cueapi_resume_cue to use PATCH /v1/cues/{id} with {"status": "paused" | "active"} (previously called non-existent /pause and /resume endpoints, returning a runtime 404). PR #1. This is the release that actually contains the fix; 0.1.3 was published prematurely with this note but without the merged code.
  • 0.1.3. Premature publish, superseded by 0.1.4. No functional changes from 0.1.2.
  • 0.1.2. Register with the Official MCP Registry.
  • 0.1.0. Initial release: 8 tools for create / list / get / pause / resume / delete cues, list executions, report outcome.

License

MIT © Vector Apps Inc.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.