reShapr
把现有 API 变成 AI 原生、受治理且上下文精简的 MCP 工具,无需重写任何服务。
- Star 数
- ★ 170
- 最近更新
- 3 天前
- License
- Apache-2.0
- 主语言
- Java
- FA 评分
- 63/100 · 存在缺口
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台
- 费用
- 免费,无需付费服务
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 已有大量 REST API 的后端团队,希望让内部 AI 代理安全调用这些 API,而不为每个服务手写 MCP 服务器。
- 不适合
- 不想为 API 配备任何服务器或容器运行环境的团队
- 需要直接转换非 REST/GraphQL/gRPC 协议的项目
- 不使用 MCP 客户端的 LLM 集成场景
- 源码审查
- 63/100 · 存在缺口
这个 Agent 能做什么,适合哪些场景?
reShapr 是一个开源运行时(仓库 reshaprio/reshapr,Apache-2.0 许可),能将现有 REST、GraphQL 和 gRPC 服务自动转换为对 LLM 友好的 MCP 工具,而无需为每个 API 单独编写 MCP 服务器。它针对构建 AI 代理时常见的上下文过载问题,提供 Context Control,在响应到达模型之前过滤并压缩载荷,减少 token 浪费。项目由 @reshapr/reshapr-cli(npm 分发)、一个 Docker Compose 部署的控制平面(本地端口 5555)和自动生成的 MCP 服务器端点(端口 7777)组成。开发者只需导入一份 OpenAPI 等契约文件,几分钟内即可得到可用的 MCP 工具。当前开发版本为 1.0.1-SNAPSHOT,最新发布为 1.0.0。
reShapr 读取现有 API 契约(如 OpenAPI 文件),将其端点自动转换为 LLM 可发现的 MCP 工具。典型流程:用 npm 安装 CLI(npm install -g @reshapr/reshapr-cli),运行 reshapr run 启动本地 Docker Compose 平台,通过 reshapr login 连接 http://localhost:5555 的控制平面(默认凭据 admin/password),再用 reshapr import 导入契约并指定 --backendEndpoint 指向真实后端。导入完成后,系统在 http://localhost:7777/mcp/... 生成一个功能完整的 MCP 服务器。运行过程中它对后端响应做上下文优化,在数据送达 LLM 前过滤和精简载荷(Context Control),支持 REST、GraphQL 与 gRPC 三种协议。
- 已有大量 REST API 的后端团队,希望让内部 AI 代理安全调用这些 API,而不为每个服务手写 MCP 服务器。
- 代理开发者面对上下文窗口紧张的模型,需要把庞大的 JSON 响应压缩后再送给 LLM。
- 组织同时维护 REST、GraphQL 与 gRPC 服务,想用统一的方式把它们暴露给 AI 工具生态。
- 平台工程师想在自有基础设施中以 Docker 形式自托管一套 API-to-MCP 网关,并带治理能力。
- 评估者想通过 try.reshapr.io 托管沙箱先在线试用,再决定是否本地部署。
如何安装或部署这个 Agent?
前提:已安装 Node.js 和 Docker。
npm install -g @reshapr/reshapr-cli也可以选择开发者路径,按仓库 install/README.md 使用 docker-compose 运行 :nightly 开发构建;或先在 try.reshapr.io 的托管沙箱中在线试用。
如何使用这个 Agent?
启动本地平台(会下载 compose 文件并启动容器):
reshapr run连接控制平面(默认凭据 admin/password):
reshapr login -s http://localhost:5555 -u admin -p password导入一个 OpenAPI 文件并指向真实后端:
reshapr import -u https://raw.githubusercontent.com/open-meteo/open-meteo/refs/heads/main/openapi/forecast.yml \
--backendEndpoint https://api.open-meteo.com随后即可在 http://localhost:7777/mcp/reshapr/open-meteo-weather-forecast-api-1-0-default 获得一个 MCP 服务器,用任意 MCP 客户端连接使用。
这个 Agent 有哪些优点和局限?
- 零重写:导入现有契约即可生成 MCP 工具,无需为每个 API 编写定制的 MCP 服务器。
- Context Control 在载荷到达 LLM 前过滤精简,直接缓解上下文过载和 token 浪费。
- 多协议支持(REST、GraphQL、gRPC),并可通过控制平面统一治理。
- 提供签名 SBOM 与校验和、OpenSSF Scorecard 及 SonarCloud 质量指标,供应链可审计。
- 本地运行依赖 Docker Compose 栈和控制平面,不是单进程轻量工具。
- 默认控制平面凭据为 admin/password,接入生产前需自行完成安全加固。
- 输出面向 MCP 客户端生态,不使用 MCP 的 LLM 集成无法直接受益。
- 项目刚到 1.0.0,开发版本为 1.0.1-SNAPSHOT,API 仍可能演进。
这个 Agent 与同类方案有什么区别?
README 将 reShapr 与为每个 API 编写定制 MCP 服务器的常见做法形成对比("no bespoke MCP server per API"),但未具名其他竞品。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| reShapr 当前 | 63 · 存在缺口 | 命令行工具免费 | ★ 170 | 3 天前 | Java | — |
| Concord MCP | 67 · 存在缺口 | — | ★ 763 | 今天 | TypeScript | Codex · Claude Code |
| AgentEvals 轨迹评测 | 68 · 存在缺口 | 命令行工具免费 | ★ 166 | 15 天前 | Python | — |
| Fusio | 52 · 缺口较多 | 自托管服务免费 + 模型费 | ★ 2.1k | 3 天前 | PHP | ChatGPT |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示CI工作流使用最小权限(contents: read等)、按SHA锁定第三方action、npm ci --ignore-scripts、SBOM+cosign签名,least_privilege与dependency_security可得高分;CLI测试证明删除与密钥轮换需--force/--yes确认,故user_confirmation得分。扣分点:README记录控制面默认凭据admin/password且未见强制修改提示;敏感数据处理(sensitive_data_handling)虽有加密轮换命令但无传输/存储细节说明;rollback无任何证据(降级/回滚说明缺失)。源码头部版权声明、LICENSE全文、SECURITY.md致谢上游使source_attribution充分。
测试展示了结构化错误信息('Admin request failed (409 Conflict)...')与未登录时的优雅退出('You are not logged in'而非TypeError),failure_messages良好。self_consistency:README的安装与输出示例与CLI测试中的命令结构一致,但核心Java/控制面源码未提供,无法核对全仓一致性,故仅2分。dependency_availability依赖外部注册表(Quay/npm/Sonatype)与远程compose文件下载,存在网络依赖但CI持续验证,扣分在于本地运行需拉取远程文件且无离线说明。
README区分了在线试用、本地终端用户、开发者三种路径,audience_and_scenarios为2;install注明Node.js/Docker前提,environment_fit为2。扣分:capability_boundaries几乎无描述(支持哪些API规模、过滤能力的边界均未说明);作为将API转为MCP工具的运行时,其工具触发精度(trigger_precision)与过滤行为在本批文件中无源码证据,仅得营销级描述。
install_notes满分:CLI安装、本地运行、开发者路径均有具体命令与预期输出。license满分:Apache-2.0全文在库。扣分:known_limitations几乎缺失(仅SECURITY.md提及无LTS分支);versioning_changelog有语义化版本与SNAPSHOT惯例但本批文件未见CHANGELOG;information_architecture依赖外链docs,仓库内可见结构有限;examples仅快速开始,无FAQ;maintenance_responsibility有治理与安全团队描述但发布者身份未经企业注册表核验,属未知。
output_usability:CLI有进度输出示例、结构化JSON输出选项与错误退出码(测试验证process.exitCode=1),得2。marginal_value:'Context Control'瘦身LLM上下文、免逐API自建MCP服务器是相对差异点,但仅README断言。cost_benefit扣分:节省token等核心收益声明无量化或可追溯数据,运行需Docker多容器栈,成本不低。
fact_inference_separation为2:README将功能事实与愿景性营销混合但仍可辨识。claim_traceability扣分:'signed SBOM & checksums'、SonarCloud指标、LFX/Scorecard徽章均指向外部系统,本批源文件内无法验证;'seconds'级转换等断言无仓库内证据。cross_source_corroboration为1:CI配置证实签名/证明流程存在,但测试结果与安全评级无法在静态审阅中核实。
- 静态审阅仅覆盖README、LICENSE、SECURITY.md、CI工作流与部分CLI测试,未审阅核心Java控制面/代理源码,结论置信度低。
- 控制面默认凭据为admin/password且未见强制修改提示,本地部署后应立即更换。
- 运行时会向第三方API转发请求并在本地暴露5555/7777端口,部署时应评估网络暴露面。
- rollback/降级路径无文档支持,升级前请备份配置。
- README中的性能与收益声明(token节省、秒级转换)为营销表述,未经本审阅验证。
- CLI的reshapr run会从远程拉取compose文件,属供应链信任决策,建议核对签名。