mcp2cli Bake模式深度解析:把任意API烘焙成@命名CLI,一条命令生成专属工具
发布时间:2026/10/4 4:41:36 锦皓数字建站

mcp2cli Bake模式深度解析把任意API烘焙成命名CLI一条命令生成专属工具【免费下载链接】mcp2cliTurn any MCP, OpenAPI, or GraphQL server into a CLI — at runtime, with zero codegen项目地址: https://gitcode.com/gh_mirrors/mc/mcp2climcp2cli 是一个零代码生成的 CLI 转换工具能把任意 MCP 服务器、OpenAPI 规范或 GraphQL 端点在运行时直接变成命令行工具最高节省 96–99% 的工具 Schema Token 开销。其中Bake 模式烘焙模式是它最实用的特性之一一次配置永久复用让重复的--spec、--mcp参数和认证信息彻底消失。为什么需要 Bake 模式 想象一下你每天要用 20 次同一个 OpenAPI 接口每次都要敲这一串mcp2cli --spec https://api.example.com/spec.json \ --auth-header Authorization:Bearer tok_xxx \ --base-url https://api.example.com list-pets重复输入、密钥暴露在进程列表里、团队里每个人都得记住同一套参数——这是没有 Bake 模式时的日常。Bake 模式的核心思路把这些连接设置一次性烘焙成一个命名配置之后只需要一个名字前缀就能直接调用。它是 mcp2cli 面向高频 API 调用场景的配置书签也是 LLM Agent 接入大规模 MCP 服务器时的关键一环。核心收益命令从 4 行缩到 1 行、密钥支持env:/file:引用避免泄露、过滤规则让大服务器只暴露你需要的工具。一条命令烘焙你的专属 CLIBake 模式支持三种数据源OpenAPI--spec、MCP HTTP/SSE--mcp、MCP stdio--mcp-stdio三者互斥。# 从 OpenAPI 规范烘焙只保留 GET/POST排除 delete 和 update mcp2cli bake create petstore --spec https://api.example.com/spec.json \ --exclude delete-*,update-* --methods GET,POST --cache-ttl 7200 # 从 MCP stdio 服务器烘焙白名单只保留搜索和列表 mcp2cli bake create mygit --mcp-stdio npx mcp/github \ --include search-*,list-* --exclude delete-*烘焙成功后工具会注册到本地配置文件~/.config/mcp2cli/baked.json可通过MCP2CLI_CONFIG_DIR环境变量覆盖目录并直接给出确认Baked tool petstore created.命名的硬约束Bake 工具名必须匹配正则[a-z][a-z0-9-]*——小写字母开头只能包含小写字母、数字和连字符。这个限制保证了name前缀在 shell 中的稳定性。相关源码见_BAKE_NAME_RE定义 与_bake_create参数校验。用 前缀一键调用告别冗长参数烘焙完成后任何调用都只需名字 子命令连接参数、认证头、缓存策略全部自动注入mcp2cli petstore --list # 列出可用命令 mcp2cli petstore list-pets --limit 10 # 调用接口 mcp2cli mygit search-repos --query rust # 调用 MCP 工具它的魔法在于petstore在底层被展开成你当初bake create时的完整 argv--spec、--auth-header、--cache-ttl、--transport等再拼接你本次的子命令参数最后交给核心执行引擎。展开逻辑在_baked_to_argv调用入口在_run_baked。 你完全不需要再记--spec指向哪个文件也不用担心密钥被ps命令看到——它们都锁在本地配置里。三大过滤维度只暴露你需要的工具大服务器动辄上百个工具--list一次就吃掉几千 Token。Bake 模式提供三层过滤按固定顺序生效--methods→--include→--exclude从源码filter_commands可以看到清晰的实现过滤维度作用适用场景示例--methods按 HTTP 方法白名单只读场景禁写--methods GET,POST--include通配符白名单只要某类操作--include list-*--exclude通配符黑名单排除危险操作--exclude delete-*三个过滤器都是逗号分隔的 glob 模式匹配的是命令名。MCP 工具没有 HTTP 方法会自动跳过--methods过滤这是filter_commands的有意设计。配合 mcp2cli 的使用感知排序过滤后的烘焙工具还能进一步省 Tokenmcp2cli myapi --list --top 10 --compact # 只显示最常用的10个工具名约20 Token mcp2cli myapi --list --sort recent # 按最近使用排序完整管理生命周期list / show / update / remove烘焙工具是本地配置有完整的 CRUD 生命周期对应源码_handle_bake分发器mcp2cli bake list # 列表名称 / 类型 / 来源一屏看全 mcp2cli bake show petstore # 查看配置密钥自动打码 mcp2cli bake update petstore --cache-ttl 3600 --methods GET mcp2cli bake remove petstore # 删除并清理已安装的包装脚本密钥安全是 Bake 模式的一等公民。bake show会对认证头做脱敏——明文只显示前 4 位加****而env:/file:前缀的引用值原样展示因为它们本身就不是明文。脱敏逻辑见_bake_show。安装为独立命令让工具脱钩运行bake install会在~/.local/bin/下生成一个极简的 shell 包装脚本让烘焙工具变成一条独立系统命令无需再带mcp2cli前缀mcp2cli bake install petstore # 生成的包装脚本内容见 _bake_install # #!/bin/sh # exec mcp2cli petstore $ petstore --list # 直接当系统命令用 petstore list-pets支持--dir自定义安装目录比如装到./scripts/方便纳入项目版本管理。包装脚本的生成逻辑在_bake_install。进阶密钥、OAuth 与传输策略Bake 模式完整继承了 mcp2cli 的所有高级能力都能在bake create时一次性锁定密钥引用--auth-header Authorization:env:MY_TOKEN或file:/run/secrets/token避免明文出现在命令行由resolve_secret在运行时解析。OAuth--oauth启用授权码 PKCE 流程--oauth-client-id/--oauth-client-secret支持env:/file:前缀Token 自动缓存与刷新。传输策略--transport auto|sse|streamable锁定 MCP HTTP 传输方式跳过自动协商的往返探测。缓存 TTL--cache-ttl秒数规范与工具列表缓存在~/.cache/mcp2cli/默认 1 小时。完整参数说明可直接运行mcp2cli bake create --help查看。上手三步走 ⚡烘焙mcp2cli bake create myapi --spec ./openapi.json --methods GET --include get-*调用mcp2cli myapi --list之后任何调用都带myapi前缀可选独立化mcp2cli bake install myapi之后直接用myapi命令写在最后mcp2cli 的 Bake 模式解决的是**API 调用配置重复劳动**这个真实痛点一次烘焙命令从多行缩到一行密钥安全地锁进本地配置过滤规则让大服务器只暴露你需要的工具。它不需要你写任何代码也不需要预先生成客户端——所有命令都是从规范或 MCP 工具定义在运行时动态派生的。如果你正在用 LLM Agent 接入一个拥有上百个工具的 MCP 服务器Bake 模式 使用感知排序--top--compact的组合能把每一轮的工具清单开销压到最低这正是 mcp2cli 节省 96–99% Token 承诺的核心来源。相关文档与源码入口Bake 子命令分发与 CRUD · Bake 模式命令过滤 · Bake 模式测试用例【免费下载链接】mcp2cliTurn any MCP, OpenAPI, or GraphQL server into a CLI — at runtime, with zero codegen项目地址: https://gitcode.com/gh_mirrors/mc/mcp2cli创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。