Skip to main content
Glama

Mingli MCP Server

by spyfree
MIT License
  • Apple
  • Linux
CODEX_TROUBLESHOOTING.md6.48 kB
# Codex MCP 问题排查指南 ## 🔍 问题1:握手失败 (handshaking failed) ### 错误信息 \`\`\` MCP client for 'mingli' failed to start: handshaking with MCP server failed: connection closed: initialize response \`\`\` ### 原因分析 这个错误通常是因为: 1. **日志输出干扰了stdio通信** - 日志输出到stdout而不是stderr 2. **JSON格式问题** - 响应格式不符合MCP协议 3. **启动错误** - 服务启动过程中有错误 --- ## ✅ 解决方案 ### 方案1:使用最新代码(已修复) 最新版本已经修复了日志输出问题。 \`\`\`bash cd /Users/lix18854/Documents/code/ziwei_mcp git pull origin main source venv/bin/activate pip install -r requirements.txt \`\`\` 然后配置Codex: \`\`\`toml [mcp_servers.mingli] command = "/Users/lix18854/Documents/code/ziwei_mcp/venv/bin/python" args = ["/Users/lix18854/Documents/code/ziwei_mcp/mingli_mcp.py"] startup_timeout_sec = 15 [mcp_servers.mingli.env] TRANSPORT_TYPE = "stdio" LOG_LEVEL = "ERROR" # 减少日志输出 \`\`\` --- ### 方案2:使用PyPI包(推荐) PyPI包已经过测试,更稳定。 #### 步骤1:安装包 \`\`\`bash # 使用pipx(推荐) pipx install mingli-mcp # 或使用pip pip install --user mingli-mcp \`\`\` #### 步骤2:配置Codex \`\`\`toml [mcp_servers.mingli] command = "mingli-mcp" startup_timeout_sec = 20 [mcp_servers.mingli.env] TRANSPORT_TYPE = "stdio" LOG_LEVEL = "ERROR" \`\`\` --- ### 方案3:创建包装脚本 创建一个干净的启动脚本,确保日志不干扰输出。 #### 创建脚本 \`\`\`bash nano ~/.local/bin/mingli-mcp-wrapper.sh \`\`\` **内容**: \`\`\`bash #!/bin/bash cd /Users/lix18854/Documents/code/ziwei_mcp source venv/bin/activate export TRANSPORT_TYPE=stdio export LOG_LEVEL=ERROR exec python mingli_mcp.py 2>/dev/null # 重定向stderr到/dev/null \`\`\` \`\`\`bash chmod +x ~/.local/bin/mingli-mcp-wrapper.sh \`\`\` #### 配置Codex \`\`\`toml [mcp_servers.mingli] command = "/Users/lix18854/.local/bin/mingli-mcp-wrapper.sh" startup_timeout_sec = 15 \`\`\` --- ## 🧪 测试MCP握手 ### 手动测试 \`\`\`bash cd /Users/lix18854/Documents/code/ziwei_mcp source venv/bin/activate # 测试initialize echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}' | \\ TRANSPORT_TYPE=stdio LOG_LEVEL=ERROR python mingli_mcp.py 2>/dev/null \`\`\` **预期输出**(单行JSON): \`\`\`json {"jsonrpc": "2.0", "result": {"protocolVersion": "2024-11-05", "serverInfo": {"name": "ziwei_mcp", "version": "1.0.0"}, "capabilities": {"tools": {}}}, "id": 1} \`\`\` ### 使用测试脚本 \`\`\`bash ./test_mcp_handshake.sh \`\`\` --- ## 🐛 调试步骤 ### 步骤1:检查命令是否可执行 \`\`\`bash # 测试命令 which mingli-mcp # 或测试本地路径 /Users/lix18854/Documents/code/ziwei_mcp/venv/bin/python \\ /Users/lix18854/Documents/code/ziwei_mcp/mingli_mcp.py --help \`\`\` ### 步骤2:查看stderr输出 \`\`\`bash # 看看是否有错误 echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}' | \\ TRANSPORT_TYPE=stdio python mingli_mcp.py 2>&1 | head -20 \`\`\` ### 步骤3:测试完整流程 \`\`\`bash { echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}' sleep 1 echo '{"jsonrpc":"2.0","method":"notifications/initialized"}' sleep 1 echo '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}' sleep 1 } | TRANSPORT_TYPE=stdio LOG_LEVEL=ERROR python mingli_mcp.py 2>/dev/null \`\`\` ### 步骤4:检查Codex日志 Codex可能有日志文件,查看详细错误: \`\`\`bash # 可能的日志位置 tail -f ~/.codex/logs/*.log # 或 tail -f ~/.config/codex/logs/*.log \`\`\` --- ## 📝 配置检查清单 ### ✅ 确认项 - [ ] config.toml路径正确:\`~/.codex/config.toml\` - [ ] command路径正确(使用\`which\`验证) - [ ] startup_timeout_sec >= 20秒 - [ ] 环境变量设置:TRANSPORT_TYPE=stdio, LOG_LEVEL=ERROR - [ ] Python环境可用(虚拟环境已激活或使用完整路径) ### 示例配置 \`\`\`toml # ~/.codex/config.toml # 推荐配置(本地路径) [mcp_servers.mingli] command = "/Users/lix18854/Documents/code/ziwei_mcp/venv/bin/python" args = ["/Users/lix18854/Documents/code/ziwei_mcp/mingli_mcp.py"] startup_timeout_sec = 15 [mcp_servers.mingli.env] TRANSPORT_TYPE = "stdio" LOG_LEVEL = "ERROR" \`\`\` --- ## 🔧 常见问题 ### Q1: 输出有乱码或额外信息 **A**: 确保LOG_LEVEL=ERROR,减少日志输出 \`\`\`toml [mcp_servers.mingli.env] LOG_LEVEL = "ERROR" # 或 "CRITICAL" \`\`\` ### Q2: Permission denied **A**: 检查文件权限 \`\`\`bash chmod +x /Users/lix18854/Documents/code/ziwei_mcp/mingli_mcp.py chmod +x /Users/lix18854/Documents/code/ziwei_mcp/venv/bin/python \`\`\` ### Q3: 依赖缺失 **A**: 重新安装依赖 \`\`\`bash cd /Users/lix18854/Documents/code/ziwei_mcp source venv/bin/activate pip install -r requirements.txt \`\`\` ### Q4: 还是不行 **A**: 尝试HTTP模式(使用Cloudflare Tunnel) 虽然Codex可能主要支持stdio,但如果实在不行,可以: 1. 启动HTTP服务 + Cloudflare Tunnel 2. 看Codex是否支持HTTP端点配置 --- ## 💡 推荐配置(三选一) ### 选项1:本地路径(最稳定)⭐⭐⭐⭐⭐ \`\`\`toml [mcp_servers.mingli] command = "/Users/lix18854/Documents/code/ziwei_mcp/venv/bin/python" args = ["/Users/lix18854/Documents/code/ziwei_mcp/mingli_mcp.py"] startup_timeout_sec = 15 [mcp_servers.mingli.env] TRANSPORT_TYPE = "stdio" LOG_LEVEL = "ERROR" \`\`\` ### 选项2:pipx安装 \`\`\`bash pipx install mingli-mcp \`\`\` \`\`\`toml [mcp_servers.mingli] command = "mingli-mcp" startup_timeout_sec = 20 [mcp_servers.mingli.env] TRANSPORT_TYPE = "stdio" LOG_LEVEL = "ERROR" \`\`\` ### 选项3:包装脚本 \`\`\`toml [mcp_servers.mingli] command = "/Users/lix18854/.local/bin/mingli-mcp-wrapper.sh" startup_timeout_sec = 15 \`\`\` --- ## 📞 还需要帮助? 1. **运行测试脚本**:\`./test_mcp_handshake.sh\` 2. **查看详细日志**:移除\`2>/dev/null\`查看错误 3. **检查Codex版本**:确保使用最新版 4. **GitHub Issue**:如果问题持续,在项目创建issue --- **最快解决方案**:使用选项1(本地路径配置)+ LOG_LEVEL=ERROR

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/spyfree/mingli-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server