白话MCP
简单讲讲对MCP的理解
工具的发展
自己写工具的代码逻辑,通过prompt告诉模型,在需要的时候返回functioncall
痛点:和业务长在一起,如何拓展,如何共享?
MCP应运而生,按照MCP协议开发的python/js脚本,可以共享本地运行,也可部署MCP server供统一调用。
MCP-Client/MCP-Server(更像一个中间件)
client端的mcp config json可以配置npx/uvx的方式运行,可以看出对应的js/python的管理工具。
可以很容易的想到,都是脚本语言,stdio的模式:通过index.js/xxxx.py进行本地调用
对应的MCP-Server代码,管理在云仓库,通过包管理工具拉取
client端访问server端支持SSE(server send event)(官方表示不建议使用,因为需要保持长连接,稳定性堪忧)
client端访问server端支持http(推荐),对应的MCP-Server就要从脚本变成一个服务,不过也很简单,都有成熟的MCP框架。
client端怎么知道访问哪个MCP-Server?
万变不离其中,还是prompt,成熟的ide都维护了一套整体prompt(自己开发的可以去借鉴),告诉了怎么去调用MCP-Server
MCP-Server只需要告诉client端自己提供了哪些功能就可以,填充到上面提到的整体prompt中
MCP协议的好处就体现出来了,按协议开发的server端以及client端的配置,client端能auto获取简单的工具描述
当然成熟的ide都支持自定义描述,更加贴合业务,识别更精准
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 故宫而过
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果