mirror of
https://github.com/prowler-cloud/prowler.git
synced 2026-07-23 20:42:02 +00:00
146 lines
5.6 KiB
Plaintext
146 lines
5.6 KiB
Plaintext
---
|
|
title: "Connect VS Code and GitHub Copilot to Prowler MCP Server"
|
|
sidebarTitle: "VS Code / Copilot"
|
|
---
|
|
|
|
Connect [Visual Studio Code](https://code.visualstudio.com/docs/agents/reference/mcp-configuration) and GitHub Copilot agent mode to the Prowler Cloud MCP Server at `https://mcp.prowler.com/mcp` so Copilot can query findings, inspect security checks, and manage your Prowler providers.
|
|
|
|
## Prerequisites
|
|
|
|
- **VS Code 1.102 or later.** MCP support became generally available in 1.102.
|
|
- **GitHub Copilot** enabled, with access to agent mode.
|
|
- **A Prowler Cloud account.** The free tier is enough to start. Sign up at [cloud.prowler.com](https://cloud.prowler.com).
|
|
|
|
## Step 1: Get Your Prowler API Key
|
|
|
|
Create an API key in Prowler Cloud and copy it. The key begins with `pk_` and is shown only once. Check the [API Keys](/user-guide/tutorials/prowler-app-api-keys#creating-api-keys) guide for details.
|
|
|
|
## Step 2: Add the Prowler MCP Server
|
|
|
|
VS Code stores MCP servers in an `mcp.json` file. Choose the scope that fits your use case:
|
|
|
|
| Scope | How to open it | Applies to |
|
|
|-------|----------------|------------|
|
|
| **User** | Command palette → **MCP: Open User Configuration** | Every workspace |
|
|
| **Workspace** | `.vscode/mcp.json` in the project root | That workspace only |
|
|
|
|
For Prowler, the **user** scope is usually the right choice — your findings are not tied to a single repository, and it keeps the API key out of any project directory that might be committed.
|
|
|
|
<Steps>
|
|
<Step title="Open the MCP configuration">
|
|
Open the command palette with `Cmd + Shift + P` (macOS) or `Ctrl + Shift + P` (Windows/Linux), then run **MCP: Open User Configuration**.
|
|
|
|
VS Code opens your user-level `mcp.json`. Use this command rather than navigating to the file by hand — the file lives inside your active profile folder, and the path differs per profile.
|
|
|
|
<Frame>
|
|
<img src="/images/prowler-mcp/vscode/vscode-command-palette.png" alt="VS Code command palette showing the MCP: Open User Configuration command" />
|
|
</Frame>
|
|
</Step>
|
|
|
|
<Step title="Add the Prowler configuration">
|
|
Paste the following. This version prompts you for the API key on first use and stores it securely, so the key is never written into the file:
|
|
|
|
```json
|
|
{
|
|
"inputs": [
|
|
{
|
|
"type": "promptString",
|
|
"id": "prowler-api-key",
|
|
"description": "Prowler API Key",
|
|
"password": true
|
|
}
|
|
],
|
|
"servers": {
|
|
"prowler": {
|
|
"type": "http",
|
|
"url": "https://mcp.prowler.com/mcp",
|
|
"headers": {
|
|
"Authorization": "Bearer ${input:prowler-api-key}"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
Save the file.
|
|
|
|
<Frame>
|
|
<img src="/images/prowler-mcp/vscode/vscode-mcp-json.png" alt="VS Code editor showing the completed mcp.json with the Prowler server entry" />
|
|
</Frame>
|
|
</Step>
|
|
|
|
<Step title="Enter your API key">
|
|
Start the server. VS Code prompts for the Prowler API key. Paste it and press Enter — VS Code stores it securely and does not ask again.
|
|
</Step>
|
|
|
|
</Steps>
|
|
|
|
<Warning>
|
|
**The root key is `servers`, not `mcpServers`.** VS Code uses a different schema from Cursor, Claude, and most other clients. Copying a `mcpServers` snippet from elsewhere silently fails to register the server.
|
|
</Warning>
|
|
|
|
<Note>
|
|
**Local server:** Replace the URL with your own HTTP endpoint. Everything else stays the same.
|
|
</Note>
|
|
|
|
## Step 3: Verify the Connection
|
|
|
|
Run **MCP: List Servers** from the command palette. The `prowler` server should appear as running.
|
|
|
|
<Frame>
|
|
<img src="/images/prowler-mcp/vscode/vscode-list-servers.png" alt="VS Code MCP: List Servers output showing the Prowler server running" />
|
|
</Frame>
|
|
|
|
Select the server to start, stop, or restart it, and to view its output log if the connection fails.
|
|
|
|
## Step 4: Start Using Prowler MCP
|
|
|
|
Open the Chat view and switch the mode selector to **Agent**. Click the tools icon to confirm the Prowler tools are available, then ask:
|
|
|
|
- *"Show me all critical findings from my AWS accounts"*
|
|
- *"What does the S3 bucket public access check do?"*
|
|
- *"Summarize my CIS compliance status by provider"*
|
|
|
|
<Frame>
|
|
<img src="/images/prowler-mcp/vscode/vscode-agent-tools.png" alt="VS Code Copilot Chat in agent mode showing the Prowler tools in the tools picker" />
|
|
</Frame>
|
|
|
|
Copilot asks for confirmation before running an MCP tool for the first time.
|
|
|
|
## Troubleshooting
|
|
|
|
### Server Does Not Appear
|
|
|
|
- Confirm the root key is `servers`, not `mcpServers`.
|
|
- Confirm each server entry has `"type": "http"`.
|
|
- Check that `mcp.json` is valid JSON.
|
|
- Verify your VS Code version is 1.102 or later.
|
|
|
|
### Authentication Fails With 401
|
|
|
|
- Verify the header value includes the `Bearer ` prefix.
|
|
- Confirm the key has not been revoked in Prowler Cloud.
|
|
- If you mistyped the key at the prompt, run **MCP: List Servers**, select `prowler`, and restart it to be prompted again.
|
|
|
|
### Tools Do Not Appear in Chat
|
|
|
|
- Make sure the Chat view is in **Agent** mode. MCP tools are not available in Ask mode.
|
|
- Open the tools picker and confirm the Prowler tools are enabled.
|
|
|
|
## Next Steps
|
|
|
|
<CardGroup cols={2}>
|
|
<Card title="Tools Reference" icon="wrench" href="/getting-started/basic-usage/prowler-mcp-tools">
|
|
Explore all available tools and capabilities
|
|
</Card>
|
|
<Card title="All MCP Clients" icon="plug" href="/getting-started/basic-usage/prowler-mcp">
|
|
Configuration reference for every supported client
|
|
</Card>
|
|
</CardGroup>
|
|
|
|
## Getting Help
|
|
|
|
- Search for existing [GitHub issues](https://github.com/prowler-cloud/prowler/issues)
|
|
- Ask for help in our [Slack community](https://goto.prowler.com/slack)
|
|
- Report a new issue on [GitHub](https://github.com/prowler-cloud/prowler/issues/new)
|