Guard Core MCP
Security analysis for Python codebases through the guard-core engine: SecurityConfig validation that catches keys pydantic silently drops, docs search over the vendored corpus, live detection probing, and verified setup guidance for Python, Typescript, Rust, PHP and Go adapters.
Hosted MCP Server
npx add-mcp 'https://mcp.guard-core.com/mcp'Installs into Claude Code, Codex, Cursor and more
Documentation
Model Context Protocol server for the Guard ecosystem: config validation, docs search, and corpus tooling for agents and developers.
Website Β· Docs Β· Playground Β· Dashboard Β· Discord
Ecosystem
Guard Core is the Python engine. Framework adapters are thin wrappers that translate native request/response types into Guard Core's protocols. The telemetry agents ship security events and metrics to the monitoring backend. Parallel engine implementations exist for Go, PHP, TypeScript (on npm), and Rust (on crates.io) - all ports of the same reference semantics, conformance-tested against the shared adversarial corpus.
Python
| Package | Role | PyPI |
|---|---|---|
| guard-core | Framework-agnostic security engine | |
| guard-agent | Telemetry agent | |
| fastapi-guard | FastAPI / Starlette adapter | |
| flaskapi-guard | Flask adapter | |
| djapi-guard | Django adapter | |
| tornadoapi-guard | Tornado adapter |
Go
Go modules published via GitHub releases. Production-ready.
| Package | Role | Release |
|---|---|---|
| guard-core-go | Go engine | |
| nethttp-guard | net/http adapter | |
| gin-guard | Gin adapter | |
| echo-guard | Echo (v4) adapter | |
| fiber-guard | Fiber (v3) adapter | |
| guard-agent-go | Telemetry agent |
PHP
Published on Packagist under the rennf93 vendor. Production-ready.
| Package | Role | Packagist |
|---|---|---|
| guard-core-php | PHP engine | |
| laravel-guard | Laravel adapter | |
| symfony-guard | Symfony adapter | |
| psr15-guard | PSR-15 adapter | |
| slim-guard | Slim 4 adapter | |
| guard-agent-php | Telemetry agent |
TypeScript / JavaScript
Published under the @guardcore npm scope; source in the guard-core-ts monorepo. Production-ready.
| Package | Role | npm |
|---|---|---|
| @guardcore/core | Core engine | |
| @guardcore/express | Express adapter | |
| @guardcore/nestjs | NestJS adapter | |
| @guardcore/fastify | Fastify adapter | |
| @guardcore/hono | Hono (edge) adapter | |
| guardagent | Telemetry agent |
Rust
Published on crates.io. Production-ready.
| Package | Role | crates.io |
|---|---|---|
| guard-core-engine | Core engine crate | |
| guard-core-rs | Facade crate (consumer entry point) | |
| actix-guard-rs | Actix Web adapter | |
| axum-guard-rs | Axum adapter | |
| tower-guard-rs | Tower adapter | |
| rocket-guard-rs | Rocket adapter | |
| guard-agent-rs | Telemetry agent |
AI Coding Agents
| Package | Role | PyPI |
|---|---|---|
| guard-core-mcp | MCP server: config validation, docs search, detection sandbox |
Documentation
π Documentation - full technical documentation for this package.
π‘οΈ Guard Core - the engine's reference documentation.
π€ Monitoring Agent Integration - monitor your Guard instance with a monitoring agent.
Why
Your agent can already read the docs. What it cannot do is tell you that the redis_failopen in your config is silently doing nothing because the real field is redis_fail_open, or that the flag you are reaching for did not exist until guard-core 3.5.0, or whether a given request would actually be blocked and by which pattern.
This server answers those from the installed package: real pydantic validation, real field metadata, and the real detection engine. It also answers the cross-language questions the libraries cannot answer: which package guards a Gin, Fastify, Laravel or Rocket app, whether it is tagged or still path-dependent, how to wire its telemetry agent, and what response codes the SaaS ingest endpoint returns.
Install
Install it into your project's environment, not as an isolated tool:
uv add --dev guard-core-mcp
claude mcp add guard-core -- uv run guard-core-mcp
uvx guard-core-mcp will start, but an isolated environment contains no guard-core or fastapi-guard for it to introspect, so it can only answer from bundled documentation. Running it inside your own environment is what makes the answers match the versions you actually ship.
Tools
| Tool | Answers |
|---|---|
versions | Which Guard libraries are installed here, and at what version |
validate_config | Is this config valid, including typo'd keys pydantic silently ignores |
config_fields | What is this setting, what does it default to, does a setting for X exist |
search_docs | Where do the docs cover this |
get_doc | The full text of one documentation page |
check_payload | Would this request be blocked, and by which pattern |
ecosystem | The full registry matrix: 5 languages, engines, adapters, agents, conformance, SaaS contract |
adapter_setup | Install plus a verified minimal integration for one adapter (e.g. go + gin) |
wire_agent | How to set up the telemetry agent for a language, including the ingestion contract |
The ecosystem tools are pure data, so they work everywhere, with or without the Python libraries installed. Every quick-start snippet is copied verbatim from the sibling repo READMEs, and release_status tells you honestly whether a package is published, tagged, or still untagged (source, main, or path dependency only).
ChatGPT plugin
The same tools are also served remotely at https://mcp.guard-core.com/mcp and packaged as a ChatGPT plugin: sign in with a guard-core account, and ChatGPT can validate configs, search the docs and run payloads through the hosted detection engine (the latest published releases, not your local versions). The packaging lives in plugin/, the hosted server in guard_core_mcp.hosting, and the full story (env vars, Docker image, developer-mode test loop, submission checklist) in the ChatGPT plugin guide.
Licence
MIT
mcp-name: io.github.Guard-Core/guard-core-mcp