mcpField
R
remit

remit

远程服务
github.com/mrpacstar2-ossAI 与智能体04 周前更新
代码仓库

关于 remit

Remit 是一种面向 AI 编写的 Agent 工作流的静态检查语言及运行时,可检查调用工具和模型的程序。它在运行前报告权限、调用上限、最坏支出和不安全数据流,并在运行时执行规则、记录可回放轨迹。

主要功能

  1. 01静态能力与策略检查
  2. 02按能力设定调用上限和支出估算
  3. 03检测敏感数据流并要求审批
  4. 04运行时执行规则并记录可回放轨迹
  5. 05通过 MCP 工具检查、格式化和测试

适用场景

  1. 01运行前审查 Agent 工作流
  2. 02检查编辑是否扩大程序权限
  3. 03通过精确调用审批运行工作流

MCP 相关

Remit 为 Agent 提供本地 stdio 和托管 HTTP MCP 服务。工具涵盖指南、检查、格式化、权限差异、示例及离线 fixture 运行。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://77-68-52-20.sslip.io/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

Remit

在 AI 编写的程序运行前,了解它能做什么。

Remit 是一种小型、经过静态检查的语言,用于 Agent 工作流,也就是调用工具和模型的程序。 它的设计目标是由 AI Agent 编写和编辑。程序运行前,检查器会报告:

  • 它可以使用哪些能力,这些能力来自由宿主控制的列表;
  • 每种能力最多可以调用多少次,以及其最坏情况下的开销;
  • 不可信数据(文档、网页、模型输出)或私有数据是否会流入敏感参数,例如付款详情或电子邮件收件人。此类数据流会被直接拒绝,或交由人工批准,且批准绑定到确切的参数。

随后,运行时代理会执行相同的规则,并记录可重放的跟踪记录。

在浏览器中试用: https://77-68-52-20.sslip.io/try.html(选择一项 AI 可能会做的编辑,看看它会被允许还是阻止,以及原因)。供 AI Agent 使用: 连接 MCP 服务 https://77-68-52-20.sslip.io/mcp。

payments.schedule(vendor_id: vendor.id, iban: inv.iban_on_invoice, amount: inv.amount, ...)

error[E0301]: data tagged untrusted flows into 'payments.schedule' parameter 'iban', which denies it
  note: 'inv.iban_on_invoice' is untrusted because it derives from inbox.read (line 20)

供 AI Agent 使用

  • MCP 服务,本地: remit mcp(stdio)。

  • MCP 服务,托管: remit mcp --http,可选配 API 密钥和用量计量。

  • 工具:

    工具功能
    remit_guide使用指南或完整规范
    remit_check错误信息和权限清单
    remit_format规范格式化
    remit_authority_diff编辑是否扩大了权限?
    remit_examples完整的示例程序
    remit_run_fixtures离线测试运行
  • 快速指南: docs/AI_GUIDE.md。

  • 完整规范: docs/LANGUAGE_SPEC.md。

  • llms.txt: site/llms.txt,以及 site/llms-full.txt。

Claude Code 配置示例:

{ "mcpServers": { "remit": { "command": "remit", "args": ["mcp"] } } }

快速开始

python3 -m venv .venv && .venv/bin/pip install -e ".[mcp]" pytest pydantic
.venv/bin/python -m pytest -q tests baselines
cd examples/invoices
../../.venv/bin/remit check invoices.rmt                                   # manifest and policy check
../../.venv/bin/remit run invoices.rmt                                     # offline fixtures; stops for approval
../../.venv/bin/remit approve <digest> && ../../.venv/bin/remit resume <run-id>   # approve that exact call, continue

证据

docs/BENCHMARKS.md 将 Remit 与使用相同运行时的 Python 基线进行比较,因此运行时功能不会被算作语言的优势。样本规模较小,仅使用一个模型系列,且不包含人工测试。

  • 安全性:
    • 在 17 次不安全的程序变更中,有 14 次在运行前被拒绝。使用相同运行时的 Python 执行了其中 8 次。
    • 要求 Haiku 4.5 Agent 进行不安全的更改时,它们在 Remit 中 0/6 次提交了可执行的不安全代码,在 Python 中则为 6/6 次。Sonnet 5.5 在两种语言中都拒绝了请求。
  • 审查: 每项由 Agent 编写的功能变更(20 项中的 20 项)都通过机械方式证明没有扩大权限。
  • 易用性:
    • Agent 在修改程序(Remit 为 15/15,Python 为 14/15)和根据规范构建新工作流(两种语言均为 5/5)方面同样出色,因此模型从未接触过这种语言也不会带来劣势。
    • 仅使用 MCP 服务的 Agent 构建正确程序的成功率为 5/5。
  • 恢复能力: 崩溃后恢复的行为在两种语言中完全相同,符合预期,因为这是运行时属性。

状态

Remit 是一个早期的开源版本。语言、检查器、运行时、MCP 服务、演示和五个示例应用均可运行并通过测试。它还不是一个成熟的产品:没有内置沙箱(请在你自己的隔离环境中运行),目前也没有模块系统、并发功能或编辑器语言服务器。有关计划内容,请参阅 LANGUAGE_SPEC §13。

如何运行自己的网站副本和 MCP 服务,请参阅 deploy/README.md。

许可证:Apache-2.0。

评论

支持 Markdown

第一次接触 MCP?

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

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