【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 吗?只保留最核心的编译和日志功能,方便快速测试。

相关推荐
fthux3 小时前
装闭 RenoPit 源码解析(07):装修闭坑知识库与AI Prompt构建
人工智能·ai·开源·github·open source·renopit
zyplayer-doc4 小时前
VuePress类静态文档站和动态知识库怎么选:两种技术路线的适用场景
javascript·人工智能·后端·安全·智能手机
KKKlucifer5 小时前
拨开接口黑盒迷雾:运营商第三方合作接口安全审计与准入管控落地实践
网络·人工智能·安全
梦梦代码精5 小时前
连锁品牌数字化:从门店扩张到用户资产运营的技术底座
大数据·人工智能·低代码·docker·开源·代码规范
咕噜咕噜啦啦5 小时前
vLLM框架
人工智能·qwen·vllm
启雀AI5 小时前
AI 驱动的视频课程自动摘要与知识点提取:ASR + LLM 流水线工程实践
人工智能·阿里云·华为云·音视频·培训saas平台
Mac的实验室5 小时前
2026年8月最新实操:谷歌Gmail邮箱手机号注册扫码发短信提示“无法验证”怎么办?(附100%成功绕过指南)
人工智能
MindUp6 小时前
AI辅助PPT生成工具的内容组织能力实测:8款产品的文档解析与排版效果对比
人工智能
寒草6 小时前
【寒草呈献】当巴菲特走进 AI 投研助手
人工智能·架构