Use this pattern when you operate an MCP server and want ThornGuard to sit in front of it as a managed security layer. Examples:Documentation Index
Fetch the complete documentation index at: https://qwady.wiki/llms.txt
Use this file to discover all available pages before exploring further.
- an internal MCP server shared with your team
- a vendor-operated remote MCP server exposed to customers
- an MCP endpoint that needs auditing, approvals, or PII redaction before client traffic reaches it
Current Supported Pattern
Today, ThornGuard protects an existing upstream MCP endpoint by having clients connect to ThornGuard first and identify the real upstream withx-mcp-target-url.
- Your MCP server keeps running at its existing upstream URL.
- Clients connect to
https://thorns.qwady.app/mcp. - Clients authenticate to ThornGuard with the primary ThornGuard license key plus that client’s activation proof.
- Clients tell ThornGuard which upstream MCP server to reach through
x-mcp-target-url. - ThornGuard enforces auth, policy, rate limits, approvals, redaction, and audit logging before the request reaches your service.
What You Get Today
- a managed security layer in front of an existing MCP service
- audit visibility for every client request
- data loss prevention on responses
- policy controls and approval flows
- activation-aware auth and rate limiting
Preferred Setup: Service Profile Through the CLI
If you want the safer local-launch path, create a service profile first:Example Client Configs
Direct HTTP Client
Claude Desktop via mcp-remote
If you are not using the CLI, create the client activation first with
POST /api/license/activations/ensure and keep the returned
activation_id plus activation_proof local to that one client instance.Recommended Hardening Checklist
- Use HTTPS-only upstream MCP endpoints
- Keep your upstream MCP server protected even if ThornGuard sits in front of it
- Scope ThornGuard credentials per team or environment
- Rotate upstream credentials and ThornGuard credentials on a schedule
- Avoid long-lived copied secrets in client configs whenever OAuth or managed secret storage is available
- Treat audit export destinations and webhook consumers as sensitive systems
What Still Needs Product Work
The current flow works, but it is not yet the ideal onboarding experience for MCP service owners. Current gaps:- server registration in the dashboard instead of raw
x-mcp-target-url - stable protected URLs per upstream connection
- better native support for OAuth-based remote connector platforms
- first-class storage and rotation for upstream credentials