AgentLater

io.agentlater由 agentlater.io 發布官方發布者v1.0.0更新於 Nov 7, 2026

Agents make HTTP requests later, then get results, webhooks and wake-ups in a later session.

已驗證Streamable HTTP可網頁執行效率與工作流開發者工具溝通與協作

概覽

AI 產生的概覽

託管式 MCP 伺服器,讓代理安排 HTTP 請求稍後執行、輪詢任務,並在之後的會話中收取 webhook 結果。

可以做什麼
  • 安排或排隊 HTTP 請求,稍後或背景執行,可依命名佇列串行化
  • 依 cron 定時重複請求,或輪詢狀態網址直到任務完成
  • 建立 webhook 鉤子,並在之後的會話中讀取與確認收件匣事件
  • 檢視、列出、取消與重試任務,並查詢專案餘額
  • 儲存對外請求所需憑證,並設定喚醒網址以便結果到達時觸發代理執行
適用情境
適合需要延遲或定時觸發任務而不保持會話開啟、等待長時間執行的任務,或在之後的會話中取得投遞結果與 webhook 事件的情境。
執行需求
遠端 Streamable HTTP 端點並搭配 MCP OAuth,用戶端需同時支援兩者。無需貼上 API 金鑰,OAuth 權杖由用戶端管理。連線後需呼叫一次 create_project 取得專案與試用額度。目標網址必須是公開 HTTPS 網址。
安裝前請注意
對外請求會攜帶透過 set_secret 儲存的憑證,應以 allowed_hosts 限定範圍。投遞為至少一次,目標端可能收到重複請求,需自行去重。每次投遞嘗試、輪詢與回呼都會消耗額度,試用有限,更多次數需透過付款連結購買。任務、密鑰與收件匣狀態會被寫入與修改,新連線會得到獨立專案。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 AgentLater,將其新增到工作區。
  2. 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.agentlater%2Fagentlater/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。

{
  "mcpServers": {
    "agentlater": {
      "type": "http",
      "url": "https://gateway.agentlater.io/mcp"
    }
  }
}

README

AgentLater

Let an AI agent make an HTTP request later, and check whether it happened.

AgentLater is a hosted Model Context Protocol (MCP) server for agents that need to schedule HTTP work, wait for a job, or retrieve results in a later session. It sends requests and records delivery outcomes; it does not run the agent itself.

What agents can do

NeedTools
Send a request later or in the backgroundschedule_http, queue_http (optionally serialize related requests in a named queue)
Repeat a request or poll until a job finishescreate_cron, watch_http
Receive webhooks and read results in a later sessioncreate_hook, read_inbox, ack_inbox
Inspect, stop or retry workget_task, list_tasks, cancel_task, redrive_task
Use credentials or trigger an agent workflow when results arriveset_secret, set_wake

See the full tool reference for arguments, limits and delivery semantics. A wake URL must belong to something that can start an agent run; inbox events alone do not resume a chat.

Connect an MCP client

Use a client that supports remote Streamable HTTP and MCP OAuth. Add a remote server or custom connector named agentlater with this URL:

text
https://gateway.agentlater.io/mcp

For clients using an mcpServers JSON configuration with HTTP transport, the configuration is:

json
{  "mcpServers": {    "agentlater": {      "type": "http",      "url": "https://gateway.agentlater.io/mcp"    }  }}

Configuration formats vary by client; use its remote-server settings if it does not accept this shape. The endpoint and transport are also declared in server.json.

Authentication: complete the OAuth flow opened by your client and click Connect on the AgentLater consent page. There is no account to create or API key to paste into the configuration; the client manages OAuth tokens. Each approved connection owns a separate project and trial. Call create_project once after connecting (calling it again returns the same project): the trial includes 1,000 delivery attempts for 7 days. Use get_project to inspect the balance and get_payment_link when more attempts are needed.

For Claude Code, you can instead install the plugin, which includes the hosted server configuration and a skill for using the tools:

text
/plugin marketplace add thachp/agentlater/plugin install agentlater@agentlater

See the plugin README for installation and migration details. Autonomous integrations can also use Agent Auth at the gateway; that identity and its project are separate from a hosted MCP connection.

Example: trigger a background job through a webhook

A common use is calling your application's job endpoint after a delay—for example, generating an export in 15 minutes without keeping the agent session open.

After connecting, ask your agent:

Create my AgentLater project, then POST to my export webhook in 15 minutes with {"report": "daily-sales", "format": "csv"}. Use my stored webhook token, capture the response, and put the delivery result in my inbox.

The agent calls create_project with {}. If the endpoint requires a bearer token, first call set_secret with these arguments, replacing the placeholder with your endpoint's actual token and the host with your own:

json
{  "name": "WEBHOOK_TOKEN",  "value": "<your-webhook-token>",  "allowed_hosts": ["api.example.com"]}

Then call schedule_http with the following arguments. Replace the example URL with your own public HTTPS job endpoint. body is a JSON-encoded string, not an object.

json
{  "url": "https://api.example.com/jobs/export",  "method": "POST",  "headers": {    "Content-Type": "application/json",    "Authorization": "Bearer {{secret:WEBHOOK_TOKEN}}"  },  "body": "{\"report\":\"daily-sales\",\"format\":\"csv\"}",  "delay": "15m",  "idempotency_key": "daily-sales-export-001",  "capture": true,  "callback_url": "inbox"}

Use a new idempotency_key for each intended job; reusing the same key and request returns the original task. Your endpoint should also deduplicate deliveries using RunLater-Task-Id because delivery retries can reach it more than once. For an endpoint without authentication, omit the secret setup and the Authorization header.

Save the returned task_id and inspect it with get_task({"task_id": "<returned task_id>"}). In a later session, call get_project with {}, then read_inbox with {} if inbox_unread is above zero. After handling the events, call ack_inbox({"up_to": 1}), replacing 1 with the last seq you handled. These are MCP tool names and argument objects, not shell commands. No public callback URL is needed to receive the delivery report in the inbox. If the endpoint returns 202 Accepted, that confirms it accepted the job; use watch_http on its status URL when you also need to wait for the export to finish.

Delivery is at least once; succeeded means the destination returned HTTP 2xx. Destinations must be public HTTPS URLs, not localhost or private IP addresses. For authenticated requests, store the credential with set_secret and use {{secret:NAME}} in a header instead of pasting it into a request.

Limits and troubleshooting

  • Schedule at most 7 days ahead. Cron expressions use UTC and run at most hourly; watches poll every 5 minutes to 24 hours. Captured responses keep the first 16 KiB of the body for 7 days after the task finishes.
  • project_not_found: call create_project on the current connection before scheduling.
  • budget_exhausted or trial_expired: inspect get_project and use get_payment_link for more attempts. Each delivery attempt, poll and URL callback attempt consumes budget; inbox delivery is free.
  • Connection or sign-in fails: confirm the URL ends in /mcp and the client supports both Streamable HTTP and OAuth. A client limited to local stdio servers needs a supported bridge; see the Agent Auth bridge configuration.
  • No result yet: inspect get_task with the returned task_id for its status and attempt history. Read the inbox using the same connection that scheduled the task; a new connection has a separate project.

Documentation and compatibility

AgentLater was formerly RunLater. Existing runlater plugin connections retain their own projects; installing the agentlater plugin creates a separate connection rather than moving existing work. Some internal package names and delivery headers (such as RunLater-Task-Id) retain the old name for compatibility.

The specs are PRODUCT.md (what it does), ARCHITECTURE.md (how it's built) and DESIGN.md (how it should feel, to agents and to people). The pre-rebuild implementation was removed at cutover; it is in git history before this change.

Layout

PathWhatStack
apps/apiPrivate task API: ledger, scheduling, deliveryRust · workers-rs
apps/gatewayPublic entry for agents: Agent Auth, capabilities, MCPTypeScript Worker
apps/webagentlater.io landing, docs and payment pageNext.js · OpenNext
apps/receiverStaging-only fixture the journey delivers toTypeScript Worker
crates/coreTask domain, no Cloudflare depsRust
crates/egressDestination policy and request signingRust
packages/contractsCapability definitions, and the OpenAPI contract between gateway and APITypeScript · OpenAPI 3.1
packages/tsconfigShared TypeScript config
plugins/agentlaterClaude Code plugin: the hosted MCP server and an agentlater skillMarkdown · JSON
plugins/runlaterThe old plugin, deprecated and frozen so existing installs keep workingMarkdown · JSON

Everything deploys to Cloudflare Workers, with staging and production environments in each app's wrangler.jsonc (apps/receiver has staging only); see docs/DEPLOY.md.

Develop

Requires Rust (pinned in rust-toolchain.toml), Node 22+, and cargo install worker-build --version 0.8.7 --locked.

bash
npm install
bash
cargo test && npm run typecheck && npm test
bash
npm run dev -w @runlater/gateway
bash
npm run dev -w @runlater/web

License

The code is MIT. Using the hosted service at agentlater.io is covered by its Terms of Service and Privacy Policy.

來源:README.md,提交 3d7efc7

工具

0
該伺服器需要登入,因此 SourceWeft 無法在沒有帳號的情況下讀取其工具,也未收錄。已連接帳號所能看到的內容可能因帳號及其權限而異。

版本歷史

1
  1. v1.0.0最新Nov 7, 2026

評分

已滿足適用檢查項的 85%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分