MCP 是什么
MCP(model context protocol) 是什么呢? 我看网上都讲得很玄乎,这里我尝试让大家看的更清晰些。
了解一个事务或者技术,先来看他要解决的问题和演化路径。为了让模型不仅仅只是能输出文本(包括图片,音频,视频),还能调用外部工具, OpenAI 首先提出了 function calling 的功能,具体做法是,大模型输出一个特定格式的json文本来描述你提供给他的函数名字和参数值,你自己写代码解析这个json文本,然后调用这个函数,这样就实现了大模型可以调用函数了,函数里的逻辑也是你自己自定义的。到这里为止, OpenAI 只是提供了一个标准,你提供函数定义给他,他给你吐出需要调用的函数以及参数的json,其他的东西你全部都要自己做一遍。
比如你想大模型自动调用github 的push API,你就需要自己定义一个函数,实现对github api 的调用,然后将函数转化成openai 接受的格式发给他,然后解析openai 规范返回的值,最后执行这个函数。
现在 MCP 就是要把这一点标准化,给你一个客户端SDK, 给你第一个服务端SDK ,这样只要你客户端(比如你的前端页面)和服务端(比如github 的API 服务)都是都按这套规范实现,那么你就可以调用自己的或者任何第三方以 MCP 暴露的函数。所以明白了 MCP的价值吧?
两点,第一点,让function calling 的标准化,其次,只要所有API 都重新以 MCP Sever来暴露,那么大模型就可以直接调用世界上所有的API ,实现操作万物。
其实不仅仅是所有API 要重新为大模型构建/暴露, 世界上所有的技术文档, 编程语言接口都要为大模型重新构建和暴露。这是趋势。。。。
更深入的了解 MCP
你还可以把 MCP 的文档放到 auto-coder.RAG 知识库里,这样你可以随意提问,就像有个 MCP 专家在指导你,包括开发 MCP Server
https://uelng8wukz.feishu.cn/wiki/DrPBwMibYicUv8k6fSjcVC7dned?fromScene=spaceOverview
auto-coder.chat 如何使用 MCP Server
目前已经至少有过千的 MCP Server 实现了,你可以在 auto-coder.chat 中通过一条命令就可以随意安装一个 MCP Server ,然后实现对这个Server的使用。这里我们以对接 https://www.perplexity.ai/ API 为例来介绍具体使用方法。
执行如下指令,查看已有的的 mcp server:
/mcp /list
通过名字来进行安装:
/mcp /add perplexity
如果你安装的是第三方的,系统会自动通过 pip / npx 安装相应的依赖库。请确保你的电脑拥有 pip /npx 命令。如果没有,系统也会提醒你。
因为 perplexity 需要API Key 才能访问,所以需要手动添加下 Key。
手动修改下文件 `~/.auto-coder/mcp/settings.json`:
{ "mcpServers": { "perplexity": { "command": "python", "args": [ "-m", "autocoder.common.mcp_servers.mcp_server_perplexity" ], "env": { "PERPLEXITY_API_KEY": "{{PERPLEXITY_API_KEY}}" } } }}
将 {{PERPLEXITY_API_KEY}}
整个替换成你实际 API Key。 然后刷新下:
/mcp /refresh perplexity
现在,我可以使用 /mcp 询问一些问题:
/mcp 帮我搜索下 auto-coder.chat 是什么东西
这里我们通过”帮我搜索下“ 来引导 auto-coder.chat 选择 perplexity 提供的工具来进行检索。
你还可以通过下面的指令查看当前已经注册的 server:
/mcp /list_running
总结
你可以在通过mcp 在 auto-coder.chat 中快速的获取信息,或者进行各种操作(比如git,你可以参考上面的方式安装 mcp-server-git) 从而无需学习如何使用 git 命令就可以操作git.
最后文档地址:
https://uelng8wukz.feishu.cn/wiki/A5CkwBSHki9KNCktAeIcxKKInWc?fromScene=spaceOverview