How-to
Connecting an agent
Connecting an agent
Connecting an agent points the client at one MCP address and the key secret. MCP here means Model Context Protocol. The transport is Streamable HTTP. There is no standard-input entry.
Prerequisites
- You have a key in status
ACTIVEand the secret copied at issue time. - The client speaks Streamable HTTP and can send an
Authorizationheader.
Secret in the client
The secret is a credential. Do not put it in a repository, a screenshot, or a shared chat. After issue, ComplexQA shows only the last four characters.
Steps
- In the agent client, add a Streamable HTTP server.
- Set the address to
https://mcp.complexqa.com/mcp. - On every request, including the call list, send
AuthorizationwithBearerand the full secret, including thecqa_mcp_prefix. - Set
mcp-protocol-versionto2025-11-25or2026-07-28. One process serves both. - Send
Acceptwithapplication/jsonandtext/event-stream. - Save the connection and request the call list.
Do not send X-Team-Slug. Do not put another project's project_id into the arguments. The server forces the key's project.
Result
The handshake returns the server name CQA_MCP and version 0.1.0. Every key receives the same call list. The list is not cut down by permissions. A call without the matching pair in Permissions returns a refusal such as This key cannot UPDATE bug. and a hint to grant that action.
A missing or revoked secret returns HTTP 401. Requests that are too frequent, and the team's monthly ceiling of successful calls, return HTTP 429 and a hint about whether a retry makes sense. The server does not queue a "wait and retry". A temporary outage returns HTTP 503.
Numeric ceilings belong to the stand. They are not in this documentation: product limits live on the tariffs page in the app.
Did this page help?