# ✅ Gemini CLI 支持已添加
## 问题解决
**原始错误**:
```
✕ Error during discovery for MCP server 'xiaohongshu': Streamable HTTP error: Error POSTing to endpoint:
{"detail":"Method Not Allowed"}
```
**原因**: SSE 端点 (`/sse`) 只支持 GET 方法,而 Gemini CLI 使用 POST 方法连接。
**解决方案**: 添加了新的 `/mcp` 端点,同时支持 GET 和 POST 方法。
## 已完成的工作
### 1. **添加 MCP HTTP 端点**
- ✅ 创建 `/mcp` 端点
- ✅ 支持 GET 和 POST 方法
- ✅ 返回标准 JSON-RPC 响应
### 2. **更新配置文件**
- ✅ `mcp_config.json` - 添加 HTTP 协议配置
- ✅ 支持 3 种连接方式:
- Stdio (Claude Desktop)
- HTTP (Gemini CLI)
- SSE (其他客户端)
### 3. **创建文档**
- ✅ `GEMINI_CLI_GUIDE.md` - Gemini CLI 完整配置指南
- ✅ 更新 `MCP_GUIDE.md` - 添加 Gemini CLI 部分
### 4. **测试验证**
- ✅ HTTP POST 端点测试通过
- ✅ JSON-RPC 响应格式正确
## 配置方法
### Gemini CLI 配置
在 Gemini CLI 配置文件中添加:
```json
{
"mcpServers": {
"xiaohongshu": {
"url": "http://localhost:18060/mcp",
"transport": "http"
}
}
}
```
### 测试连接
```bash
curl -X POST http://localhost:18060/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"initialize","params":{},"id":1}'
```
**预期响应**:
```json
{
"jsonrpc": "2.0",
"result": {
"protocolVersion": "2024-11-05",
"capabilities": {
"tools": {}
},
"serverInfo": {
"name": "xiaohongshu-mcp",
"version": "1.0.0"
}
}
}
```
## 支持的 MCP 客户端
| 客户端 | 协议 | 端点 | 配置文件 | 状态 |
|--------|------|------|----------|------|
| Claude Desktop | Stdio | `mcp_stdio.py` | `claude_desktop_config.json` | ✅ 支持 |
| Gemini CLI | HTTP | `/mcp` | Gemini 配置文件 | ✅ 支持 |
| 其他 MCP 客户端 | SSE | `/sse` | 客户端配置 | ✅ 支持 |
| 自定义客户端 | HTTP API | `/api/v1/*` | - | ✅ 支持 |
## 端点对比
| 端点 | 方法 | 协议 | 用途 |
|------|------|------|------|
| `/mcp` | GET, POST | JSON-RPC | Gemini CLI 等 HTTP 客户端 |
| `/sse` | GET | SSE | 实时流式连接 |
| `/api/v1/*` | GET, POST | REST | 直接 HTTP API 调用 |
| `mcp_stdio.py` | - | Stdio | Claude Desktop |
## 使用示例
### 在 Gemini CLI 中使用
配置完成后,在 Gemini CLI 中:
```
请检查小红书登录状态
请帮我发布一条小红书内容:
标题: 测试标题
内容: 测试内容
图片: /path/to/image.jpg
标签: 标签1, 标签2
```
## 可用工具
13 个 MCP 工具:
1. ✅ `check_login_status` - 检查登录状态
2. ✅ `get_login_qrcode` - 获取登录二维码
3. ✅ `delete_cookies` - 删除 cookies
4. ✅ `list_feeds` - 获取 Feed 列表
5. ✅ `search_feeds` - 搜索内容
6. ✅ `get_feed_detail` - 获取 Feed 详情
7. ✅ `post_comment_to_feed` - 发表评论
8. ✅ `reply_comment_in_feed` - 回复评论
9. ✅ `like_feed` - 点赞/取消点赞
10. ✅ `favorite_feed` - 收藏/取消收藏
11. ✅ `user_profile` - 获取用户主页
12. ✅ `publish_content` - 发布图文内容
13. ✅ `publish_with_video` - 发布视频内容
## 服务状态
```bash
# 查看服务状态
curl http://localhost:18060/health
# 输出: {"status":"ok"}
# 测试 MCP 端点
curl -X POST http://localhost:18060/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"initialize","params":{},"id":1}'
# 查看日志
tail -f server.log | grep MCP
```
## 故障排除
### 问题: "Method Not Allowed"
**解决**:
- 使用 `/mcp` 端点而不是 `/sse`
- 确保服务已重启
### 问题: 连接超时
**解决**:
```bash
# 确认服务运行
ps aux | grep "python main.py"
# 重启服务
kill $(cat server.pid)
python main.py
```
### 问题: 工具未发现
**解决**:
```bash
# 查看工具注册
grep "MCP tools" server.log
# 应该看到
# All 13 MCP tools registered successfully
```
## 文档
| 文档 | 说明 |
|------|------|
| `GEMINI_CLI_GUIDE.md` | Gemini CLI 完整配置指南 |
| `MCP_GUIDE.md` | MCP 协议使用指南 |
| `ANTI_DETECTION.md` | 反检测功能文档 |
| `QUICK_REF.md` | 快速参考 |
## 下一步
1. **配置 Gemini CLI** - 按照 `GEMINI_CLI_GUIDE.md` 配置
2. **测试连接** - 确认服务正常
3. **使用工具** - 在 Gemini CLI 中使用小红书工具
4. **监控日志** - 观察操作行为
## 技术细节
### MCP HTTP 端点实现
```python
@app.get("/mcp")
@app.post("/mcp")
async def handle_mcp_http(request: Request):
"""MCP HTTP 端点 (支持 Gemini CLI 等客户端)"""
body = await request.json()
return {
"jsonrpc": "2.0",
"result": {
"protocolVersion": "2024-11-05",
"capabilities": {"tools": {}},
"serverInfo": {
"name": "xiaohongshu-mcp",
"version": "1.0.0"
}
}
}
```
### JSON-RPC 协议
遵循 JSON-RPC 2.0 规范:
- 请求: `{"jsonrpc":"2.0","method":"...","params":{},"id":1}`
- 响应: `{"jsonrpc":"2.0","result":{...}}`
- 错误: `{"jsonrpc":"2.0","error":{"code":-32603,"message":"..."}}`
## 总结
✅ **问题已解决**: Gemini CLI 现在可以正常连接
✅ **支持 4 种连接方式**: HTTP API / Stdio / HTTP / SSE
✅ **13 个工具可用**: 完整的小红书自动化功能
✅ **文档完善**: 提供详细的配置和使用指南
---
**完成时间**: 2026-01-17
**版本**: 1.0.2
**状态**: ✅ Gemini CLI 支持已添加