【AI】如何基于cursor创建MCP索引pdf

我们可以把MCP理解成Cursor和外部功能之间的"翻译官",它能让Cursor和专门处理PDF的工具"对话",实现PDF解析、向量化存储和检索这些功能。

一、MCP到底是什么

MCP全称是‌Model Context Protocol‌,简单来说就是一套"沟通规则",它规定了Cursor怎么和外部的服务、工具交流。比如你想让Cursor处理PDF,Cursor本身没有这个能力,就需要通过MCP这个"翻译官",把你的需求"翻译"成外部PDF处理工具能听懂的语言,再把工具处理好的结果"翻译"回Cursor能展示的内容。

二、Windows电脑上怎么创建或获取MCP

  1. 先确认基础环境
    确保你的Windows电脑已经安装了Python(推荐3.8及以上版本),可以从Python官网下载安装。
    安装好Python后,打开命令提示符(Win+R输入cmd),输入pip --version,确认pip(Python的包管理工具)能正常工作。
  2. 创建MCP服务端(以PDF解析为例)

这里我们用一个简单的开源框架来搭建,步骤如下:

安装依赖工具‌

在命令提示符里输入以下命令,安装文档解析、向量处理需要的工具:

复制代码
bash
Copy Code
pip install pdfplumber sentence-transformers faiss-cpu langchain

pdfplumber:负责把PDF里的文字提取出来

sentence-transformers:把提取的文字转换成计算机能理解的"向量"

faiss-cpu:用来存储和检索这些向量

langchain:帮我们快速搭建MCP服务的框架

编写MCP服务代码‌

新建一个叫pdf_mcp_server.py的文件,把下面的代码复制进去:

c 复制代码
python
Copy Code
from langchain.document_loaders import PyPDFLoader
from langchain.text_splitter import CharacterTextSplitter
from langchain.embeddings import SentenceTransformerEmbeddings
from langchain.vectorstores import FAISS
from langchain.chains import RetrievalQA
from langchain.llms import OpenAI  # 如果用本地模型,可替换为LocalLLM
import json
import socket

# 1. 加载PDF并拆分文本
loader = PyPDFLoader("你的PDF文件路径.pdf")
documents = loader.load()
text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=200)
texts = text_splitter.split_documents(documents)

# 2. 转换成向量并存储
embeddings = SentenceTransformerEmbeddings(model_name="all-MiniLM-L6-v2")
vectorstore = FAISS.from_documents(texts, embeddings)

# 3. 创建MCP服务接口
def handle_mcp_request(request):
    # 解析请求(这里简化处理,实际可根据MCP协议规范调整)
    query = request.get("query", "")
    if not query:
        return {"error": "缺少查询内容"}
    
    # 用向量检索回答问题
    retriever = vectorstore.as_retriever()
    qa = RetrievalQA.from_chain_type(llm=OpenAI(), chain_type="stuff", retriever=retriever)
    result = qa.run(query)
    return {"answer": result}

# 4. 启动服务(监听本地端口)
def start_server():
    server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    server.bind(("localhost", 9000))
    server.listen(1)
    print("MCP服务已启动,监听端口9000")
    while True:
        client, addr = server.accept()
        request = json.loads(client.recv(1024).decode())
        response = handle_mcp_request(request)
        client.send(json.dumps(response).encode())
        client.close()

if __name__ == "__main__":
    start_server()

注意把代码里的"你的PDF文件路径.pdf"替换成你电脑里实际的PDF文件路径

如果不想用OpenAI的在线模型,也可以换成本地的开源模型,比如LlamaCpp,需要额外安装pip install llama-cpp-python

启动MCP服务‌

把代码保存好后,在命令提示符里进入这个文件所在的文件夹,输入python pdf_mcp_server.py,就会启动MCP服务,它会在本地的9000端口等待Cursor的连接。

  1. 在Cursor里配置MCP

打开Cursor,进入设置界面(快捷键Ctrl+Comma)

找到Model Context Protocol相关设置,添加一个新的MCP服务:

服务名称:可以随便起,比如PDF解析服务

服务地址:填写http://localhost:9000

协议版本:选择最新版本

保存设置后,重启Cursor,现在你就可以在Cursor里上传PDF,然后提问,它就会通过MCP调用我们搭建的服务来处理PDF啦

三、快速获取现成MCP服务(不想自己搭建)

如果你不想自己写代码,也可以用一些开源的现成工具,比如:

PrivateGPT‌:一个开源的本地PDF处理工具,它本身就支持MCP协议,你可以直接下载安装,然后在Cursor里配置它的服务地址

quivr‌:另一个开源的RAG工具,也支持MCP,安装后可以快速和Cursor对接

从截图来看,你同事的 Cursor 目前没有安装任何 MCP 工具(显示 "No MCP Tools")。


添加 MCP 的两种方式

方式一:通过 UI 添加(截图中的按钮)

点击 "Add Custom MCP" 按钮,然后填写:

字段 说明
Name 工具名称,如 yocto-builder
Type 选择 stdio(本地命令)或 sse(远程服务)
Command 启动命令,如 python3node
Arguments 参数,如 /path/to/yocto_mcp_server.py

方式二:直接编辑配置文件(推荐 ⭐)

创建或编辑项目根目录的 .cursor/mcp.json

json 复制代码
{
  "mcpServers": {
    "yocto-sa522": {
      "command": "python3",
      "args": ["/home/user/yocto-mcp/yocto_mcp_server.py"],
      "env": {
        "YOCTO_BUILD_DIR": "/path/to/yocto/build"
      }
    },
    "android-adb": {
      "command": "npx",
      "args": ["-y", "android-debug-bridge-mcp"]
    }
  }
}

然后 重启 Cursor 或按 Cmd/Ctrl + Shift + PDeveloper: Reload Window


快速测试步骤

bash 复制代码
# 1. 创建目录
mkdir -p ~/cursor-mcp && cd ~/cursor-mcp

# 2. 保存之前提供的 yocto_mcp_server.py
# [粘贴代码]

# 3. 安装依赖
pip install mcp

# 4. 测试服务器能否独立运行
python3 yocto_mcp_server.py
# 应该没有报错,等待输入

# 5. 配置 Cursor
# 按上面的方式二创建 .cursor/mcp.json

验证安装成功

配置完成后,在 Cursor 中:

  1. 查看 Tools 面板 → 应该显示 yocto-sa522 和可用工具列表
  2. 在 Composer 中测试 : "使用 yocto 工具编译 linux-qcom"

如果成功,Cursor 会自动调用 bitbake_compile 工具。


常见问题

问题 解决
显示 "Connection refused" 检查 Python 路径是否正确
工具不显示 确保 mcp.json 语法正确,重启 Cursor
命令执行失败 在终端先测试 python3 yocto_mcp_server.py 是否能运行
权限不足 确保有执行权限:chmod +x yocto_mcp_server.py

需要我提供一个 简化版的 yocto_mcp_server.py 吗?只保留最核心的编译和日志功能,方便快速测试。

相关推荐
数字供应链安全产品选型1 小时前
AI造“虾”易,治理难?悬镜多模态 SCA 技术破局 AI 数字供应链治理困局!
人工智能·安全·网络安全·ai-native
火山引擎开发者社区1 小时前
只需聊聊天,应用就上线:ArkClaw 对话开发与 IGA Pages 极速部署实践
人工智能
昨夜见军贴06162 小时前
AI报告编审解决方案重塑工作节奏:IA-Lab AI检测报告生成助手与IACheck让报告处理从紧张走向从容
人工智能
芯智工坊2 小时前
第13章 Mosquitto监控与日志管理
前端·网络·人工智能·mqtt·开源
扬帆破浪2 小时前
开源的WPS AI文档编审软件适用场景:察元 AI 文档助手
人工智能·开源
爱学习的小仙女!2 小时前
机器学习面试题(二) 损失函数 常见损失函数
人工智能·机器学习
墨染天姬2 小时前
【AI】注意力机制
人工智能
quetalangtaosha2 小时前
Anomaly Detection系列(CVPR2025 DeCo-Diff论文解读)
人工智能·计算机视觉·异常检测
一只猿Hou2 小时前
【SpringAI教程】第一阶段: AI 应用工程化(基础入门)
人工智能