修复MCP服务器500错误 | AI生成和翻译
您遇到的错误是来自本地 API 端点 http://127.0.0.1:3456 的 500 内部服务器错误,该端点似乎是一个模型上下文协议(MCP)服务器。这通常用于将本地大型语言模型(LLM)(例如由 Ollama 管理的模型)桥接到应用程序,如 Claude Desktop、VS Code 扩展(例如 Copilot)或像 Cursor 这样的 IDE,以执行 AI 辅助编码任务。底层的 JavaScript/TypeScript 错误——”Cannot read properties of undefined (reading ‘includes’)”——表明服务器代码试图在一个未定义或为 null 的变量上访问 .includes() 方法,这很可能发生在请求处理、响应处理或与 Ollama 交互期间。
当调用 API 来分析或修复代码(在您的情况下是 recommend_posts.py 脚本)时,经常会出现此问题,但服务器由于配置问题、缺少依赖项或来自后端 LLM 的意外响应而失败。
故障排除和修复步骤
- 验证 Ollama 是否正在运行并已配置:
- Ollama(本地 LLM 引擎)通常是 MCP 服务器的后端。确保它已安装并在其默认端口(11434)上运行。
- 在终端中运行
curl http://localhost:11434/api/tags进行测试。这应该会列出已安装的模型。如果失败或返回空列表,请使用ollama pull <模型名称>(例如ollama pull llama3)安装一个模型。 - 如果 Ollama 没有响应,请使用
ollama serve启动它,并确认没有端口冲突。
- 重启 MCP 服务器:
- 端口 3456 上的 MCP 服务器可能处于不良状态。终止进程:
kill -9 $(lsof -t -i:3456)。 - 根据您的设置重新启动它(例如,如果使用像
ollama-mcp这样的工具,请从其文档运行启动命令)。检查启动日志,确认是否成功连接到 Ollama。
- 端口 3456 上的 MCP 服务器可能处于不良状态。终止进程:
- 检查端口冲突或 Claude Desktop 干扰:
- Claude Desktop(如果已安装)通常使用端口 3456 进行身份验证或 MCP。如果它正在运行,请关闭应用程序或如上所述终止其进程。
- 如果您使用 Cursor 或 VS Code,请确认您的 settings.json 具有正确的 API 基础 URL 并且没有拼写错误。在启动 MCP 服务器时,通过设置环境变量(如
PORT=4567)临时切换到不同的端口,然后更新您的 API 基础 URL 以匹配。
- 更新软件并检查日志:
- 更新 Ollama:
ollama update。 - 如果使用特定的 MCP 桥接(例如来自 GitHub 仓库,如 emgeee/mcp-ollama 或 patruff/ollama-mcp-bridge),请拉取最新版本并重新构建/重新安装。
- 使用详细日志记录运行 MCP 服务器(如果支持,添加
--debug等标志),并检查输出以获取关于什么未定义的线索(例如,来自 Ollama 的响应缺失或请求负载无效)。 - 在 Cursor 或您的 IDE 中,检查开发者控制台(在 Cursor 中按 Ctrl+Shift+I)以获取其他错误详细信息。
- 更新 Ollama:
- 直接测试 API:
- 使用 curl 模拟一个简单的 API 请求:
curl -X POST http://127.0.0.1:3456/v1/chat/completions -H "Content-Type: application/json" -d '{"model": "your-model-name", "messages": [{"role": "user", "content": "Hello"}]}'。 - 如果它返回相同的 500 错误,则问题出在服务器端。如果它正常工作,则问题可能特定于您的 IDE 格式化请求的方式(例如,包含文件内容时格式错误的负载)。
- 使用 curl 模拟一个简单的 API 请求:
- 变通方法:
- 切换到直接的 Ollama OpenAI 兼容端点:将您的 API 基础 URL 设置为
http://127.0.0.1:11434/v1(Ollama 支持此功能),如果不需要 MCP 进行高级上下文功能,则绕过 MCP。 - 使用不同的 MCP 实现或工具。例如,尝试一个不使用 MCP 的最小 Ollama 设置来进行代码修复。
- 如果这是在 Cursor 中,通过移除自定义基础 URL 暂时回退到基于云的模型(例如,通过官方 API 使用 Claude)。
- 重新安装依赖项:如果您的 MCP 服务器使用 Node.js,请在其目录中运行
npm install以修复任何缺失的模块。
- 切换到直接的 Ollama OpenAI 兼容端点:将您的 API 基础 URL 设置为
如果这些方法不能解决问题,错误可能源于您特定 MCP 桥接版本中的错误,尤其是在处理文件内容或帖子推荐时触发该错误。在 GitHub 上使用错误消息搜索您确切的 MCP 仓库的问题,或者用您的设置详细信息打开一个新问题。
Failed to register Ollama model: TypeError: Cannot read properties of undefined (reading ‘includes’) Ollama MCP Server on GitHub Model Context Protocol Documentation Ollama Documentation