[讨论] 如何把现有服务改造支持 MCP
背景:
小弟所在的团队在考虑开放一部分现有项目中的接口,使其可以支持通过 MCP 协议来提供给其他团队的 AI Agent 进行调用。目前在考虑如何实现这个诉求
目前网上能搜到的基本上是一些 demo 的验证,一般是从 0 开始,不涉及现有服务接口的迁移
目前考虑了几种方案:
1 、硬编码/注解驱动:对于每一个接口或者方法实现,都通过手动编码注册的方式,注册到 mcp server, mcp server 可以于现有服务在一起也可以单出部署;不过这种方式的问题就是每次有新功能要开放出去时,都需要手动编码注册。注解驱动的话,Java 可以很快支持,改动也较小,不过只支持 Java 项目,对 golang 不支持。
2 、代码生成:通过解析原服务的 swagger 文档等方式,自动生成代理方法,这样后续有功能开放只需要提交 API 文档即可,感觉灵活性还是蛮高的。
想问问大家是如何对现有服务的接口集成到 mcp server 的,小弟之前对 AI Agent 的了解不多,恳请大佬们赐教
给 AI 的接口怎么都要重新设计吧,AI 有这么智能?还知道调用哪个接口?
看了一些客户端的实现,mcp server 的信息也是要加到提示词里的,如果用 2 方式实现,太多接口提示词很容易超出限制吧
你向 AI 问这个问题吧。2333
github.com/LaurieWired/GhidraMCP
mcpify.ai/
看看这个能不能解决你的问题,不对现有的服务和接口做改造,而是新起一个专门的 MCP 服务
MCP 的原理就是这个啊……AI 根据接口的描述(自然语言)决定是否调用以及怎么调用。只要中间做个适配 MCP 协议的 adapter 就可以。
建议起一个 python 服务,转发一下接口
就是公司内部做一个 mcp 网关,这样就不用管其他团队后端的架构了。
这不就是 mcp 解决的问题吗
我想知道的是 mcp 的 client 端怎么解决,现在主流的几个不都是集成到了编码工具或者 ai 聊天工具里面吗
在现有服务的基础上实现一层 MCP 协议的 API Gateway,在 Gate 层实现 MCP 协议的支持,并且做鉴权和现有服务的对接、裁剪工作
AI 会根据上下文自动推断的,MCP 主要是给 AI 提供了一个标准化的操作接口,可以让 AI 操作后,拿到符合标准的上下文信息,便于后续的逻辑执行。
这个是 client 调用 server 进行执行 tool 的时候么,这个我倒可以理解; mcp server 不是还要支持 toolList 这种的获取么,这种是如何把我们项目中的接口转换成 mcp server 认为的 tools 的呢
看了 openManus 中关于 client 端的调用实现以及官方给的使用示例( modelcontextprotocol.io/quickstart/client), 其实就是 client 向 server 查询 list_tools ,然后把这些 tools 转换成了 LLM 调用时的 tool 列表。对于不同的 LLM 模型,可能要自己做 adapter
其实还一点困惑在于,sever 返回的 tools 列表,其中关于 input_schema 是不是没有严格要求,只要能返回 name, description 还有 inputSchema 的三元组就可以了,具体 inputSchema 的组织形式没有严格定义。因为还没看过 mcp 协议的原始论文规范,所以这一块有点模糊。
感谢 我看下一下
感谢,我研究一下
就是问过了,然后感觉还是不太清晰,wwwww
大佬你的想法应该和下面 yrzs 提出的类似?
对呀,要做网关,不要侵入以前的业务了。而且你看 ai 现在的趋势,就是要有统一的协议。公司内部也要有统一的 ai 网关。
之前一直是用 MarkdownPad ,但是现在 MarkdownPad 不知道为什么报错用不了。搜了半天也没找到其他合适的 要求是 不要那种笔记软件,左边还带文件夹、目录的…
留下书名以及你对这本书的评价 活着 推荐些技术书籍,大家都是程序员,其它领域的书先放一放 Kubernetes in Action, 2nd edition 重构 改…
好久没有用过,不知道现在情况怎么样。 我记得 hyper-v 是 windows 自带的,性能等基本够用。 vmware 比较好,但是要收费的。 virtualbox 是免费的…