mcpField
T
toolc

toolc

本地服务
toolc.devAI 与智能体06 周前更新

关于 toolc

toolc 将 MCP 服务、REST API 或文档编译为面向 Agent 的精简端点。团队可调整工具合并与选择方式,并通过调用日志和结果压缩管理运行情况。

主要功能

  1. 01编译 MCP 与 REST 工具集
  2. 02改写描述并合并相似工具
  3. 03通过 search_tools 和 call_tool 暴露目录
  4. 04压缩大型结果并记录调用
  5. 05从 OpenAPI 或文档导入 API

适用场景

  1. 01减少 Agent 上下文中的工具定义
  2. 02统一多个 MCP 服务的工具
  3. 03依据 OpenAPI 规范接入 REST API
  4. 04检查调用记录与重复错误

MCP 相关

它将 MCP 服务作为下游,并以 MCP 服务网关的形式供客户端使用。网关可提供编译后或镜像的工具集。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"dev-toolc-toolc": {
"command": "npx",
"args": [
"-y",
"@toolc/cli"
],
"env": {
"ANTHROPIC_API_KEY": "<ANTHROPIC_API_KEY>"
}
}
}
}
启动命令npx -y @toolc/cli
需要配置的环境变量
ANTHROPIC_API_KEY密钥Enables the LLM-assisted compile passes (rewrite, consolidate). Without it, toolc serves a mirror of the original tool surface.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@toolc/cli0.1.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

toolc

面向 Agent 工具界面的优化编译器。 将它连接到你的 MCP 服务,或直接提供 REST API 的 OpenAPI 规范,甚至一个文档页面,即可获得一个提供更小、更智能工具界面的端点:让每个连接的 Agent 都能降低成本,让每项任务都更准确,并记录每次调用。

连接 N 个 MCP 服务会将所有工具定义倾倒进模型的上下文,降低工具选择的准确性,还会迫使 Agent 临时拼凑多跳调用链。toolc 会编译整个联邦:

  • 改写:针对大模型优化描述,并消除同类工具之间的歧义
  • 整合:将近似重复的工具系列(search_x/find_x/get_x) 合并为具有确定性路由的统一门面工具
  • 选择:需要最大限度节省上下文时,将整个目录压缩到两个元工具 (search_tools/call_tool)之后
  • 压缩:在服务时总结过大的结果,同时保留标识符和来源详情
  • 组合:通过 OpenAPI 规范,或根据文档合成的草拟规范,将 REST API 直接纳入工具池
  • 观测:记录每次调用的参数和结果;将反复出现的错误归类,并给出修复建议

基准测试

覆盖 5 个在线服务的 131 个工具,30 项任务 × 3 次试验,由评审判定答案 (完整数据表 · 整合测试):

条件成功率每项已完成任务的成本工具定义上下文
原始(全部 131 个工具)96.7%$0.2631~24,360 tok
已编译 + 整合96.7%$0.0411(便宜 6.4×)~845 tok
整合,不选择100.0%$0.1335~14,506 tok

整合在成本与准确率的权衡中两端都占优:选择界面是降低成本的关键,整合则能全面提升准确率。每个处理环节都可以通过配置开关控制;可根据部署需求选择权衡方案。

快速开始

git clone https://github.com/toolc-dev/toolc && cd toolc
pnpm install && pnpm -r test

# describe your federation
cp toolc.config.example.jsonc toolc.config.jsonc

# introspect it
node packages/cli/bin/toolc.mjs -c toolc.config.jsonc inspect

# compile (set ANTHROPIC_API_KEY for the rewrite/consolidate passes)
node packages/cli/bin/toolc.mjs -c toolc.config.jsonc compile

# serve the compiled surface over stdio (add to Claude as an MCP server)
node packages/cli/bin/toolc.mjs -c toolc.config.jsonc serve --mode compiled

下游可以是 MCP 服务,也可以是独立的 REST API:

{
  "downstream": [
    { "id": "gh", "transport": { "type": "http", "url": "https://api.githubcopilot.com/mcp/" } },
    { "id": "nws", "transport": { "type": "openapi", "spec": "https://api.weather.gov/openapi.json" } }
  ]
}

Docker 部署请参阅 SELF_HOSTING.md。

托管服务

toolc.dev 将同一引擎作为托管服务运行:提供编译后的 HTTPS 端点、带有交互式演练场和完整载荷日志浏览器的控制台、文档转规范草拟功能,以及基于错误的修复建议。

目录结构

  • packages/core:IR(能力图)、前端(MCP、OpenAPI、文档合成)、处理流程、输出
  • packages/gateway:运行时 MCP 服务(镜像 + 编译),带有调用日志记录和压缩功能
  • packages/cli:toolc 命令
  • packages/harness:基准测试运行器、评分、报告
  • packages/shared:配置模式、错误

许可证

引擎(本仓库中的所有内容)永久采用 Apache-2.0 许可证:任何人都可以在本地编译并提供自己的工具界面,其编译质量与托管产品完全相同。

评论

支持 Markdown

第一次接触 MCP?

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

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