内容
# SecOps MCP Bridge
本项目提供了一种解决方法,用于在不使用完整的基于浏览器的OAuth工作流的情况下,与GCP端点(SecOps、Cloud Logging和Cloud Monitoring)进行MCP(模型上下文协议)通信。
它通过 **Stdio** 将本地客户端通信转换为经过身份验证的GCP **HTTP** JSON-RPC 2.0请求。
**Node.js** 和 **Python** 实现都得到支持,并在存储库根目录中同时维护。
---
## 前置条件和身份验证
对于任一桥接实现,请确保您已:
1. 通过以下方式在本地安装并身份验证了Google Cloud SDK:
```bash
gcloud auth application-default login
```
2. 配置了活动项目和客户ID。桥接器会检查以下环境变量:
* **项目ID**:`GCP_PROJECT` 或 `PROJECT_ID`(默认为 `"your-gcp-secops-project"`)
* **客户ID**:`GCP_CUSTOMER_ID` 或 `CUSTOMER_ID`(默认为 `"f47ac10b-58cc-4372-a567-0e02b2c3d479"`)
* **区域**:`GCP_REGION` 或 `REGION`(默认为 `"us"`)
---
## 1. Node.js 实现
### 安装
在根目录中安装Node依赖项:
```bash
npm install
```
### Stdio客户端配置
将桥接到您的客户端的MCP配置文件中(例如,`~/.gemini/jetski/mcp_config.json` 或 `~/Library/Application Support/Claude/claude_desktop_config.json`):
```json
{
"mcpServers": {
"goog-secops": {
"command": "node",
"args": ["/path/to/mcp-bridge/index.js", "secops"]
}
}
}
```
---
## 2. Python 实现
### 安装
创建虚拟环境并安装Python依赖项:
```bash
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
```
### Stdio客户端配置
配置您的MCP客户端以调用Python脚本:
```json
{
"mcpServers": {
"goog-secops": {
"command": "/path/to/mcp-bridge/.venv/bin/python",
"args": ["/path/to/mcp-bridge/bridge.py", "secops"]
}
}
}
```
---
## 桥接参数(目标服务)
两种实现都接受目标服务参数(默认为 `secops`):
* **`secops`**:代理请求到Google Cloud SecOps(`https://us-chronicle.googleapis.com/mcp`)
* **`logging`**:代理请求到Cloud Logging(`https://logging.googleapis.com/mcp`)
* **`monitoring`**:代理请求到Cloud Monitoring(`https://monitoring.googleapis.com/mcp`)
*日志记录示例*:
```json
"args": ["/path/to/mcp-bridge/bridge.py", "logging"]
```
---
## 日志记录和调试
桥接器将其执行和GCP API响应有效载荷记录到根目录中的 `bridge.log` 文件中。您可以使用 `MCP_BRIDGE_LOG_FILE` 环境变量自定义日志路径:
```bash
export MCP_BRIDGE_LOG_FILE="/path/to/custom.log"
```