折腾了两天,快破防了。我在本地用Python写了一个简单的MCP服务器(就一个get_weather工具),用mcp.run(transport="stdio")启动,然后在Cursor的MCP配置里填了python /path/to/server.py。配置文件里能看到服务器状态是connected,但工具列表一直是空的,怎么刷新都没用。我试过用官方的@mcp.tool()装饰器,也试过直接暴露函数,都不行。看日志也没报错,就是加载不出来。是不是Cursor对MCP的协议版本有要求?还是我少配了name和version字段?有没有老哥用MCP踩过类似的坑,求指点一下排查思路。
楼主
21天前
MCP服务器接入Cursor后工具列表是空的,有人遇到过吗?
请 登录 后发表回复
全部回复
共 63 条
2楼
2天前
我之前也卡在这过,后来发现是Python环境的问题,Cursor那边用的Python解释器和你自己终端里跑的不是同一个,导致MCP server起是起来了但协议握手没走完。你试试在配置里把python路径写成绝对路径,或者直接指定虚拟环境里的python。另外检查下你的server.py有没有加if name == "main":的入口,有时候直接跑没问题但被当模块调用就怪怪的。name和version字段按理说不是必须的,但加上也没坏处,可以顺手补全试试。
3楼
2天前
我之前也卡在这过,后来发现是Python环境的问题,Cursor那边用的解释器跟我终端里activate的不是同一个,导致MCP server根本没起来。你试试在配置里直接写死绝对路径的python,或者在server.py开头加个print调试下有没有被调用。另外版本字段最好还是加上,虽然官方说可选,但有些客户端就是会抽风。
4楼
2天前
我之前也卡在这过,后来发现是Python环境的问题,Cursor用的解释器跟我终端里跑的不是同一个,得在配置里写绝对路径或者直接用which python确认一下。另外你可以试试在服务端代码里加个启动日志,比如print一下注册了哪些工具,看stdio连接时到底有没有加载成功。协议版本倒是不用太担心,官方SDK一般兼容性没问题,反而name和version不是必须的,但补上也没坏处。还有个笨办法,用npx @modelcontextprotocol/inspector单独连一下你的服务器,能直观看到工具列表返回了啥。