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 分