ThornGuard exposes its MCP proxy and management API fromDocumentation Index
Fetch the complete documentation index at: https://qwady.wiki/llms.txt
Use this file to discover all available pages before exploring further.
https://thorns.qwady.app.
Hosts
https://thorns.qwady.app/mcp— public MCP proxy endpointhttps://thorns.qwady.app/mcp/:connection-id— managed MCP proxy endpoint for a saved protected connectionhttps://thorns.qwady.app/api/*— management and telemetry APIhttps://thorns.qwady.io— live dashboard
Default Authentication
The default auth path remains:- License keys:
THORN-...
x-thornguard-license: Bearer THORN-...x-thornguard-activation-id: <activation-id>x-thornguard-activation-proof: <activation-proof>x-thornguard-session-id: <runtime-session-id>
Authorization: Bearer THORN-...x-thornguard-activation-id: <activation-id>x-thornguard-activation-proof: <activation-proof>
Current Public Routing Model
For MCP traffic, the preferred public setup path is now the managed connection route:x-thornguard-licenseauthenticates the request to ThornGuardx-thornguard-activation-ididentifies the active browser / CLI / device instancex-thornguard-activation-proofbinds that activation to the current client instancex-thornguard-session-idbinds runtime/session-local enforcement state for the protected launchx-upstream-authoptionally forwards a separate bearer token to the upstream service/mcp/:connection-idresolves the saved protected connection and becomes the canonical remote address
/mcpstill works for clients that are not migrated yetx-mcp-target-urltells ThornGuard which upstream MCP endpoint to protect on that legacy path
OAuth / JWT Interoperability
ThornGuard also supports additive OAuth-style bearer authentication for HTTP clients when that deployment enables it. Protected Resource Metadata is served from:/.well-known/oauth-protected-resource/.well-known/oauth-protected-resource/mcp
License keys plus activation IDs remain the default documented path. OAuth/JWT
is additive and deployment-configured.
Secret Handling Notes
- ThornGuard sanitizes sensitive values such as auth headers, ThornGuard credentials, and upstream bearer tokens before they are written into ThornGuard-controlled audit rows or webhook deliveries.
- Local client tools or bridge commands may still expose CLI-passed headers in local logs before the request reaches ThornGuard.
- Prefer managed secret inputs, environment variables, or keychain-backed storage over hardcoding bearer tokens into shared config files.
Correlation Headers
ThornGuard returns these headers on successful proxied responses and ThornGuard-generated error responses:x-thornguard-log-idx-thornguard-trace-idx-thornguard-session-idx-thornguard-session-expires-atx-thornguard-connection-idon managed routesx-thornguard-route-mode(managedorlegacy)
Management API Surface
Core routes:GET /api/logsGET /api/logs/exportGET /api/statsGET /api/settingsPUT /api/settingsPOST /api/license/activations/ensureGET /api/license/activationsDELETE /api/license/activations/:id
License activation routes are managed with the primary
THORN-... license
key. They are not an OAuth-managed surface, even when OAuth/JWT support is
enabled for other ThornGuard routes.GET /api/policiesPOST /api/policiesPATCH /api/policies/:idDELETE /api/policies/:idGET /api/connectionsPOST /api/connectionsPATCH /api/connections/:idDELETE /api/connections/:idGET /api/connections/:id/advisoriesPOST /api/connections/:id/advisories/refreshGET /api/integrationsPOST /api/integrationsPATCH /api/integrations/:idDELETE /api/integrations/:idPOST /api/integrations/:id/testGET /api/integrations/:id/deliveriesGET /api/toolsPOST /api/tools/:id/repinPOST /api/tools/:id/unpinGET /api/approval-profilesPOST /api/approval-profilesPATCH /api/approval-profiles/:idDELETE /api/approval-profiles/:idGET /api/approval-requestsPOST /api/approval-requests/:id/approvePOST /api/approval-requests/:id/denyGET /api/redaction-rulesPOST /api/redaction-rulesPATCH /api/redaction-rules/:idDELETE /api/redaction-rules/:id
drift_statusdrift_detected_atdrift_details_json
Upstream Credentials
If your upstream MCP server needs its own bearer token, pass it separately:x-upstream-auth: Bearer ...
Authorization header and does not forward your ThornGuard credential upstream.
Advisory Metadata
The connections API is the management surface behind ThornGuard’s opt-in advisory intelligence.connectionshold non-secret metadata such as target URL, vendor name, repo URL, status page URL, whether intelligence is enabled, the preferredprotected_path/protected_url, connection drift policy, and session TTL.connectionsare saved inventory records for advisory management; they are separate from Polar activation seats.advisoriesexpose warn-first findings for availability, dependency, and vendor-risk signal.- Upstream bearer tokens remain local to the CLI or client machine in this milestone and are not stored server-side in the connection record.