Agent Interop Runtime

io.github.Praket7由 GitHub 账号 Praket7 发布v1.1.0更新于 Nov 7, 2026

Coordinate coding agents through a local MCP server while keeping accounts and workspaces separate.

已验证STDIO仅桌面开发者工具AI 与机器学习

概览

AI 生成的概览

本地 MCP 服务器,可发现电脑上已安装的编码代理,并让助手创建、发送消息、跟踪进度和取消这些代理的会话。

可以做什么
  • 发现已配置的提供方适配器及其支持的操作,查看运行时状态与当前工具配置
  • 列出本机原生提供方会话(可按提供方筛选),并在支持时创建或恢复会话
  • 向指定会话发送提示、取消其工作,并读取可分页续读的会话事件
  • 读取某个会话的文件变更证据(diff)
  • 在更大的工具配置下,还可维护共享笔记、交接、证据、评审与资源占用声明,运行已配置的本地检查,并读取已批准项目文件夹内的小型文本文件
适用场景
适合在本机同时使用多个编码代理(如 Codex、Claude Code、Cursor、OpenCode、Freebuff)时,让一个助手在各自独立的会话之间分派任务并跟踪进度,而不合并账号或历史。
运行要求
需要 Node.js 20 至 26 及 npm 包 agent-interop-runtime,以本地 stdio 进程运行;提供方应用须安装在同一台电脑上并已登录。可选设置包括 INTEROP_TOOLS_PROFILE 环境变量或 --profile 参数,以及 INTEROP_READ_ONLY=1 只读模式。HTTP 模式需要 bearer token。
安装前请注意
发送提示、取消、创建或恢复会话都会改变提供方状态;被接受只表示已送达,不代表任务完成。验证功能会以你的账号权限运行所配置的程序且不做沙箱隔离,启用前请先审查。文件读取会拦截常见凭据文件,但无法识别所有密钥。HTTP 模式需要身份验证与网络防护,会话标识不能替代访问控制。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Agent Interop Runtime,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Agent Interop Runtime

Your coding agents already know how to work, and Agent Interop Runtime helps them share a task while each one keeps its own identity, account, and working environment.

Connect a local MCP client to the runtime, and it will find the coding agents installed on your computer so you can choose a session, send it work, follow its progress, and pass a result to another session. Each provider still uses its own account, permissions, history, and project access, so the runtime coordinates the work without merging separate environments.

Think of it as a traffic desk for coding agents, because it shows which session received a task, records the updates that provider sends back, and keeps the result of each check in one place without turning separate conversations into a shared chat.

[A simple view of one MCP client sending work through a local coordinator to separate provider sessions]

Watch the short illustrated tour

[Automated tests, offline handoff results plus CI matrix size]

These pictures are illustrations, so they explain the workflow and available measurements but do not show a live provider session.

What happens when you send work

The runtime sends your message to the provider session you selected, and the receipt may confirm that the provider accepted it; however, acceptance only confirms delivery to the provider and does not mean the agent finished the task. The runtime reports completion only after it observes a result from that session.

The same rule applies when delivery is uncertain, because a network failure may happen after the provider accepted your message but before the runtime received confirmation. In that case the runtime marks delivery as unknown and does not silently send the prompt again, which avoids repeating work that may already be underway.

What it can do

Find supported provider sessions on your computer, so you can see which local tools are available before choosing where to send work.

Create or resume sessions when the selected provider supports those actions, and use the provider report to check which controls are available in your setup.

Send work, request cancellation, read progress, and collect a provider diff when the selected provider supports those features.

Keep shared work notes, handoffs, evidence, reviews, and cooperative resource claims so participating sessions can coordinate around the same task.

Run local checks inside a named workspace when you explicitly enable verification, and review the configured programs before trusting them with a project.

Read small text files inside an approved project folder, while common credential files are blocked, credential shaped text is redacted, and binary files are refused.

Provider features differ, so the doctor report shows what each installed provider can do; finding a provider alone does not confirm its sign in status or whether it is ready to accept work.

What it does not do

It does not merge provider accounts or histories, and each session remains subject to its provider's own settings.

It does not bypass a login, consent prompt, or permission request, so you must complete those steps through the provider itself.

It does not give an agent access to a provider that is not installed on the computer running the runtime, nor does it replace that provider's own application.

It does not sandbox commands, because verification runs the programs you configure with the access available to your account, so use it only with work and commands you trust.

Resource claims coordinate agents that use this runtime, but they cannot stop another program from editing the same files outside the runtime.

Providers

Freebuff Desktop uses its local app connection, and writes require a current launch check before work is sent; Freebuff CLI instead uses a managed terminal session.

OpenCode uses its local server, which the runtime may start on loopback when needed, and requests that may change work are never replayed after an uncertain network result. Each session remains tied to the server that exposed it, so switching servers does not silently redirect existing work.

Codex uses the Codex app server, while Claude Code and Cursor use their supported Agent Client Protocol commands.

The available features depend on the provider version, local setup, and account state, and most protocol checks use simulated providers rather than live sessions. Check the provider on the computer that will run the MCP server before relying on it for live work.

MCP protocol support

The server supports the 2026-07-28 MCP protocol and the earlier 2025-11-25 protocol, so newer clients can negotiate the per-request protocol while existing clients keep their session-based connection. This works over stdio and Streamable HTTP, and both versions receive the same selected tools and provider behavior.

Choose the tools your client sees

The runtime starts with a focused set of nine tools, so a new MCP connection can find providers, inspect and control sessions, read events, and cancel or resume work without loading the larger coordination catalog. You can choose a larger set when your work needs shared conversations, evidence, handoffs, or Freebuff specific controls, and you can keep the original 0.3.x names while migrating an existing client.

ProfileToolsUse it when
minimal9You want the recommended starting set for provider sessions.
core30You also need shared conversations, work records, handoffs, reviews, evidence, and claims.
freebuff16You mainly work with Freebuff projects and threads.
full49You need the modern names for every supported feature.
legacy52An existing MCP client still calls the original 0.3.x tool names.

The modern profiles use predictable verb first names, and related progress operations have been combined so one tool can read a snapshot or wait for updates. The legacy profile preserves the previous names during migration, while the migration guide maps each older tool to its new name or replacement.

Choose a profile on the server command, or set INTEROP_TOOLS_PROFILE when your client configuration cannot pass an argument.

sh
npx -y [email protected] serve --profile minimalnpx -y [email protected] serve --profile corenpx -y [email protected] serve --profile freebuffnpx -y [email protected] serve --profile fullnpx -y [email protected] serve --profile legacy

Read only mode removes tools that change provider or coordination state, and it can be enabled by setting INTEROP_READ_ONLY=1 in the server environment.

Install

Use Node 20 through Node 26, and install the current major release with npm or pnpm before checking which providers are available.

sh
npm install --global agent-interop-runtime@1agent-interop-runtime doctor

You can also use the source checkout when you are changing the project, and its build runs the same TypeScript compiler used by the release workflow.

sh
git clone https://github.com/Praket7/agent-interop-runtime.gitcd agent-interop-runtimepnpm installpnpm buildnode dist/src/cli.js doctor

Connect a local MCP client

The runtime talks to provider apps and tools installed on the same computer, so the recommended connection is a local MCP server over standard input and output. Start with the setup command for your client, and restart or reload that client after changing its configuration.

Codex

The installer adds or repairs the local Codex entry, backs up the existing configuration before changing it, and preserves unrelated settings.

sh
npx -y [email protected] install --write

Cursor

The Cursor installer writes a project independent entry in your user configuration, and --project can be added when you want the connection only in the current project.

sh
npx -y [email protected] cursor-setup --write

Claude Code

Claude Code can launch the local server directly, and the command below starts with the recommended nine tools.

sh
claude mcp add --transport stdio agent-interop-runtime -- npx -y agent-interop-runtime@1 serve --profile minimal

OpenCode

Add the following entry to your OpenCode configuration, and the local process will expose the same focused tool set.

json
{  "$schema": "https://opencode.ai/config.json",  "mcp": {    "agent-interop-runtime": {      "type": "local",      "command": ["npx", "-y", "agent-interop-runtime@1", "serve", "--profile", "minimal"],      "enabled": true    }  }}

Other MCP clients can launch the same serve command through their local server configuration, and the provider applications must be available on the computer running the runtime. HTTP mode can support a deliberate remote setup, but it needs authentication and network protection because session identifiers do not replace access control.

Current evidence

Automated tests and offline benchmarks check the tool behavior with simulated providers, and those results do not contact live agents, measure speed, or estimate provider cost. GitHub CI checks three operating systems against four supported Node versions, for twelve combinations.

Earlier local checks observed a response from Freebuff GLM 5.3 Flash, and OpenCode Big Pickle accepted a prompt, although completion was not observed in that session. Those observations apply only to the specific sessions tested, so they do not establish general provider support.

Run checks

sh
pnpm typecheckpnpm testpnpm lintpnpm mcp:validatepnpm schema:checkpnpm bench:checkpnpm audit --prod --audit-level=highnpm audit --prefix media/remotion --audit-level=highpnpm pack:check

Read the provider guide, the plain language architecture guide, the compatibility notes, the 1.0 migration guide, and troubleshooting for setup and behavior details.

Safety and privacy

The local standard input and output server is the simplest setup, while HTTP mode binds to loopback by default and requires a bearer token. Remote access requires an explicit setting and network protection, because session identifiers do not replace authentication.

Project file reads stay inside the selected project folder, and common credential files are denied while text is checked against common credential patterns. These checks cannot detect every secret, so keep sensitive values out of files an agent can read.

Verification is off by default, but when enabled it runs configured programs without a shell and checks that the working folder stays inside the named workspace. Child programs are not sandboxed, so they retain the access granted by your account.

Help improve it

Use doctor before sending work, and when reporting a problem include the provider name, version, operating system, the action you tried, and whether the provider accepted the task or returned a completed result. Leave private prompts and credentials out of reports.

The project welcomes reproducible compatibility reports and code contributions, especially when they explain what happened on a specific provider version and computer.

来源:README.md,提交 9e04ae2

工具

9

get_runtime_status

Get Runtime Status

Report installed provider capabilities and the active tool profile. Use list_providers for per-provider capabilities and list_agent_sessions to inspect available sessions.

无需输入参数。

list_providers

List Providers

List configured provider adapters and their supported actions. Use list_agent_sessions to find actual native sessions; discovery does not confirm sign in or readiness.

无需输入参数。

list_agent_sessions

List Agent Sessions

Find actual native sessions from installed providers, optionally filtered by provider. Provider errors are returned separately from an empty result. Use list_providers to inspect adapter capabilities.

输入参数provider

get_session_diff

Get Session Diff

Read file change evidence for one exact native provider session. Use read_session_events for its progress history; this tool returns file changes only.

输入参数nativeId必填provider必填

read_session_events

Read Session Events

Read a bounded page of native provider events with a resumable cursor, stream epoch, and retention-gap metadata.

输入参数limitnativeId必填provider必填timeoutMsafterSequence

send_session_message

Send Session Message

Send one prompt to an exact native provider session. Model, agent, and reasoning are separate controls. For OpenCode, accepted means queued by transport and does not mean completed.

输入参数modetext必填agentmodelnativeId必填provider必填reasoning

cancel_session

Cancel Session

Cancel work in a provider native session.

输入参数nativeId必填provider必填

create_session

Create Session

Create a native provider session when supported.

输入参数cwdtitleprovider必填

resume_session

Resume Session

Resume or reattach to an exact native session.

输入参数nativeId必填provider必填

版本历史

4
  1. v1.1.0最新Nov 4, 2026
  2. v1.0.2Nov 3, 2026
  3. v0.3.2Sep 23, 2026
  4. v0.2.4Sep 16, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分