问题描述
通过 Claude Code 调用 mcp__gemini__gemini 工具时,返回错误:
{"success": false, "error": "Both GOOGLE_API_KEY and GEMINI_API_KEY are set. Using GOOGLE_API_KEY."}
环境信息
- 操作系统:Windows 11
- Gemini CLI 版本:0.17.1
- GeminiMCP:最新版 (通过
git+https://github.com/GuDaStudio/geminimcp.git 安装)
- 安装方式:
claude mcp add gemini -s user --transport stdio -- uvx --from git+https://github.com/GuDaStudio/geminimcp.git geminimcp
复现步骤
- 安装 GeminiMCP
- 通过 Claude Code 调用
mcp__gemini__gemini 工具
- 收到上述错误
调查结果
✅ 直接调用 Gemini CLI 成功
$ gemini --prompt "你好,这是一个测试" -o stream-json
输出正常的 JSON 格式数据,包括 session_id 和 agent_messages。
❌ 通过 MCP 调用失败
通过 Claude Code MCP 调用时,GeminiMCP 返回错误。
环境变量检查
通过 PowerShell 检查环境变量(用户级和系统级),均未设置:
[System.Environment]::GetEnvironmentVariable('GOOGLE_API_KEY', 'User') # 空
[System.Environment]::GetEnvironmentVariable('GEMINI_API_KEY', 'User') # 空
分析
查看 server.py 源代码,发现错误处理逻辑:
except json.JSONDecodeError as error:
err_message = line
success = False
break
这表明 Gemini CLI 输出了一行非 JSON 格式的警告信息:"Both GOOGLE_API_KEY and GEMINI_API_KEY are set. Using GOOGLE_API_KEY.",导致 GeminiMCP 解析失败。
可能的原因
- uvx 或 MCP 环境可能设置了某些环境变量
- Gemini CLI 在特定条件下输出了警告信息(即使环境变量实际未设置)
- 需要在 GeminiMCP 中过滤或忽略非 JSON 格式的警告信息
建议的解决方案
在 run_shell_command 函数中,可以考虑:
- 过滤掉非 JSON 格式的警告信息
- 或者在调用 Gemini CLI 时禁用警告输出
- 或者在解析前验证行是否为有效 JSON
请求协助
请问是否有其他用户遇到类似问题?是否有推荐的解决方案?
感谢!
问题描述
通过 Claude Code 调用
mcp__gemini__gemini工具时,返回错误:{"success": false, "error": "Both GOOGLE_API_KEY and GEMINI_API_KEY are set. Using GOOGLE_API_KEY."}环境信息
git+https://github.com/GuDaStudio/geminimcp.git安装)claude mcp add gemini -s user --transport stdio -- uvx --from git+https://github.com/GuDaStudio/geminimcp.git geminimcp复现步骤
mcp__gemini__gemini工具调查结果
✅ 直接调用 Gemini CLI 成功
$ gemini --prompt "你好,这是一个测试" -o stream-json输出正常的 JSON 格式数据,包括
session_id和agent_messages。❌ 通过 MCP 调用失败
通过 Claude Code MCP 调用时,GeminiMCP 返回错误。
环境变量检查
通过 PowerShell 检查环境变量(用户级和系统级),均未设置:
分析
查看
server.py源代码,发现错误处理逻辑:这表明 Gemini CLI 输出了一行非 JSON 格式的警告信息:"Both GOOGLE_API_KEY and GEMINI_API_KEY are set. Using GOOGLE_API_KEY.",导致 GeminiMCP 解析失败。
可能的原因
建议的解决方案
在
run_shell_command函数中,可以考虑:请求协助
请问是否有其他用户遇到类似问题?是否有推荐的解决方案?
感谢!