# StackShield Now Has an MCP Server: Run Scans and Triage Issues From ChatGPT, Claude and Cursor

> Connect StackShield to any MCP-compatible assistant and ask it to scan a domain, explain a failed test, resolve the issues you have fixed, or write a security report. Included on every plan.

**Author:** Matt King | **Published:** September 5, 2026 | **Category:** Product

---

StackShield now ships a Model Context Protocol server. Point ChatGPT, Claude, Cursor, VS Code, Codex or Gemini CLI at `https://stackshield.io/mcp`, sign in, and your assistant can run scans, read findings, resolve issues and write reports against your real account. It is on every plan, including the trial, from today.

Setup for each client is in the [MCP documentation](/docs/mcp). This post is about why we built it and what it is actually useful for.

## Why an MCP server

Security scan results have a habit of living in a tab you open on Fridays. The findings are good, the remediation notes are good, and none of it is in the place where you are actually writing code or deciding what to do this week.

MCP fixes the location problem. It is an open standard that lets an AI assistant discover and call a service's tools directly. Instead of copying a scan report into a chat window and asking what it means, the assistant pulls the report itself, reads the failed tests, checks which issues are still open, and answers from the live data. When you tell it a header is fixed, it can trigger a rescan and mark the issue resolved without you leaving the editor.

Every capability is discovered on connection. There is no prompt to paste and no configuration beyond the URL and a sign-in.

## What the server exposes

Sixteen tools in five groups, three resources and two prompts. In short:

- **Checks.** List, inspect, create, update and delete the domains you monitor.
- **Scans.** List scans, start a new one, and read every individual test result from a finished scan, including the remediation steps.
- **Issues.** List and filter issues by severity, status, domain or test type; resolve, reopen and bulk resolve them; export the lot as CSV.
- **Dashboard.** A posture summary: domains, active scans, priority issues, domains at risk.
- **Resources.** `stackshield://checks`, `stackshield://issues/critical` and `stackshield://stats`, for assistants that prefer to load context up front.
- **Prompts.** `security_review` and `scan_report`, which walk the assistant through a multi-step workflow and produce a structured result.

Each tool is annotated so the assistant knows which are read-only and which change state. The full list with parameters is on the [tools section of the docs](/docs/mcp#tools).

## Use cases

These are the workflows we expect to see most, and the ones we designed the tool set around.

### Triage a scan before standup

> "Run a scan on app.example.com and tell me which findings are unauthenticated and externally reachable."

The assistant calls `trigger_scan`, polls `get_scan` until it finishes, then walks through `get_scan` and `get_scan_test` for the failures. Because it can read the technical details for each test, it can sort by what an attacker with no account could reach rather than by the severity label. That is [the triage order we recommend](/blog/reading-a-laravel-security-scan-report), and now it is one sentence instead of a spreadsheet.

### Fix the finding without leaving the editor

In Cursor, VS Code or Claude Code the assistant already has your codebase open. Ask it to "look at the open issues for staging.example.com and fix the ones that are middleware changes." It pulls the issues, reads the remediation notes for each, edits `app/Http/Middleware` or `config/cors.php`, and when you have deployed, triggers a rescan and resolves the issues that now pass. The finding and the fix live in the same conversation.

### Close the loop after a deploy

> "We just deployed. Rescan every active domain and tell me what changed."

`list_checks`, one `trigger_scan` per domain, then a comparison against the previous scan for each. Configuration drift, like a debug flag flipped during an incident and never flipped back, shows up in minutes rather than at the next weekly scan.

### Weekly posture report for someone who does not read dashboards

The `scan_report` prompt takes a domain and produces an executive summary, detailed findings and next steps. The `security_review` prompt produces a prioritised remediation plan grouped by severity. Either can be pasted into Slack or a client update as is. If you run an agency, "produce a scan report for every client domain" is now a single request.

### Bulk housekeeping

> "Resolve every low severity header finding on the marketing site with the note 'accepted, static site behind CDN'."

`list_issues` with a severity and domain filter, then `bulk_resolve_issues`. The bulk tool refuses to run without an explicit confirmation, so the assistant will show you the list and ask before it changes anything.

### Onboard a new domain

> "Add api.example.com, scan it daily at 06:00 UTC, and run the first scan now."

`create_check` with a schedule, then `trigger_scan`. Plan limits apply inside the tool, so if you are at your domain limit the assistant is told why and can suggest the upgrade rather than failing silently.

### Answer "are we exposed to this?"

When a new advisory lands, ask "do any of our domains have an exposed Telescope or Horizon instance?" The assistant reads `stackshield://issues/critical` and the relevant test results across every check and gives you a yes or no with the domains listed. That used to be a manual click through each domain.

## What it will not do

Some boundaries were deliberate.

- **No account changes.** The server cannot touch billing, team membership or API keys.
- **Team scoped.** An OAuth connection sees the team you currently have selected in the dashboard; an API key sees the team that owns it. Neither can reach another team's data.
- **Confirmation for irreversible actions.** `delete_check` and `bulk_resolve_issues` require `confirm: true`, which a well-behaved assistant only sends after checking with you.
- **Rate limited.** The server has its own rate limiter so a runaway agent loop cannot exhaust your scan allowance in one go.

Authentication is OAuth 2.1 with PKCE for connectors, or a team API key for command-line tools. Access tokens expire after an hour and refresh silently for up to 90 days. You can see and revoke every connected assistant from the API keys page in Team Settings.

## Getting connected

Every client is covered in the [setup section of the docs](/docs/mcp#setup), including [ChatGPT](/docs/mcp#setup-chatgpt), [Claude](/docs/mcp#setup-claude), [Claude Code](/docs/mcp#setup-claude-code), [Cursor](/docs/mcp#setup-cursor), [VS Code](/docs/mcp#setup-vscode), [Codex CLI](/docs/mcp#setup-codex), [Gemini CLI](/docs/mcp#setup-gemini) and [Windsurf](/docs/mcp#setup-windsurf). Cursor and VS Code have one-click install buttons. Everyone else needs the URL and a sign-in.

If you are not a customer yet, the [free scan](/free-scan) will show you what StackShield finds on your domain, and the [14-day trial](/register) includes MCP access from the first minute.

---

## Frequently Asked Questions

### What is the StackShield MCP server?

It is a remote Model Context Protocol server at stackshield.io/mcp that exposes your StackShield account to AI assistants. Once connected, an assistant such as ChatGPT, Claude, Cursor or Codex can list your monitored domains, trigger scans, read individual test results, resolve issues and pull dashboard statistics, all by you asking in plain language.

### Which AI assistants work with StackShield MCP?

Any client that supports remote MCP servers over Streamable HTTP. That includes ChatGPT, Claude on claude.ai and Claude Desktop, Claude Code, Cursor, VS Code with GitHub Copilot, Codex CLI, Gemini CLI and Windsurf. The docs have a setup section for each one, with one-click install links for Cursor and VS Code.

### Is MCP access included in my plan?

Yes. MCP works on every plan and during the 14-day trial, for reads and writes. Your plan limits still apply inside the tools, so creating a check respects your domain limit and triggering a scan respects your daily manual scan limit. The REST API remains a Business plan feature.

### Can an AI assistant change my billing or team through MCP?

No. The MCP server cannot change billing, invite or remove team members, or manage API keys. It is scoped to the team you have selected, and the two irreversible tools, delete_check and bulk_resolve_issues, refuse to run unless the assistant explicitly confirms after checking with you.

### How does authentication work?

Connectors sign in with OAuth 2.1 and PKCE: you approve access once in the browser and tokens refresh silently for up to 90 days. Command-line clients can use a team API key instead. Either way every request is authenticated, and you can revoke a connected assistant from the API keys page at any time.

