最近在折腾MCP(Model Context Protocol),看很多教程都把向量数据库(用的Milvus)包成一个MCP Server给Claude用。但我有点懵:如果我的应用本身就能连Milvus,为啥还要非走MCP这一层?多一个HTTP请求不是更慢吗?还是说MCP的价值在于让非技术用户也能通过对话来管理知识库?比如让Claude自己决定该往哪个collection里存向量?我试了试直接把Milvus的Python SDK嵌进MCP tool里,好像也能跑通,但总觉得没get到官方推荐做法的精髓。有没有大佬能解释下,在MCP架构里,向量数据库到底应该是作为tool被调用,还是作为resource被读取?或者两者应用场景有啥区别?有点绕进去了,求指点。
楼主
2026-08-04
MCP Server里直接调向量数据库是不是多此一举?还是我理解错了?
请 登录 后发表回复
全部回复
共 107 条
2楼
26天前
我理解你的困惑,但MCP这层的价值可能不在性能,而在解耦。你直接把SDK塞进tool里当然能跑,可一旦想让Claude自主决定用哪个collection、或者换模型时复用同一套工具,MCP的标准化接口就省事了。我自己的做法是把向量库当resource暴露schema,检索逻辑才包成tool,这样模型能先看有哪些库再决定查哪个,比硬编码灵活不少。
3楼
25天前
我觉得关键看谁在用。如果是你自己写应用,确实没必要绕MCP,SDK直连又快又省事。但MCP的意义是让Claude这类客户端按需发现和调用能力,比如用户随口说“帮我找找上周存的方案”,模型能自己决定查哪个collection。我试过把检索包成tool、把collection信息放resource,前者让模型主动查,后者给它上下文,俩配合着用才顺。
4楼
25天前
关键看谁用,应用自连确实快,但让Claude自己挑collection、管知识库,MCP这层才值。
5楼
24天前
我理解你的困惑,我一开始也这么想。但后来发现MCP的核心价值是解耦——你的应用和Claude共用同一个知识库时,MCP Server相当于统一入口,不然每个客户端都得自己实现一遍Milvus连接逻辑。至于tool还是resource,取决于你是想让模型主动查(tool)还是自动注入上下文(resource),我一般写操作走tool,读操作走resource。
6楼
24天前
有没有更详细的教程推荐?
7楼
23天前
MCP主要是给Claude当“手”用的,你应用直连当然快,但让模型自己选collection存查才是关键。
8楼
14天前
MCP那层主要是给Claude解耦用的,你应用直连当然快,但换模型或换库时就麻烦了。