ccg-mcp
README.md
# CCG-MCP v0.2.0
三个 stdio MCP server,让 Claude Code Desktop 通过 API 直接调用 OpenAI Codex/GPT-5、Gemini、Claude,**不依赖本地 CLI**,支持第三方 API 代理网关。
| Server | 入口 | 默认模型 |
|--------|------|---------|
| `codex-api` | `codex-api-mcp` | `gpt-5-Users\useredb6858d\projectsx` |
| `gemini-api` | `gemini-api-mcp` | `gemini-3.1-pro-preview` |
| `claude-api` | `claude-api-mcp` | `claude-sonnet-4-6` |
---
## 快速启动(uvx)
```bash
# 从 GitHub 直接拉起(无需 clone)
uvx --from git+https://github.com/Erenshkigal111/ccg-mcp codex-api-mcp
uvx --from git+https://github.com/Erenshkigal111/ccg-mcp gemini-api-mcp
uvx --from git+https://github.com/Erenshkigal111/ccg-mcp claude-api-mcp
```
---
## settings.json — 直连官方 API
### Windows
```json
{
"mcpServers": {
"codex-api": {
"command": "uvx",
"args": ["--from", "git+https://github.com/Erenshkigal111/ccg-mcp", "codex-api-mcp"],
"env": {
"OPENAI_API_KEY": "${env:OPENAI_API_KEY}"
}
},
"gemini-api": {
"command": "uvx",
"args": ["--from", "git+https://github.com/Erenshkigal111/ccg-mcp", "gemini-api-mcp"],
"env": {
"GOOGLE_API_KEY": "${env:GOOGLE_API_KEY}"
}
},
"claude-api": {
"command": "uvx",
"args": ["--from", "git+https://github.com/Erenshkigal111/ccg-mcp", "claude-api-mcp"],
"env": {
"ANTHROPIC_API_KEY": "${env:ANTHROPIC_API_KEY}"
}
}
}
}
```
### macOS / Linux
```json
{
"mcpServers": {
"codex-api": {
"command": "uvx",
"args": ["--from", "git+https://github.com/Erenshkigal111/ccg-mcp", "codex-api-mcp"],
"env": {
"OPENAI_API_KEY": "$OPENAI_API_KEY"
}
},
"gemini-api": {
"command": "uvx",
"args": ["--from", "git+https://github.com/Erenshkigal111/ccg-mcp", "gemini-api-mcp"],
"env": {
"GOOGLE_API_KEY": "$GOOGLE_API_KEY"
}
},
"claude-api": {
"command": "uvx",
"args": ["--from", "git+https://github.com/Erenshkigal111/ccg-mcp", "claude-api-mcp"],
"env": {
"ANTHROPIC_API_KEY": "$ANTHROPIC_API_KEY"
}
}
}
}
```
---
## settings.json — 第三方 API 代理网关
当所有 API(OpenAI、Claude、Gemini)经由同一第三方代理(如 `https://hk1.augmunt.com`)转发时,使用以下模板。**API Key 只写系统环境变量,不硬编码进 settings.json。**
### Windows(第三方网关)
```json
{
"mcpServers": {
"codex-api": {
"command": "uvx",
"args": ["--from", "git+https://github.com/Erenshkigal111/ccg-mcp", "codex-api-mcp"],
"env": {
"OPENAI_API_KEY": "${env:OPENAI_API_KEY}",
"OPENAI_BASE_URL": "https://hk1.augmunt.com/v1"
}
},
"gemini-api": {
"command": "uvx",
"args": ["--from", "git+https://github.com/Erenshkigal111/ccg-mcp", "gemini-api-mcp"],
"env": {
"GOOGLE_API_KEY": "${env:GOOGLE_API_KEY}",
"GEMINI_API_ENDPOINT": "hk1.augmunt.com"
}
},
"claude-api": {
"command": "uvx",
"args": ["--from", "git+https://github.com/Erenshkigal111/ccg-mcp", "claude-api-mcp"],
"env": {
"ANTHROPIC_API_KEY": "${env:ANTHROPIC_API_KEY}",
"ANTHROPIC_BASE_URL": "https://hk1.augmunt.com"
}
}
}
}
```
> **注意**:`OPENAI_BASE_URL` 需要 `/v1` 后缀;`GEMINI_API_ENDPOINT` 只填主机名(无协议前缀);`ANTHROPIC_BASE_URL` 填完整 URL(无路径后缀)。
>
> 若 Gemini 代理为 OpenAI-compatible 模式,将 `gemini-api` 改为使用 `codex-api-mcp`,并将 `OPENAI_BASE_URL` 指向代理,model 填 `gemini-3.1-pro-preview`。
---
## 代理相关环境变量一览
| 变量 | Server | 说明 |
|------|--------|------|
| `OPENAI_API_KEY` | Users\useredb6858d\projectsx-api | OpenAI / 代理 key |
| `OPENAI_BASE_URL` | Users\useredb6858d\projectsx-api | 自定义端点,如 `https://proxy.example.com/v1`(默认 OpenAI 官方) |
| `GOOGLE_API_KEY` | gemini-api | Gemini key |
| `GEMINI_API_ENDPOINT` | gemini-api | 自定义 API 主机名,如 `hk1.augmunt.com`(默认 Google 官方) |
| `ANTHROPIC_API_KEY` | claude-api | Anthropic / 代理 key |
| `ANTHROPIC_BASE_URL` | claude-api | 自定义端点,如 `https://proxy.example.com`(默认 Anthropic 官方) |
| `CCG_MCP_TIMEOUT` | 全部 | 超时秒数,默认 `600` |
---
## Tool schema
### codex-api.exec
```text
exec(
prompt: str,
role: str = "",
model: str = "gpt-5-codex",
reasoning_effort: str = "medium",
workdir: str = ""
) -> str
```
### gemini-api.exec
```text
exec(
prompt: str,
role: str = "",
model: str = "gemini-3.1-pro-preview",
workdir: str = ""
) -> str
```
### claude-api.exec
```text
exec(
prompt: str,
role: str = "",
model: str = "claude-sonnet-4-6",
workdir: str = ""
) -> str
```
---
## 烟测
```bash
git clone https://github.com/Erenshkigal111/ccg-mcp
cd ccg-mcp
pip install -e .
python tests/smoke_test.py
```
---
## 已知限制
- **速率限制**:API 返回 429 时,server 以 JSON 字符串返回错误,调用方决定重试。
- **模型可用性**:默认模型取决于账号权限和代理供应商发布状态;入参 `model` 可随时覆盖。
- **Gemini 原生 SDK**:`GEMINI_API_ENDPOINT` 只支持 google-genai 原生协议;若代理为 OpenAI-compatible,改用 `codex-api-mcp` + `OPENAI_BASE_URL`。
- **文件访问**:三个 server 均不直接读取本地工作区文件,仅调用远程 API。
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues