1.pdf在线链接

</div>

MCP + 数据库,一种比 RAG 检索效果更好的新方式!

作者:Conardi.i | code秘密花园


一、背景:RAG 的局限性

RAG(检索增强生成)通过结合信息检索和生成模型解决大模型的知识准确性问题,但存在以下问题:

  1. 检索精度不足:依赖向量相似度匹配,易包含无关内容或遗漏关键信息。
  2. 生成内容不完整:文档分块导致无法获取全局信息,回答“列举/总结类”问题不完整。
  3. 缺乏多轮检索能力:无法执行复杂查询或判断文档间关联。

二、理论:了解 MCP 的基础知识

2.1 Function Call

  • 功能:大模型调用外部工具(如查询天气、数据库)的接口。
  • 缺点
    • 实现成本高,需模型支持特定调用规则。
    • 协议碎片化,不同模型适配方式不同(类似不同品牌手机的充电接口)。

2.2 Model Context Protocol (MCP)

  • 定义:Anthropic 推出的开放协议,统一AI模型与外部数据源/工具的交互标准。
  • 核心价值
    • 协议标准化(基于 JSON-RPC 2.0)。
    • 工具热插拔,无需修改模型代码。
    • 解决数据孤岛、重复开发、生态割裂问题。

2.3 MCP vs Function Call

对比维度 Function Call MCP
协议标准 私有协议 开放协议
扩展成本 高(需调整模型) 低(即插即用)
适用场景 简单任务(单次调用) 复杂流程(多工具协同)

三、尝试:MCP 的基本使用

3.1 MCP 客户端(Host)

支持工具示例:

  • AI聊天工具:Claude Desktop、LibreChat
  • AI编程工具:Cursor、Cline
  • 开发框架:Genkit、BeeAI

3.2 MCP Server

  • 类型
    • 文件访问类(如 File System MCP Server)。
    • Web自动化类(如 Puppeteer MCP Server)。
    • 三方工具集成类(如高德地图 MCP Server)。
  • 资源获取:通过官方仓库(GitHub)或社区市场(MCP Market)。

3.3 在 Cherry Studio 中尝试 MCP

  1. 安装环境:配置文件系统访问权限(如路径 /Users/bytedance/Desktop/project/dev/mcp-server-demo)。
  2. 启用支持MCP的模型(带扳手图标)。
  3. 示例指令:
    mcp-server-demo 下有哪些文件?  
    生成鲁迅简介的md文档并保存到该目录。
    

四、实战:使用 MCP 调用数据库

4.1 MongoDB 配置

  1. 安装:下载 MongoDB Community Server 和可视化工具 Compass
  2. 导入数据:通过Python脚本将学生信息表导入 studentManagement 数据库。
    import pandas as pd  
    from pymongo import MongoClient  
    client = MongoClient('mongodb://localhost:27017/')  
    db = client['studentManagement']  
    data = pd.read_csv("学生信息.csv")  
    db.students.insert_many(data.to_dict('records'))
    

4.2 VSCode + Cline 配置

  1. 安装Cline插件:在VSCode插件市场搜索并安装。
  2. 配置MCP Server:手动添加 mcp-mongo-server 配置:
    {  
      "mongodb": {  
        "command": "npx",  
        "args": ["mcp-mongo-server", "mongodb://localhost:27017/studentManagement"]  
      }  
    }
    

4.3 查询示例

  • 简单查询
    目前共有多少名学生? → 返回结果:32名
    
  • 复杂查询
    身高>180cm、姓李的男同学 → 返回结果:3名
    
  • 模糊查询
    期末考试比平时成绩好的学生 → 模型通过聚合管道分析成绩表并返回结果。
    

4.4 通过 Prompt 优化

添加全局提示词描述数据库表结构(如学生表、成绩表字段及关联关系),提升模型查询准确性。


五、对比与局限性

4.5 对比知识库(RAG vs MCP)

  • RAG缺点
    • 依赖文本匹配,无法执行结构化查询(如“张老师的联系方式”)。
    • 回答模糊或无法完成复杂分析。
  • MCP优势:直接执行数据库查询,结果精准。

4.6 局限性

  1. 数据量限制:避免单次查询过大导致Token消耗剧增。
  2. Token消耗:MCP依赖系统提示词,Token用量显著增加。

全套教程资源:《人人都能学会的 AI 教程》合集
代码与配置示例GitHub仓库