GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Beschreibung vom Entwickler (englisches Original)
Policy-as-code guardrails for AI coding agents, validated via OPA, Conftest, Checkov & Semgrep.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
Du brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"constraints-registry": {
"command": "uvx",
"args": [
"constraints-registry"
]
}
}
}Führe das in deinem Terminal aus
claude mcp add constraints-registry -- uvx constraints-registryIn .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"constraints-registry": {
"command": "uvx",
"args": [
"constraints-registry"
]
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"constraints-registry": {
"type": "stdio",
"command": "uvx",
"args": [
"constraints-registry"
]
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 8. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto SureshKhemka bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.1.1) kam vor 4 Monaten in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Python (uv) auf deinem Computer.
In derselben Kategorie: GitHub, Desktop Commander, Cloudflare MCP
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
MCP server for terminal commands, file operations, and process management
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
Policy-as-code guardrails for AI-generated code. An MCP server that
serves engineering constraints to coding agents (Claude Code, Cursor, Codex) at
generation time and validates artifacts with **OPA, Conftest, Checkov, and
Semgrep**.
A single, queryable source of engineering constraints (infrastructure, organizational, architectural) that coding agents (Claude Code, Cursor, Codex, …) consult at code-generation time, exposed over an MCP server. It does not enforce constraints itself — it provides guidance to agents and delegates deterministic validation to existing enforcement engines (OPA, Conftest, Checkov, Semgrep).
Constraints are authored in source repos, aggregated into an immutable, versioned bundle, and served over MCP so an agent can:
describe_scope — discover the valid selector vocabulary,get_constraints — fetch the rules relevant to what it's building, andvalidate — check a candidate artifact against the bound enforcement engines.Authoritative requirements:
constraint-registry-v0-spec.md.
Requirement → component → test mapping:
TRACEABILITY.md.
adapters/sarif/), so adding a new SARIF engine is mostly wiring. Adding an engine = one adapter + one config line (see Adding an enforcement engine).describe_scope, get_constraints, validate) over stdio or a shared HTTP endpoint. get_constraints fails open so an agent is never blocked.| Tool | Required? | Notes |
|---|---|---|
| Python ≥ 3.11 | yes | the package targets 3.11+ |
| [uv](https://docs.astral.sh/uv/) | yes | manages the venv and runs entry points |
[OPA](https://www.openpolicyagent.org/docs/latest/#running-opa) (opa) | for Rego validate / fixture cross-checks | the reference enforcement engine |
[Conftest](https://www.conftest.dev/install/) (conftest) | optional | second Rego engine; its checks SKIP if absent |
[Checkov](https://www.checkov.io/2.Basics/Installing%20Checkov.html) (checkov) | optional | IaC scanning engine; its checks SKIP if absent |
[Semgrep](https://semgrep.dev/docs/getting-started/) (semgrep) | bundled | source-code engine; installed automatically by uv sync |
Install the external engines on macOS:
brew install opa conftest checkov # semgrep is installed by `uv sync`
Each engine is optional and independent: any test or harness check whose engine binary is not on PATH is skipped, not failed. The registry and the get_constraints/describe_scope guidance work without any engine at all — an engine is only needed to run validate and the fixture cross-checks for constraints bound to it.
git clone https://github.com/SureshKhemka/constraints-registry.git
cd constraints-registry
uv sync # create the venv + install deps (incl. semgrep)
uv run cregistry-harness # run the validation harness against the bundled samples
The harness emits machine-readable JSON and exits non-zero on any failure. A green run looks like:
{ "passed": true, "summary": { "pass": 21, "fail": 0, "skip": 0, "total": 21 }, "checks": [ ... ] }
(skip is used only when an optional engine like conftest is not installed.)
Two transports — pick based on how you want tools to connect.
# stdio (default): each tool launches its own copy; nothing to manage
uv run cregistry-mcp
uv run cregistry-mcp --http --port 8765 --reload-interval 60
Flags: --transport {stdio,http,sse}, --http (shorthand), --host (default 127.0.0.1), --port (default 8765), --config (or $CREGISTRY_CONFIG), --reload-interval SECONDS (0 = off).
Manage the shared HTTP server:
lsof -ti tcp:8765 | xargs kill # stop
Full operational guide (stop/restart, macOS launchd auto-start, the repo-sync/decoupling pattern): `docs/RUNNING.md`. Tool input/output contracts: `docs/MCP_CONTRACT.md`.
The server exposes three tools: describe_scope, get_constraints, validate.
# shared HTTP server (start it first, see above), available in every project:
claude mcp add --scope user --transport http constraint-registry http://127.0.0.1:8765/mcp
claude mcp add constraint-registry -- uv run --directory "$(pwd)" cregistry-mcp
claude mcp list # should show: constraint-registry ... ✔ Connected
~/.cursor/mcp.json){ "mcpServers": { "constraint-registry": { "url": "http://127.0.0.1:8765/mcp" } } }
Configure an MCP server with command: uv, args: ["run","--directory","/abs/path/to/repo","cregistry-mcp"].
Agents auto-discover the tools, but to get them to consult the registry *before* generating code, add an instruction to your project (or ~/.claude/CLAUDE.md):
Before writing AWS/infra code, call the constraint-registry MCP:
describe_scope
to learn valid selector values, then
get_constraintswith the right scope, and
comply with every
hardconstraint as a non-negotiable downstream gate.
Optionally
validatethe result.
A source is a directory with constraints/*.yaml (one constraint per file) and, optionally, policies/ (engine policies) and fixtures/ (sample artifacts). Register sources and engines in registry.config.yaml:
sources:
engines:
precedence_policy: default
A constraint (see sources/platform-security/constraints/aws-s3-no-public-access.yaml):
id: aws.s3.no-public-access
title: "S3 buckets must not be publicly accessible" intent: "Public buckets are the top source of data-exposure incidents." category: infrastructure # infrastructure | organizational | architectural scope: providers: [aws] resource_types: [aws_s3_bucket] # Terraform resource ids (NOT "s3_bucket") environments: [all] repos: ["tag:data-plane"] severity: hard # hard | soft | advisory enforcement: # omit for an advisory (guidance-only) constraint
guidance: do: ["Attach an aws_s3_bucket_public_access_block with all four flags true"] dont: ["Never set acl = 'public-read' or 'public-read-write'"] example_compliant: | {"resources": {"aws_s3_bucket": {"data": {"acl": "private", "public_access_block": true}}}} owner: platform-security version: 1.0.0 fixtures: # optional; cross-checked against the engine pass: fixtures/s3_private.json fail: fixtures/s3_public.json
Scoping notes (matters when agents query):
resource_types use the target tooling's identifiers (Terraform: aws_s3_bucket). Call describe_scope to discover the exact vocabulary present.uv run cregistry-harness to validate schema, precedence, and fixtures.Run the server with --reload-interval N and it re-imports from disk every N seconds, publishing a new immutable bundle when content changes:
uv run cregistry-mcp --http --port 8765 --reload-interval 60
git pull or CI publish). Code/dependency changes still need a restart.uv run cregistry-harness runs end-to-end against the bundled, self-contained sample sources and proves: schema conformance, deterministic import, malformed- constraint isolation, namespacing & precedence, versioning & deprecation, engine- interface conformance (incl. a reusable suite any adapter can be run against), fixture cross-checks / broken-binding detection, the MCP contract / scoping / fail-open, and hot-reload behavior. It prints structured JSON and returns a non-zero exit on any failure — suitable for CI.
uv run cregistry-harness # human-readable JSON to stdout, exit 0/1
uv run cregistry-harness --config path/to/registry.config.yaml
Implement the `EngineAdapter
Nur der Anfang wird gezeigt; den Rest findest du im Repo