← Back to directory
G

GitGuardian MCP Server

Official
Bring GitGuardian secret detection and incident management into your AI agent
Category
Dev Tools #227 of 438
Stars
★ 40 Popular
Transport
stdio (local process) · Streamable HTTP
Runtime
Hosted (no local runtime) · Python · Docker
Credentials
API key / credential required
License
MIT
Last commit
Tools
4
52FMRS · D

An official GitGuardian-maintained MCP server that brings secret scanning, incident management, and honeytokens into AI agents. It supports hosted HTTP, self-hosted Docker, and local stdio (PAT) deployments, with the tool set gated by token OAuth scopes and a read-only-leaning default. Before use, confirm the region URL and auth mode, and be aware of the hosted request path plus the operational risk of automated code-fix pull requests.

Strongest · Documentation 13/20 Weakest · Reliability 8/20

Reliability
8/20
Security and permissions
12/20
Maintenance
11/20
Documentation
13/20
Setup experience
8/20
Why each score
Reliability 8/20
Static evidence shows a plausible runnable shape: server.json declares PyPI package ggmcp 0.7.0 run via uvx over stdio, and the README describes tools gated by OAuth scopes plus several deployment modes (hosted OAuth proxy, self-hosted Docker, local stdio with PAT). However, no verifiable execution evidence is provided: the supplied repository summary contains no CI workflows and no committed test files covering key paths, and the calibration rule forbids awarding high reliability without exactly that. There are also internal inconsistencies (description claims 600+ detectors while the manifest and README claim 500+), and stdio still defaults to a deprecated browser-OAuth path, which is a latent init/auth instability. Error handling, dependency controllability, and reproducible MCP init + tool-list handshake are all unevidenced. Missing evidence is a deduction, so 8.
Security and permissions 12/20
No red-line evidence found: no malware, credential theft, covert exfiltration, unconfirmed irreversible delete/pay/deploy defaults, and no real tokens in README examples (placeholder your_pat_here is used). Least-privilege direction is positive: the README states the server defaults to read-only-leaning permissions and that exposed tools depend on the token's OAuth/PAT scopes, and the hosted mode acts as an RFC 9728 OAuth Protected Resource proxy. Deductions are concrete: how the GitGuardian access token/PAT is handled, whether it is persisted to disk (the legacy stdio OAuth flow stores the PAT locally), and logging/data-boundary behavior are not documented; write-capable actions (creating honeytokens, opening remediation PRs, mutating incidents) have no described explicit confirmation; and the hosted path routes requests through two third-party endpoints (mcp.gitguardian.com plus api.gitguardian.com) with only a one-line data-flow disclosure. Permissions and confirmation are incomplete, so 12.
Maintenance 11/20
Maintenance signals are moderately positive: MIT license, explicit version 0.7.0, a migration section, deprecation notices for developer-mcp-server and secops-mcp-server, and a pointer to DEVELOPMENT.md, all indicating ongoing iteration; the repo is not archived. Against this, 25 open issues remain with no visible response data, and the supplied material shows no commit cadence, release history, dependency-update policy, or security-response channel (e.g. SECURITY.md). Governance and versioning details are therefore gaps, and the issue-to-star ratio suggests possible backlog. Given read-only evidence and the rule that missing evidence deducts, 11.
Documentation 13/20
Documentation is fairly strong but carries hidden assumptions. Strengths: layered README covering install for five mainstream clients (Cursor, Claude Desktop, Claude.ai, Windsurf, Zed), a four-mode authentication comparison table, a full configuration reference table with defaults, a self-hosting Docker command, migration notes, and a development-doc pointer; examples use placeholders rather than real secrets; and it explicitly discloses that stdio OAuth is deprecated and slated for removal. Deductions: no per-tool parameter documentation (it only says tools depend on scopes, without a tool list or inputs); no cost/quota guidance; no troubleshooting section; internally inconsistent capability claims (600+ versus 500+ detectors); and the self-hosting section describes behavior while admitting it is not yet ready for users, creating a gap between documented and actual state. 13.
Setup experience 8/20
An install path exists but is manual and error-prone. server.json offers a single uvx+stdio package invocation, and the README supplies copy-pasteable JSON for five mainstream clients, with the hosted OAuth path advertised as requiring no local install or token management, which is a real strength. Deductions: static calibration caps setup at 15 and the absence of CI/tests prevents a high score; local stdio requires the user to create a PAT in the GitGuardian dashboard and hand-edit config; on macOS Claude Desktop the uvx absolute path is required (the README itself notes $PATH is not resolved), a known fragility; self-hosting requires writing a Docker command, terminating TLS behind a reverse proxy, and explicitly setting IS_ON_PREM to avoid hostname-guess failures; and the four auth modes plus many env vars impose non-trivial cognitive load. 8.

Static review · not runListed 2026-09-10

Read the FMRS scoring method →

Fit and risk

What it can accessUses the networkChanges third-party account data

Best for

  • Teams already using GitGuardian SaaS (US/EU) or a self-hosted instance
  • Developers who want secret scanning, incident triage, and remediation inside their IDE or chat client
  • Teams that want to automate secret remediation via pull requests
  • Users of MCP clients that support type: http and can complete an OAuth flow
  • CI/CD, scripts, or airgapped environments that need local stdio with a PAT

Not for

  • Users who do not use GitGuardian and do not want to connect to its API
  • Users limited to older MCP clients without type: http support who cannot use the local stdio fallback
  • Users expecting the server to work with no authentication or scope configuration
  • Hosted-service users who do not want requests to transit mcp.gitguardian.com (they should self-host instead)

Required permissions

  • Requires a GitGuardian access token (OAuth or PAT); the exposed tool set is determined by the token's OAuth scopes
  • Local stdio mode uses the GITGUARDIAN_PERSONAL_ACCESS_TOKEN environment variable
  • Self-hosted OAuth proxy mode proxies /authorize, /token, and /register to your GitGuardian dashboard
  • PAT lifetime defaults to 30 days and is configurable via GITGUARDIAN_TOKEN_LIFETIME
  • The server defaults to read-only-leaning permissions

Risks and side effects

  • MCP servers are an emerging technology; agents act on your behalf and under your responsibility
  • In hosted mode, requests transit mcp.gitguardian.com in addition to api.gitguardian.com
  • Token scopes determine which tools the agent can use; overly broad scopes increase blast radius
  • Code-fix automation opens pull requests, so agent actions should be reviewed
  • Browser-driven OAuth in stdio mode is deprecated and stores the PAT on disk; that code path will be removed in a future release

Setup

Before you start

Runtime:Hosted (no local runtime) · Python · Docker

GITGUARDIAN_PERSONAL_ACCESS_TOKEN optionalsecret GitGuardian Personal Access Token, created in the dashboard under API → Personal Access Tokens; used in stdio/CI mode.
Other optional settings (11)
GITGUARDIAN_URL optional GitGuardian dashboard URL, defaults to https://dashboard.gitguardian.com (US SaaS); change for self-hosted.
GITGUARDIAN_CLIENT_ID optional OAuth client ID for custom OAuth applications, defaults to ggshield_oauth.
GITGUARDIAN_SCOPES optional Comma-separated OAuth scopes to request; auto-detected by default.
GITGUARDIAN_TOKEN_NAME optional Display name for OAuth-issued PATs, defaults to MCP Token.
GITGUARDIAN_TOKEN_LIFETIME optional PAT lifetime in days (or never), default 30.
IS_ON_PREM optional Set true for self-hosted GitGuardian; unset means guess from hostname.
MCP_PORT optional Port for HTTP transport; unset means stdio.
MCP_HOST optional Bind address for HTTP transport, default 127.0.0.1.
MCP_BASE_URL optional Public URL of this MCP server in OAuth proxy mode, default http://localhost:8000.
MCP_OAUTH_PROXY_ENABLED optional When true, advertises OAuth Protected Resource metadata (RFC 9728) and proxies /authorize and /token to the dashboard.
ENABLE_LOCAL_OAUTH optional Legacy stdio OAuth flow switch (deprecated), defaults to true.

The recommended way is the hosted server: point your MCP client at the URL matching your GitGuardian region; the client handles OAuth automatically. For Cursor, edit ~/.cursor/mcp.json: {"mcpServers":{"GitGuardian":{"type":"http","url":"https://mcp.gitguardian.com/mcp"}}}. Windsurf uses {"mcp":{"servers":{"GitGuardian":{"type":"http","url":"https://mcp.gitguardian.com/mcp"}}}}. For Claude.ai (web), add the server in Settings → Connectors → Add custom connector. Claude Desktop and Zed use the same type: http snippet. For local stdio (PAT) mode, use the command uvx --from git+https://github.com/GitGuardian/ggmcp.git gg-mcp-server with ENABLE_LOCAL_OAUTH=false, GITGUARDIAN_PERSONAL_ACCESS_TOKEN, and GITGUARDIAN_URL; on macOS, Claude Desktop needs the absolute path to uvx. To self-host, run the ghcr.io/gitguardian/mcp-server image behind a TLS-terminating reverse proxy; it exposes the StreamableHTTP transport on port 8000 by default.

.cursor/mcp.json
{"mcpServers":{"GitGuardian":{"type":"http","url":"https://mcp.gitguardian.com/mcp"}}}

Shown for Cursor. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.

.vscode/mcp.json
{
  "servers": {
    "GitGuardian": {
      "type": "http",
      "url": "https://mcp.gitguardian.com/mcp"
    }
  }
}

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Terminal
claude mcp add --transport http GitGuardian https://mcp.gitguardian.com/mcp

Run it in a terminal; replace any <…> placeholders with your own values first.

Check that it works

Connect the client to https://mcp.gitguardian.com/mcp and complete the OAuth flow; the tools secret_scanning, incident_management, honeytokens, and code_fix_automation should appear in the client's tool list, or ask it to scan the codebase for leaked secrets to prove the connection works.

Troubleshooting

  1. Verify the URL matches your GitGuardian region: US uses https://mcp.gitguardian.com/mcp, EU uses https://mcp.eu1.gitguardian.com/mcp
  2. For self-hosted deployments on a gitguardian.com/gitguardian.tech domain, set IS_ON_PREM=true explicitly, since hostname guessing fails
  3. For local stdio, set ENABLE_LOCAL_OAUTH=false and provide GITGUARDIAN_PERSONAL_ACCESS_TOKEN
  4. Claude Desktop on macOS needs the absolute path to uvx; it does not resolve $PATH
  5. If tools are missing, check the access token's OAuth scopes
  6. Older clients without type: http support can use the local stdio fallback
  7. The developer-mcp-server and secops-mcp-server console scripts are deprecated; invoke gg-mcp-server directly

Things to try

Once connected, you can ask your AI assistant things like:

  • Scan this codebase for any leaked secrets or credentials.
  • Check if there are any new security incidents assigned to me.
  • Help me understand this security incident and provide remediation steps.
  • Create a honeytoken named 'dev-database' and hide it in config files.

Tools 4

secret_scanning read-only
Proactively scan files for leaked credentials
incident_management writes
List, filter, assign, resolve, and tag incidents, including both internal and Public Monitoring incidents
honeytokens writes
Generate honeytokens and list existing ones
code_fix_automation writes
Open pull requests that remediate secrets in repositories your workspace monitors

Use cases

Scan a codebase for leaked secrets or credentials
Remediate all incidents related to a project
Check if there are any new security incidents assigned to you
Understand a security incident and get remediation steps
List all active honeytokens
Generate a honeytoken for monitoring AWS credential access
Create a honeytoken named 'dev-database' and hide it in config files

Supported clients

Cursor
Claude DesktopPartial support
Claude.ai
Windsurf
Zed

Listed from the project's documentation, not tested by this site.

Overview

GitGuardian MCP Server is maintained by GitGuardian and brings its secret detection and incident management into AI agents. Backed by GitGuardian's API and 500+ detectors, it scans files for leaked credentials before they are public, lists and manages security incidents (including internal and Public Monitoring incidents), generates and lists honeytokens, and opens pull requests that remediate secrets. The server defaults to read-only-leaning permissions, and the exact set of exposed tools depends on the OAuth scopes held by your access token. It can run as a hosted HTTP server (US: https://mcp.gitguardian.com/mcp, EU: https://mcp.eu1.gitguardian.com/mcp), a self-hosted Docker image, or locally over stdio with a PAT.

Similar servers

Context7 80 · B

Upstash's official server providing up-to-date third-party library docs for AI coding assistants

★ 63.3k · Tools 2 Compare with this →

Source revision 7a75a34bc553 Data synced 2026-10-19 Read the FMRS scoring method