Google Security Operations MCP server
Commit Nov 11, 2026Lets AI clients investigate threats, run SOAR actions, query Google Threat Intelligence, and audit cloud security findings in Google SecOps.
Also known as google/mcp-security
- Stars
- 542
- Tools
- —
- Downloads, 30 days
- —
- Latest version
- —
- Last commit
- Nov 11, 2026
- License
- Apache-2.0
What is Google Security Operations MCP?
Google Security Operations lets AI clients investigate threats, run SOAR actions, query Google Threat Intelligence, and audit cloud security findings in Google SecOps.
Summary generated from the project's README
About Google Security Operations MCP server
Security analysts and developers can investigate digital threats and manage cloud risks directly through AI clients like Claude Desktop, Cline, or Cursor. This suite of servers connects language models to Google's security ecosystem, enabling automated threat hunting, security orchestration, and risk management. Users can interact with Google SecOps for threat detection, Google Threat Intelligence for data queries, and Security Command Center for auditing cloud findings.
Implementation is flexible, offering both a fully managed remote MCP server and standalone packages that can be installed via uv or pip. To use these tools, you must configure authentication using Google Application Default Credentials or specific environment variables such as CHRONICLE_PROJECT_ID and SOAR_APP_KEY. The servers function via stdio transport and can be deployed locally or as a FastAPI service on Google Cloud Run.
What you can do with it
- 1Investigate security threatsAsk an AI client to perform threat detection and hunting within Google SecOps.
- 2Automate security responsesTrigger orchestration and response actions through Google SecOps SOAR.
- 3Audit cloud security risksUse the server to manage and audit findings within the Security Command Center.
- 4Query threat intelligenceAccess Google's specialized threat intelligence data via an AI interface.
Written from the project's README. Every use case is checked against a quote from it.
Configuration
CHRONICLE_CUSTOMER_IDCHRONICLE_PROJECT_IDCHRONICLE_REGIONSOAR_APP_KEYSOAR_URLVT_APIKEY
| Name | Description | |
|---|---|---|
| CHRONICLE_CUSTOMER_ID | — | |
| CHRONICLE_PROJECT_ID | — | |
| CHRONICLE_REGION | — | |
| SOAR_APP_KEY | — | |
| SOAR_URL | — | |
| VT_APIKEY | — |
Automated checks
Ran Nov 12, 2026Full report →Not verified yet. A server needs a score of 80, no serious finding, and enough data for us to check. How checks work
- Source repository linked and reachablePass
- Open source license (OSI)Pass
- Commit or release in the last yearPass
- Package name not close to a popular packageNot checked
- Remote endpoint uses HTTPSNot checked
- Destructive tools are labelledNot checked
- No hidden instructions to the modelPass
- No critical advisory in the package or its dependenciesNot checked
README
View on GitHubGoogle Security Operations and Threat Intelligence MCP Server
This repository contains Model Context Protocol (MCP) servers that enable MCP clients (like Claude Desktop or the cline.bot VS Code extension) to access Google's security products and services:
- Remote MCP Server for Google SecOps - Fully managed, enterprise-ready MCP server (Recommended)
- Google Security Operations (Chronicle) - For threat detection, investigation, and hunting
- Google Security Operations SOAR - For security orchestration, automation, and response
- Google Threat Intelligence (GTI) - For access to Google's threat intelligence data
- Security Command Center (SCC) - For cloud security and risk management
For the new Remote MCP Server, please see the launch announcement and the setup guide.
Each server can be enabled and run separately, allowing flexibility for environments that don't require all capabilities.
Documentation
Comprehensive documentation is available in the docs folder. You can:
- Read the markdown files directly in the repository
- View the documentation website at https://google.github.io/mcp-security/
- Generate HTML documentation locally using Sphinx (see instructions in the docs folder)
The documentation covers:
- Detailed information about each MCP server
- Configuration options and requirements
- Usage examples and best practices
To get started with the documentation, see docs/index.md.
Authentication
The server uses Google's authentication. Make sure you have either:
- Set up Application Default Credentials (ADC)
- Set a GOOGLE_APPLICATION_CREDENTIALS environment variable
- Used
gcloud auth application-default login
Standalone Usage
Each MCP server can be installed and used as a standalone package.
Installation
You can install the packages using uv tool install (recommended):
# Install packages
uv tool install google-secops-mcp
uv tool install gti-mcp
uv tool install scc-mcp
uv tool install secops-soar-mcp
Alternatively, you can use pip:
pip install google-secops-mcp
pip install gti-mcp
pip install scc-mcp
pip install secops-soar-mcp
Running Standalone
After installation, you can run the servers directly using uvx:
# Run SecOps MCP server
uvx --from google-secops-mcp secops_mcp
# Run GTI MCP server
uvx gti_mcp
# Run SCC MCP server
uvx scc_mcp
# Run SecOps SOAR MCP server (with optional integrations)
uvx secops_soar_mcp --integrations CSV,OKTA
With environment variables:
CHRONICLE_PROJECT_ID="your-project-id" \
CHRONICLE_CUSTOMER_ID="01234567-abcd-4321-1234-0123456789ab" \
CHRONICLE_REGION="us" \
uvx secops_mcp
Using with MCP Clients (Recommended)
You can configure MCP clients to use the installed packages with uvx. Here's an example configuration:
{
"mcpServers": {
"secops": {
"command": "uvx",
"args": [
"--from",
"google-secops-mcp",
"secops_mcp"
],
"env": {
"CHRONICLE_PROJECT_ID": "your-project-id",
"CHRONICLE_CUSTOMER_ID": "01234567-abcd-4321-1234-0123456789ab",
"CHRONICLE_REGION": "us"
}
},
"gti": {
"command": "uvx",
"args": [
"gti_mcp"
],
"env": {
"VT_APIKEY": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
}
},
"scc-mcp": {
"command": "uvx",
"args": [
"scc_mcp"
],
"env": {}
},
"secops-soar": {
"command": "uvx",
"args": [
"secops_soar_mcp",
"--integrations",
"CSV,OKTA"
],
"env": {
"SOAR_URL": "https://yours-here.siemplify-soar.com:443",
"SOAR_APP_KEY": "01234567-abcd-4321-1234-0123456789ab"
}
}
}
}
You can also use environment files with uvx:
{
"mcpServers": {
"secops": {
"command": "uvx",
"args": [
"--env-file",
"/path/to/.env",
"secops_mcp"
]
}
}
}
Client Configurations
The MCP servers from this repo can be used with the following clients
- Cline, Claude Desktop, and other MCP supported clients
- Google ADK(Agent Development Kit) Agents (a prebuilt agent is provided, details below)
- Google SecOps Extension - Install our example extension for Gemini CLI to get specialized security skills (Triage, Investigate, Hunt).
The configuration for Claude Desktop and Cline is the same (provided below for uv and pip). We use the stdio transport.
Using the Google ADK Autonomous SOC Agent
The repository includes a prebuilt Autonomous Security Operations Center (SOC) Agent powered by Google ADK v2 and the Model Context Protocol in run-with-google-adk.
It can be run locally via an interactive CLI REPL or launched as a FastAPI service for Google Cloud Run:
cd run-with-google-adk
cp .env.example .env
# Interactive terminal investigation REPL
uv run mcp-security-agent chat
# Web UI and Cloud Run REST API server
uv run mcp-security-agent serve --port 8080
For full setup, architecture details, and Cloud Run deployment guides, see the ADK Agent Guide.
MCP Client Config Locations
MCP clients all use the same JSON configuration format (see the MCP Server Configuration Reference), but they expect the file in different locations.
| Client Application | Scope | macOS / Linux Location | Windows Location | Notes |
|---|---|---|---|---|
| Gemini CLI | Global | ~/.gemini/settings.json |
%USERPROFILE%\.gemini\settings.json |
File must include mcpServers. Confirmed in Google Security Ops post. |
| Claude Desktop | Global | ~/Claude/claude_desktop_config.json |
%USERPROFILE%\Claude\claude_desktop_config.json |
Config accessible via Claude > Settings > Developer > Edit Config. |
| Claude Code | Global | ~/.claude.json |
%USERPROFILE%\.claude.json |
Primary config file for Claude Code CLI and extensions. |
| Cursor IDE (Global) | Global | ~/.cursor/mcp.json |
%USERPROFILE%\.cursor\mcp.json |
Enables MCP servers globally across all projects. |
| Cursor IDE (Project) | Project | <project-root>/.cursor/mcp.json |
<project-root>/.cursor/mcp.json |
Workspace/project-specific config file. |
| VS Code (Workspace) | Workspace | <project-root>/.vscode/mcp.json |
<project-root>/.vscode/mcp.json |
Workspace-level config used when an MCP extension (like Cline) is installed. Overrides global config if present. |
| Cline (VS Code Ext.) | Global | Inside VS Code extension data | %APPDATA%\Code\User\globalStorage\<extension-id>\settings\cline_mcp_settings.json |
Exact path varies by VS Code variant and platform. <extension-id> corresponds to the installed extension folder (e.g., saoudrizwan.claude-dev). |
Additional Notes for Windows
%USERPROFILE%→C:\Users\<username>%APPDATA%→C:\Users\<username>\AppData\Roaming<project-root>→ folder opened in VS Code or IDE for the project<extension-id>→ name of the installed extension folder (e.g.,saoudrizwan.claude-devfor Claude/Cline)
Tip: Single Config with Symlinks
If you use multiple MCP clients, you can maintain a single config file and symlink it into each expected location. This avoids drift and keeps your server definitions consistent.
Using uv (Recommended)
{
"mcpServers": {
"secops": {
"command": "uv",
"args": [
"--directory",
"/path/to/the/repo/server/secops/secops_mcp",
"run",
"server.py"
],
"env": {
"CHRONICLE_PROJECT_ID": "your-project-id",
"CHRONICLE_CUSTOMER_ID": "01234567-abcd-4321-1234-0123456789ab",
"CHRONICLE_REGION": "us"
}
},
"secops-soar": {
"command": "uv",
"args": [
"--directory",
"/path/to/the/repo/server/secops-soar/secops_soar_mcp",
"run",
"server.py",
"--integrations",
"CSV,OKTA"
],
"env": {
"SOAR_URL": "https://yours-here.siemplify-soar.com:443",
"SOAR_APP_KEY": "01234567-abcd-4321-1234-0123456789ab"
}
},
"gti": {
"command": "uv",
"args": [
"--directory",
"/path/to/the/repo/server/gti/gti_mcp",
"run",
"server.py"
],
"env": {
"VT_APIKEY": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
}
},
"scc-mcp": {
"command": "uv",
"args": [
"--directory",
"/path/to/the/repo/server/scc",
"run",
"scc_mcp.py"
],
"env": {
}
}
}
}
NOTE: uv also supports passing an .env file like so:
"command": "uv",
"args": [
"--directory",
"/path/to/the/repo/server/...",
"run",
"--env-file",
"/path/to/the/repo/server/.env",
"server.py"
]
SOAR_APP_KEY and VT_APIKEY are good candidates for .env
Using pip
You can also use pip instead of uv to install and run the MCP servers. This approach uses a bash command to:
- Change to the server directory
- Install the package in development mode
- Run the server binary
{
"mcpServers": {
"secops": {
"command": "/bin/bash",
"args": [
"-c",
"cd /path/to/the/repo/server/secops && pip install -e . && secops_mcp"
],
"env": {
"CHRONICLE_PROJECT_ID": "your-project-id",
"CHRONICLE_CUSTOMER_ID": "01234567-abcd-4321-1234-0123456789ab",
"CHRONICLE_REGION": "us"
},
"alwaysAllow": [
]
},
"gti": {
"command": "/bin/bash",
"args": [
"-c",
"cd /path/to/the/repo/server/gti && pip install -e . && gti_mcp"
],
"env": {
"VT_APIKEY": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
},
"alwaysAllow": [
]
},
"scc-mcp": {
"command": "/bin/bash",
"args": [
"-c",
"cd /path/to/the/repo/server/scc && pip install -e . && scc_mcp"
],
"env": {
},
"alwaysAllow": []
},
"secops-soar": {
"timeout": 60,
"command": "/bin/bash",
"args": [
"-c",
"cd /path/to/the/repo/server/secops-soar && pip install -e . && python secops_soar_mcp/server.py"
],
"env": {
"SOAR_URL": "https://yours-here.siemplify-soar.com:443",
"SOAR_APP_KEY": "01234567-abcd-4321-1234-0123456789ab"
},
"transportType": "stdio"
}
}
}
When to use uv vs pip
- uv: Recommended for most users because it offers faster package installation, better dependency resolution, and isolated environments. It also supports loading environment variables from a file.
- pip: Use when you prefer the standard Python package manager or when you have specific environment setup requirements.
UV_ENV_FILE
The --env-file option allows uv to use a .env file for environment variables. You can create this file or use system environment variables as described in the usage guide.
Alternatively, you can set UV_ENV_FILE to your .env file and omit the --env-file portion of the configuration.
Refer to the usage guide for detailed instructions on how to set up these environment variables.
Troubleshooting
Running the MCP Server from the CLI (and outside of your MCP client) can reveal issues:
uv --verbose \
--directory "/Users/dandye/Projects/google-mcp-security/server/scc" \
run \
--env-file "/Users/dandye/Projects/google-mcp-security/.env" \
scc_mcp.py
Check your PATH(s):
which uv # you may need to restart MCP Client after installing uv
which python || which python3
python --version || python3 --version
Installing in Claude Desktop
To use the MCP servers with Claude Desktop:
- Install Claude Desktop
- Open Claude Desktop and select "Settings" from the Claude menu
- Click on "Developer" in the lefthand bar, then click "Edit Config"
- Update your
claude_desktop_config.jsonwith the configuration (replace paths with your actual paths) - Save the file and restart Claude Desktop
- You should now see the hammer icon in the Claude Desktop interface, indicating the MCP server is active
Installing in cline (vscode extension)
- Install cline.bot extension in VSCode
- Update your
cline_mcp_settings.jsonwith the configuration (replace paths with your actual paths) - Save the file and restart VS Code
License
Apache 2.0
Google Security Operations MCP questions
How do I authenticate the Google SecOps MCP server?
It uses Google authentication via Application Default Credentials, a GOOGLE_APPLICATION_CREDENTIALS variable, or gcloud auth application-default login. Some servers also need their own keys like VT_APIKEY or SOAR_APP_KEY.
How do I install the Google SecOps MCP servers?
Install the standalone packages with uv tool install or pip, for example google-secops-mcp, gti-mcp, scc-mcp, and secops-soar-mcp. Then run them with uvx.
Which clients work with these security MCP servers?
They work with Cline, Claude Desktop, Claude Code, Cursor, Gemini CLI, and other MCP-supported clients, plus Google ADK agents.
What does the Google Threat Intelligence server require?
The GTI server needs a VirusTotal API key set in the VT_APIKEY environment variable. You configure it in the MCP client config's env block.
Can I run a prebuilt autonomous SOC agent with these servers?
Yes, the repo includes an Autonomous SOC Agent built on Google ADK and MCP. Run it as an interactive CLI REPL or as a FastAPI service for Cloud Run.