Public Docs / MCP / Installation

MCP Installation

Connect any MCP-compatible AI client to Phoenix Security in three steps: get an API key, download the bridge script, and add the server configuration to your client.

Before You Start

Option A — Claude Desktop

Claude Desktop reads MCP servers over stdio. The Phoenix bridge script translates between stdio and the Phoenix HTTP endpoint.

Step 1 — Download the bridge script

Save mcp_http_bridge.py from the Phoenix developer resources page (or your account downloads) to a stable location on your machine, for example ~/.phoenix/mcp_http_bridge.py.

Step 2 — Add Phoenix to Claude Desktop's config

Open (or create) ~/Library/Application Support/Claude/claude_desktop_config.json on macOS, or %APPDATA%\Claude\claude_desktop_config.json on Windows, and add the following entry inside "mcpServers":

{
  "mcpServers": {
    "phoenix-security": {
      "command": "python3",
      "args": ["/Users/you/.phoenix/mcp_http_bridge.py"],
      "env": {
        "MCP_HTTP_URL": "https://phxintel.security/api/v1/mcp/claude",
        "MCP_API_KEY": "phx_your_key_here"
      }
    }
  }
}

Replace /Users/you/.phoenix/mcp_http_bridge.py with your actual path, and phx_your_key_here with your API key.

Step 3 — Restart Claude Desktop

Quit and reopen Claude Desktop. A hammer icon in the toolbar indicates MCP servers are active. Ask Claude: "What is CVE-2024-27198?" to verify the connection.

Option B — ChatGPT Desktop

The ChatGPT Desktop integration is identical in structure. Use the ChatGPT-specific bridge script and alias endpoint.

Step 1 — Download the ChatGPT bridge script

Save mcp_http_bridge_chatgpt.py from your account resources to a stable location, for example ~/.phoenix/mcp_http_bridge_chatgpt.py.

Step 2 — Configure ChatGPT Desktop

In ChatGPT Desktop, open Settings → Integrations → Model Context Protocol and add a new MCP server with the command and env variables below:

Command:  python3
Args:     /Users/you/.phoenix/mcp_http_bridge_chatgpt.py
Env:
  MCP_HTTP_URL  =  https://phxintel.security/api/v1/mcp/chatgpt
  MCP_API_KEY   =  phx_your_key_here

Step 3 — Verify the connection

Restart ChatGPT Desktop and test with: "Look up CVE-2024-3400 using Phoenix."

Option C — Direct HTTP (Custom Clients)

If your MCP client supports HTTP transport natively (no stdio bridge needed), point it directly at the endpoint:

POST https://phxintel.security/api/v1/mcp
Content-Type: application/json
x-api-key: phx_your_key_here

{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "initialize",
  "params": {}
}

Any JSON-RPC 2.0 client or HTTP client that can set headers will work. See the Tools Reference for available methods.

Local HTTPS (Self-Hosted Deployments)

If you run a self-hosted Phoenix instance and want to serve MCP over local HTTPS, you can generate a local certificate with mkcert and use the bridge's --insecure flag for self-signed certificates.

# Generate a local certificate
brew install mkcert
mkcert -install
mkdir -p ssl
mkcert -cert-file ssl/cert.pem -key-file ssl/key.pem localhost 127.0.0.1

# Start Phoenix with the HTTPS proxy overlay
BACKEND_HTTP_PORT=8001 docker-compose \
  -f docker-compose.dev.yml \
  -f docker-compose.mcp-https.local.yml up -d

# Use the bridge pointing at local HTTPS
MCP_HTTP_URL="https://localhost:8000/api/v1/mcp/claude" \
MCP_API_KEY="phx_your_key_here" \
python3 mcp_http_bridge.py --insecure

Environment Variables (Bridge Scripts)

Variable Default Description
MCP_HTTP_URL http://localhost:8000/api/v1/mcp/claude Full URL of the Phoenix MCP endpoint
MCP_API_KEY empty Your Phoenix API key (required)
MCP_HTTP_TIMEOUT 30 HTTP request timeout in seconds
MCP_HTTP_INSECURE 0 Set to 1 to disable TLS verification (self-hosted only)

Troubleshooting