当前位置: 首页 > news >正文

把MCP Server接入Claude Desktop和Cursor

摘要:详细介绍MCP Server接入Claude Desktop和Cursor的完整配置流程,包含claude_desktop_config.json编写、stdio传输配置、常见连接问题排查,让AI工具调用你的自定义MCP工具。

把MCP Server接入Claude Desktop和Cursor

上一篇我们写了个计算器Server,在MCP Inspector里跑通了。但Inspector只是调试工具,真正用起来,得让AI客户端认识你的Server。我当时第一次接Claude Desktop,配了半天没反应,重启了五六次才搞明白是路径写错了。Cursor那边更折腾,配置文件位置找了半天。这篇我把两个主流客户端的接入方法一次性讲清楚,附上我踩过的连接坑和排查思路。

我们继续用上一篇的calc_server.py,看看它在Claude Desktop和Cursor里被AI调用的完整效果。


接入Claude Desktop

Claude Desktop是接入MCP最顺手的客户端,原生支持,配置文件就一个。

先确认你装了Claude Desktop,并且更新到最新版。旧版本可能没有MCP支持入口。

配置文件的位置按系统不同。

  • macOS,~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows,%AppData%\Claude\claude_desktop_config.json

Windows下完整路径一般是C:\Users\你的用户名\AppData\Roaming\Claude\claude_desktop_config.json。如果文件不存在,自己建一个。

打开Claude Desktop,进设置,找到Developer或开发者选项,点Edit Config,它会自动用默认编辑器打开这个json文件。这比手动找路径方便。

配置文件的内容长这样。

{"mcpServers":{"calculator":{"command":"python","args":["C:\\ABSOLUTE\\PATH\\TO\\calc_server.py"]}}}

这里有几个容易出错的细节,我逐个说。

第一,路径必须用绝对路径。Claude Desktop启动Server时的工作目录不是你的项目目录,用相对路径会找不到文件。

第二,Windows路径里的反斜杠要写两遍。JSON里单个反斜杠是转义符,C:\Users\xxx会解析出错。要么写成C:\\Users\\xxx,要么直接用正斜杠C:/Users/xxx,两种都行。

第三,command字段填的是启动命令。如果你用uv管理,建议写成下面这样更稳。

{"mcpServers":{"calculator":{"command":"uv","args":["--directory","C:\\projects\\my-first-mcp","run","calc_server.py"]}}}

用uv的好处是它会自动激活虚拟环境,不用你操心Python解释器路径。如果你直接用python,要确保这个python能找到mcp包,否则启动即报错。

第四,如果uvpython不在系统PATH里,Claude Desktop会启动失败。这种情况把command换成可执行文件的完整路径,比如C:\\Users\\xxx\\AppData\\Local\\Programs\\Python\\Python311\\python.exe。Windows下可以用where uvwhere python查到完整路径。

保存配置文件后,彻底退出Claude Desktop再重新打开。注意是退出,不是最小化。Mac上Cmd+Q退出,Windows右键托盘图标退出。重启后,在对话界面的输入框附近会多出一个工具图标,展开能看到你配置的Server和它提供的工具。

试着问一句"帮我算一下12的阶乘"。Claude会识别出需要调用factorial工具,弹出一个确认提示,你点允许,它就调用并返回"12 的阶乘是 479001600"。第一次看到AI调用自己写的工具,感觉挺奇妙。

接入Cursor

Cursor的MCP接入稍微绕一点,配置文件位置和Claude Desktop不同。

Cursor支持两种配置范围。一种是全局配置,对所有项目生效,文件在~/.cursor/mcp.json。Windows下是%USERPROFILE%\.cursor\mcp.json,完整路径大概是C:\Users\你的用户名\.cursor\mcp.json。另一种是项目级配置,只对当前项目生效,文件在项目根目录的.cursor\mcp.json

更简单的办法是走图形界面。打开Cursor,进Settings,找到MCP这一项,点Add new MCP server。它让你填名字、类型选stdio、再填command和args。填完它会自动生成配置文件,省得手动找路径。

不管哪种方式,最终生成的json格式都一样。

{"mcpServers":{"calculator":{"command":"uv","args":["--directory","C:\\projects\\my-first-mcp","run","calc_server.py"]}}}

注意Cursor的配置结构跟Claude Desktop几乎一样,都是mcpServers下面挂Server名,再挂commandargs、可选的env。所以一份配置基本能两边通用。

如果Server需要环境变量,比如数据库密码、API key,用env字段传入。

{"mcpServers":{"calculator":{"command":"uv","args":["--directory","C:\\projects\\my-first-mcp","run","calc_server.py"],"env":{"SOME_API_KEY":"your-key-here"}}}}

保存后重启Cursor。在Cursor的对话窗口里,输入框上方有个工具开关,确认你的calculator Server是启用状态。然后输入"用calculator工具算一下7加8"。Cursor会调用add工具并返回结果。

这里要提醒一个Cursor的限制。Cursor目前主要消费MCP的Tools能力,对Resources和Prompts的支持不如Claude Desktop完整。如果你的Server重度依赖Resources和Prompts,建议优先在Claude Desktop里验证。

调试技巧

接入客户端后经常会遇到连不上的情况。我总结了一套排查流程,按顺序往下查。

第一步,先确认Server本身能独立跑。在终端里直接执行python calc_server.py,它应该阻塞等待输入,不报错。如果一启动就报错,那是Server代码或环境的问题,跟客户端无关。

第二步,检查配置文件JSON格式。JSON对逗号、引号很敏感,多一个少一个都解析失败。把整个文件粘到任意JSON校验工具里检查一遍。我踩过一次坑,最后一个配置项后面多了个逗号,Claude Desktop静默忽略整个文件。

第三步,看客户端日志。Claude Desktop的日志位置,macOS是~/Library/Logs/Claude/mcp.log,Windows是%AppData%\Claude\logs\mcp.log。Server启动失败的原因基本都在这里。Cursor的日志在Settings的MCP面板里能直接看到每个Server的状态和报错。

第四步,用MCP Inspector复现客户端的启动方式。Inspector其实就是个MCP客户端,它连得上,说明Server没问题,问题在客户端配置。Inspector连不上,问题在Server本身。

第五步,注意stdout污染。这个坑上一篇提过,这里再强调。如果你在Server里写了print(),接客户端后Server会启动失败或者调用时断连。日志里会看到JSON解析错误。把所有print改成stderr输出。

完整配置示例

我把两个客户端的完整配置放在一起,方便你对照。假设项目在C:\projects\my-first-mcp,Server文件是calc_server.py

Claude Desktop的claude_desktop_config.json

{"mcpServers":{"calculator":{"command":"uv","args":["--directory","C:\\projects\\my-first-mcp","run","calc_server.py"]}}}

Cursor的.cursor\mcp.json

{"mcpServers":{"calculator":{"command":"uv","args":["--directory","C:\\projects\\my-first-mcp","run","calc_server.py"]}}}

macOS用户把路径换成/Users/你的用户名/projects/my-first-mcp这种形式,注意用正斜杠,不用双反斜杠。

效果验证

接好后实测一遍。

在Claude Desktop里问"帮我算15加27,再算10的阶乘"。Claude会连续调用两次工具,先add(15, 27)得到"15 加 27 等于 42.0",再factorial(10)得到"10 的阶乘是 3628800"。整个过程你能看到每次调用的确认弹窗,工具名、参数都列得清清楚楚。

在Cursor里问"用计算器工具算一下9的阶乘"。Cursor调用factorial(9),返回"9 的阶乘是 362880"。结果会直接出现在对话里,像AI本来就会算一样。

两个客户端用的是同一份Server代码,一行没改。这就是MCP标准化的好处。

常见问题与避坑

坑一,配置改了但客户端没反应。九成是没彻底重启。Claude Desktop关窗口不算退出,要退出进程。Cursor改了配置也要重启或重新加载MCP。改完配置先彻底退出再打开。

坑二,Windows路径反斜杠没转义。JSON里C:\Users\U会被当成转义序列,导致路径错误。解决,全部用双反斜杠\\或正斜杠/。这是Windows用户最常踩的坑。

坑三,command找不到。pythonuvnpx这些命令不在客户端能找到的PATH里。症状是日志里报"command not found"或类似错误。解决,把command换成完整可执行文件路径,用where命令查。

坑四,虚拟环境没激活导致import失败。直接用python calc_server.py时,如果当前python不是虚拟环境里的,找不到mcp包。解决,用uv的--directory run方式,或者command指向虚拟环境的python,比如C:\projects\my-first-mcp\.venv\Scripts\python.exe

坑五,多个Server配在一起其中一个出错导致整体加载失败。Claude Desktop对一个Server启动失败有时会影响整个MCP面板不显示。解决,排查时先只配一个Server,确认能跑再加其他的。日志里会标出是哪个Server出的问题。

两个客户端的接入对比

对比项Claude DesktopCursor
配置文件claude_desktop_config.json.cursor/mcp.json
配置位置AppData或Library下用户目录或项目目录
图形化配置间接,编辑器打开json有图形界面添加
Tools支持完整完整
Resources支持完整较弱
Prompts支持完整较弱
日志查看mcp.log文件设置面板内直接看
适合验证全部原语主要是工具

如果你的Server用了Resources和Prompts,用Claude Desktop验证最全。如果只做工具,两个都行,Cursor还更方便在编码场景里用。

小结

接入客户端的核心就是写对那个JSON配置文件。Claude Desktop和Cursor的配置结构几乎一样,都是mcpServers下挂command和args。最大的几个坑是路径要绝对、Windows反斜杠要转义、command要在PATH里、改完要彻底重启。排查连不上问题,按先验Server、再查JSON、再看日志、最后用Inspector复现的顺序走,基本都能定位。下一节我们写一个真正有用的Server,让AI能查你本地的文件。


相关推荐

  • 5分钟跑通你的第一个MCP Server(Python版)
    • Claude Desktop集成:配置、调试与最佳实践
    • Cursor集成:让AI编程工具调用你的MCP Server
http://www.jsqmd.com/news/1392380/

相关文章:

  • AI自治云优化等级天梯:自治能力的 6 个层级
  • 网络安全渗透测试:信息搜集全流程指南
  • 华硕笔记本控制权争夺战:G-Helper一天上手,性能、散热与续航全面解放
  • 国内靠谱的造粒机厂家哪家专业 - 甄选测评馆
  • 2026年当下:太原聚酯抗裂纤维售价不想后期频繁维修,基体韧性得靠纤维加持-烁承工程材料 - 行业甄选汇
  • palera1n越狱工具完整指南:一键解锁A8至A11芯片iOS设备的自由
  • C语言指针高频误区:为什么栈指针不能返,malloc堆指针可以返?​
  • 日志分析工具KLOGG:如何实现10GB日志文件的秒级快速搜索
  • 安全防护基础:认证授权、输入消毒、权限控制
  • ECDF:怎么看大模型 TTFT 的 P50、P90 和 P99?
  • 零基础学SQL 04:WHERE条件总写错?AND/OR/IN一图搞懂
  • 【手机+电脑】通达信《牛转乾坤》V2.00策略战法套装标策略解析使用说明书
  • Windows时间追踪免费工具实测:3分钟装好Tai,看清每天时间都花在了哪
  • 企业实战:导入数据节点
  • Windows 11越用越卡?用免费开源工具Win11Debloat,3分钟告别系统臃肿
  • 手把手教你学 Simulink—— 横向磁通电机(TFM)的高推力密度控制策略仿真
  • 哈尔滨市南岗区验光配镜哪家好 哈尔滨华东眼镜 18686776472 - 优企甄选
  • 阴离子与阳离子、芳香族与脂肪族——一文明白水性聚氨酯乳液命名规则与选型对应关系全解 - 优质品牌中立测评推荐
  • Python面向对象编程深度解析2026版:从类与对象到设计模式完整教程
  • 不用写一行代码,10分钟搭出你的第一块数据看板:Redash 完整上手指南
  • 网安面试高频考点:十大网络安全漏洞总结,原理 + 危害 + 防御背诵版
  • MCP是什么?为什么2026年每个AI开发者都需要了解它
  • 跨平台漫画浏览器怎么选?开源项目 Jasmine 让手机与电脑无缝衔接
  • “图像即证据”“眼见为实”的时代正在结束
  • 数据治理第九篇:DAMA六大模型全景收官,从宏观战略到微观执行,一套逻辑打通治理全闭环
  • 小数据撬动大治理,两企三新如何激活基层一盘棋
  • 关于图论【A*算法 | 卡码网127.骑士的攻击的思考】
  • scrcpy投屏工具实战指南:三步让电脑接管你的手机屏幕
  • 2026年兰州钢琴搬运优质服务商推荐与选择参考:甘肃蚂蚁搬家有限公司解析 - 品研笔录
  • 8.继承和多态