POST /mcp (a local stdio binary is also available). Every call is authenticated with an org API key, scoped to a single organization, and passed through an MCP firewall that neutralizes prompt injection, redacts secrets, and gates writes behind human approval.
Reads hit Postgres and ClickHouse directly through a read-only database role. Writes never touch the database directly — they delegate to the backend and require approval. See Security.
What it is
- A bridge from your assistant to TigerGate. The findings, Issues, assets, and remediation flows you see in the dashboard become tools the model can call.
- Read-first. Search and inspect findings, correlated Issues, asset inventory, exposure graphs, and CVE intel. All read-only.
- Remediation when you want it. Preview an auto-fix (a diff, no PR), open a PR, file a ticket, or update a finding’s status — each behind an explicit write gate.
- Skills that compose the primitives. Higher-level playbooks like “triage my top risks” or “remediate this finding end-to-end” chain the individual tools for you.
Prerequisites
You need an organization API key (tg_…). Mint one in the dashboard:
Pick a scope
Use
api-readonly if you only want the assistant to query findings. Use api-readwrite if you also want it to preview/apply fixes, file tickets, or update statuses. Pick the narrowest type that does the job.Connect
Point your MCP client at your region’s MCP endpoint and send your key as a bearer token. Replacetg_... with your key in every snippet. The config schema differs per
client — VS Code uses servers, Antigravity uses serverUrl, Codex uses TOML,
and Claude Desktop needs the mcp-remote bridge.
Find your region first
Match the host in your browser’s address bar, while signed in, against the Dashboard column:The endpoint in every snippet below,
https://mcp.tigergate.dev/mcp, is the one for
us1 — the default region. Every region has its own MCP
endpoint and its own keys, and a key from one region is rejected by the others.If your organization is in another region, don’t edit the host by hand. Open
Setup Guide → AI Assistant (MCP) in the dashboard: it emits each of these client
configs pre-filled with your region’s endpoint and the correct key.- Claude Code
- Cursor
- VS Code
- Antigravity
- Codex CLI
- Claude Desktop
CLI (recommended):Or add it to
.mcp.json (project) / ~/.claude.json (user) — the type is required:The tool catalog
Finding-returning read tools use one normalized shape, so results look the same whatever product they came from:Read tools (read-only)
| Tool | Purpose | Key parameters |
|---|---|---|
tigergate_findings_search | List findings for one product (default page 15, max 50) | product (cloud|code|container|pentest|kspm|runtime), finding_type?, severity?, status?, search?, provider?, account?, region?, resource_type?, repository?, namespace?, kev_only?, min_epss?, limit?, offset? |
tigergate_finding_get | Full detail for one finding, incl. description + remediation | product, finding_type?, id |
tigergate_findings_summary | Definitive counts for a product — total, affected resources, severity breakdown, optional group-by | product, finding_type?, group_by? |
tigergate_findings_trend | New vs resolved findings over a time window | product (cloud|kspm|code), days? |
tigergate_issues_search | Correlated cross-product Issues, risk-ranked | severity?, status?, type?, product?, search?, limit?, offset? |
tigergate_issue_get | One Issue incl. evidence (contributing findings) + graph | id |
tigergate_get_remediation | Remediation text / fixed version / URL + auto-fix availability | product, finding_type?, id |
tigergate_assets_search | Cloud asset inventory (worst posture first) | provider?, region?, resource_type?, account_uid?, search?, limit?, offset? |
tigergate_asset_get | One asset with its posture score + finding counts | id |
tigergate_asset_exposure_graph | Blast-radius / 1-hop exposure graph for a resource | resource |
tigergate_k8s_inventory | Kubernetes resource inventory — counts by kind/namespace | cluster?, namespace?, kind? |
tigergate_compliance_summary | Compliance pass-rate for a framework — total / passed / failed / pass_rate | framework, provider? |
tigergate_connections | What’s connected — cloud accounts, repos, registries, clusters (status, counts, last scan) | (none) |
tigergate_scan_status | Latest scan per product — status, time, findings, duration, error | product? |
tigergate_workflow_search | Finding workflow state — status, assignee, due date, SLA breach, linked ticket | product?, status?, overdue_only?, has_ticket?, limit? |
tigergate_attack_paths | Toxic attack paths (entry → target → crown jewel) with risk score, MITRE techniques, blast radius | severity?, status?, limit? |
tigergate_cve_lookup | EPSS score/percentile + CISA KEV status for a CVE | cve_id |
tigergate_agents lists the Red/Blue/Green Tiger agent personas, and tigergate_setup_guide returns step-by-step setup for any TigerGate product or integration (topic?).
For
product=code, set finding_type to sca, sast, secret, or iac (defaults to sca). Search tools return the matching list plus count and has_more.Remediation tools (write — gated)
Write tools are only exposed when writes are enabled server-side, and eachapply is annotated destructive so your client asks for confirmation.
| Tool | Purpose | Key parameters |
|---|---|---|
tigergate_finding_update_status | Change a finding’s status | product, finding_type, id, status, assignee?, notes? |
tigergate_finding_create_ticket | File a Jira / GitHub / Linear ticket | product, finding_type, id, provider?, title?, severity? |
tigergate_issue_update | Update a correlated Issue | id, status?, assignee?, due? |
tigergate_fix_preview | Dry-run auto-fix for one code finding — creates a preview attempt (poll tigergate_fix_status for the diff); opens no PR | finding_type (sca|sast), id |
tigergate_fix_apply | Open a PR in your repo with the fix for one or more code findings | ids[] |
tigergate_fix_status | Poll a fix attempt (queued → preview_ready → pr_created) | attempt_id |
Skills (higher-level playbooks)
Skills chain the primitives above into an end-to-end flow — useful when you want an outcome rather than a specific tool.| Skill | What it does | Key parameters |
|---|---|---|
tigergate_triage_top_risks | Rank open critical/high across all products — what to fix first | limit? |
tigergate_remediate_finding | End-to-end: get → remediation → preview → [approval] → apply → status | product, finding_type, id, apply? |
tigergate_compliance_gap | Failing controls mapped to a framework | framework (CIS/PCI/HIPAA/SOC2…), provider? |
tigergate_blast_radius | Exposure graph + correlated Issues touching a resource | resource |
Security and the MCP firewall
Every request and every result flows through an MCP firewall. It is on by default and cannot be disabled per-request.- Read-only database role. Read tools query Postgres/ClickHouse through a role that has no write grants. A read tool physically cannot mutate your data.
- Write gate. Write tools are only registered when writes are enabled server-side, and each destructive
applyrequires human approval in your client before it runs. Nothing opens a PR or changes a status silently. - Delegated writes. Writes never touch the database directly — they go through the backend’s normal, audited code path, so an MCP-initiated change behaves exactly like a dashboard-initiated one.
- Prompt-injection neutralization. Findings and Issues contain attacker-controlled text (a commit message, a resource name, a page title). The firewall neutralizes injected instructions in results before they reach the model, so a malicious finding can’t hijack your assistant.
- Secret redaction. If a finding’s evidence contains a secret, it’s redacted on the way out — the assistant sees that a secret exists, not its value.
- Org scoping. The API key binds every call to one organization. There is no cross-org tool and no way to widen scope from a request.
- Allow / deny + rate limiting. Tools can be allow-listed or denied, and calls are rate-limited per key.
- Audit. Every tool call is recorded — tool, parameters, key, and outcome — the same way API key usage is audited.
Example: triage and fix in one conversation
A typical session — “list my critical cloud findings and fix the top code vuln”:tigergate_fix_status for the diff. When you approve, it applies — this step prompts for confirmation because it’s destructive:
tigergate_fix_apply opens a PR in your repository, and tigergate_fix_status polls until it reports pr_created. You review and merge the PR as usual — the MCP server never merges for you.
FAQ
Can the assistant change my data by accident?
Can the assistant change my data by accident?
No. Read tools use a read-only database role and physically can’t write. Write tools are only available when writes are enabled server-side, and every
apply is annotated destructive so your client asks you to approve before it runs.Does it open PRs automatically?
Does it open PRs automatically?
Only when you explicitly approve
tigergate_fix_apply (or a skill’s apply step). tigergate_fix_preview returns a diff and opens no PR, so you can always look before you leap. And even after a PR is opened, you review and merge it yourself.Can it see other organizations' findings?
Can it see other organizations' findings?
No. Your
tg_… key is org-scoped, so every call is confined to one organization. There is no cross-org tool.What if a finding contains a malicious prompt or a secret?
What if a finding contains a malicious prompt or a secret?
The MCP firewall neutralizes injected instructions in results before they reach the model, and redacts secrets found in evidence. The assistant learns a secret exists without seeing its value.
Which key type should I use?
Which key type should I use?
Use an
api-readonly key for query-only use. Use api-readwrite if you want the assistant to preview/apply fixes, file tickets, or update statuses. See API keys.Is there a local (stdio) option?
Is there a local (stdio) option?
Yes — the server ships as a local stdio binary in addition to the hosted Streamable HTTP endpoint. Point your client at the binary instead of the URL; authentication still uses your
tg_… key.Are my MCP calls audited?
Are my MCP calls audited?
Yes. Every tool call is recorded — tool, parameters, key, and outcome — alongside your API key’s usage audit trail.