agent-infra / agent-infra/sandbox

gemini cli mcp 方式调用遇到 400 reference to undefined schema

未关闭
#83 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Python
星标
5.9k
派生
529
平均合并
4 小时 8 分钟
30 天内合并 PR
4

描述

直接配置在了 Gemini CLI 的 mcpServers 配置试了一下, 发现有报错, 看上去 schema 用法不符合 Gemini 的标准?

```
✕ [API Error: {"error":{"message":"{\n \"error\": {\n \"code\": 400,\n \"message\": \"reference to undefined schema at █
properties.language\",\n \"status\": \"INVALID_ARGUMENT\"\n }\n}\n","code":400,"status":"Bad Request"}}] █
```

另外尝试过程当中 Header 当中不标记 `text/event-stream` 也会报错, 不过这个通过配置似乎能绕过.

我从 Kimi CLI 试了下, 倒是能调用到, 借助 kimi 还原出一些 curl 调用, 看上去可以正常请求, 甚至 Gemini CLI 用这些 curl 也是能正常操作,

```bash
curl -v -N \
-H "Accept: application/json, text/event-stream" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "initialize",
"params": {
"protocolVersion": "2024-11-05",
"capabilities": {},
"clientInfo": {
"name": "test-client",
"version": "1.0.0"
}
},
"id": 1
}' \
http://mylocal.com:8080/mcp
```

由于没有定位到代码, 也没配好怎么抓包, 不知道具体请求怎样, 猜测是 Gemini CLI 校验太严格了, 不知道有没有什么办法绕过?

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。