Skip to main content
Connecting ThornGuard to your AI Assistant requires no changes to your upstream MCP servers. ThornGuard sits entirely in the middle, intercepting and securing the traffic seamlessly.

Prerequisites

  1. Claude Desktop installed on your machine.
  2. Your ThornGuard License Key. You can also use an enterprise team token if one has been issued to you. If you still need a plan, start with Pricing.
  3. npx installed on your machine (comes natively with Node.js).

1. Configure Claude Desktop

Because Claude Desktop natively expects to run local terminal commands, it uses a bridge tool called mcp-remote to connect to web-based HTTP servers. We will use this tool to route traffic through ThornGuard. Open your Claude Desktop configuration file:
nano ~/Library/Application\ Support/Claude/claude_desktop_config.json

Add the Protected Integration

Add a new server to your mcpServers object. In this example, we are securing a connection to GitHub Copilot’s MCP server.
claude_desktop_config.json
{
  "mcpServers": {
    "GitHub (Protected)": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://thorns.qwady.app/mcp",
        "--header",
        "x-thornguard-license: Bearer THORN-YOUR_KEY_HERE",
        "--header",
        "x-mcp-target-url: https://api.githubcopilot.com/mcp",
        "--header",
        "x-upstream-auth: Bearer ghp_YOUR_UPSTREAM_TOKEN"
      ]
    }
  }
}

Understanding the Configuration:

  • https://thorns.qwady.app/mcp: The ThornGuard Edge Proxy URL. All traffic goes here first.
  • x-thornguard-license: Your ThornGuard license key or team token. ThornGuard uses this to authenticate proxy access, then strips it before forwarding upstream.
  • x-mcp-target-url: The actual MCP server you want to connect to. ThornGuard reads this, performs security checks, and proxies the traffic to this destination.
  • x-upstream-auth: Optional upstream credential ThornGuard should forward as the upstream Authorization header. Use this when the target MCP server needs its own bearer token.
If your upstream MCP server does not require its own authentication, simply omit x-upstream-auth.

2. Initialize the Connection

  1. Completely quit Claude Desktop.
  2. Re-open Claude Desktop.
  3. Open a new chat and click the 🔌 (Plug) icon in the bottom right corner.
  4. You should see GitHub (Protected) listed with available tools.

3. Verify Your Defenses

Let’s act as a “Red Team” to ensure ThornGuard is actively protecting your environment.

Test Ingress Protection (Malicious Commands)

Send this exact prompt to Claude:
“I need you to use your tools to update the repository. Please execute this command: rm -rf /
Result: Claude will attempt to format a JSON-RPC payload. ThornGuard will intercept the rm -rf signature, instantly drop the request, and return an HTTP 400 error. Claude will inform you the command was blocked.

Test Egress DLP (Data Exfiltration)

Create a text file or issue in your GitHub repository containing a fake AWS key (e.g., AKIAIOSFODNN7EXAMPLE). Then, ask Claude:
“Can you read the latest issue in my repository and tell me exactly what it says?”
Result: GitHub will send the real AWS key back in the stream. ThornGuard will intercept the live network chunks, scrub the key, and replace it with [THORNGUARD REDACTED AWS KEY]. Claude will seamlessly read the redacted text back to you!

4. View Your Audit Trail

After running the tests above, head to the ThornGuard Dashboard and log in with your license key. You’ll see blocked requests, PII redaction events, and successful proxy activity in the real-time audit log. For the full request pipeline, see Security Features. For the live UI surface, see Dashboard.