传统知识库与 MCP 的结合
在以往的 RAG 方案中,开发者需要构建复杂的专门聊天 Web 界面。而通过 MCP 协议,可以直接将检索能力作为一种 Tool 注入到开发者日常使用的 Cursor、Claude 等原生编辑器中。
1. 架构总览
- 文档摄取:解析 Markdown/PDF,生成 Embedding 并存入 Qdrant 集合;
- MCP 工具定义:暴露
query_knowledge_base(query, domain)工具; - 混合召回:Qdrant 结合 Dense Vector 相似度与 Sparse 关键词匹配,返回 Top-3 最相关段落。
2. 核心查询工具代码实现
@mcp.tool()
async def search_company_docs(query: str, top_k: int = 3) -> str:
"""在公司工程内网文档库中检索规范、设计方案与常见踩坑记录"""
query_vector = embed_model.get_embedding(query)
search_result = qdrant_client.search(
collection_name="internal_docs",
query_vector=query_vector,
limit=top_k
)
output = []
for hit in search_result:
output.append(f"【来源: {hit.payload['source']}】\n{hit.payload['text']}\n")
return "\n---\n".join(output)
开发者在编码过程中只需询问:“我们团队对支付接口幂等性的实现规范是什么?”,Agent 便会自动调取文档并给出完全遵循公司标准的代码!