DiscoMCP – 将未知的MCP转化为AI代理可重复使用的操作技能
DiscoMCP是一个开源工具,通过分析用户的实际使用模式,将任意MCP服务器转化为AI代理可用的定制技能,而非通用工具列表。它保证只读操作,一键启动,并显著减少代理与复杂服务器交互的往返次数。
DiscoMCP是一个创新的开源项目,旨在解决AI代理在使用MCP(模型上下文协议)服务器时面临的典型问题:代理虽然擅长代码,但往往在众多工具中迷失,不知道哪些操作重要、数据如何关联以及哪些操作是安全的。这导致代理经常猜测或停滞不前。
DiscoMCP通过一个简单的命令即可解决这个问题。它指向任意MCP服务器,然后为代理生成一个关于如何使用该服务器的“技能”——不是通用的工具列表,而是用户实际的工作流和数据:用户真正使用的视图、表和记录,回答真实问题的序列,以及结果之间的关联。该技能通过观察用户自己的工作空间学习而来,且无需对现有系统做任何更改。
该工具的核心卖点之一是“只读保证”。DiscoMCP在一个默认拒绝的门控后运行:仅当能证明某个操作是读取时才执行。任何可能写入、更改或删除的操作都会被拒绝,即使工具声称无害。所有保存的内容中敏感信息也会被剥离。这使得用户可以在生产系统中放心地让代理学习。
DiscoMCP的使用非常简单:只需运行npx @ieranama/discomcp --help,然后配置一个简单的TOML文件指向目标服务器,再执行discomcp serve --config ./discomcp.toml即可。代理进行探索,DiscoMCP保证安全并生成技能文件,结果保存在.discomcp/profiles/<目标>/SKILL.md中,可直接用于代理。
基准测试显示,在相同问题、相同服务器、相同模型的情况下,使用生成技能后任务效率显著提升:目标查找减少了约28%的往返次数(从约12次降至约5次),跨数据集推理减少约44%(从约10次降至约6次),完整管道追踪减少约57%(从约10-13次降至约3次)。项目团队指出,样本量较小,这些结果仅指示方向而非保证,但使用技能在复杂服务器上能减少往返次数并带来更稳定的行为。
DiscoMCP使用Rust构建,模型负责思考,而一个小的确定性核心执行所有安全检查。生成的技能中的每个声明都标记了信息来源(声明、文档、观察或推断),代理不会将猜测当作事实。项目采用Apache-2.0或MIT许可证双许可,并欢迎贡献。