Other MCP clients
Any client that speaks MCP's Streamable HTTP transport can connect. This page has what you need to configure one that is not in the Studio panel.
Connection details
| Setting | Value |
|---|---|
| Transport | Streamable HTTP (stateless — no session id) |
| Endpoint | https://mcp.hypervalent.io/mcp?org=<org id> |
| Authentication | Authorization: Bearer atk_… or X-API-Key: atk_… |
| Organization | ?org= on the URL, or an X-Hypervalent-Org: <org id> header |
| Protocol versions | The current MCP specification and the previous revisions the SDK supports |
The org id is the organization's public id shown in Studio's Use with AI panel and on the API tokens page — a short number, not a UUID.
Every request is independent: the server keeps no session between calls, so a client may reconnect at any time and load-balanced instances behave identically.
Stdio-only clients
A client that can only launch local (stdio) servers can use the mcp-remote bridge, exactly as Claude Desktop does:
npx -y mcp-remote "https://mcp.hypervalent.io/mcp?org=YOUR_ORG_ID" \
--header "Authorization: Bearer atk_YOUR_TOKEN"Testing with curl
A raw initialize call is a quick way to confirm the token and org are accepted before touching a client:
curl -s https://mcp.hypervalent.io/mcp?org=YOUR_ORG_ID \
-H "Authorization: Bearer atk_YOUR_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"curl","version":"0"}}}'A good answer is a JSON-RPC result with the server's capabilities. A bad token answers a JSON-RPC error whose data carries the API's { status, code, message }.
GET https://mcp.hypervalent.io/health answers {"ok":true} and needs no token.
Building your own client or agent
- The tool catalog is fixed per token:
tools/listalways returns every tool, and the server refuses the ones the token cannot use at call time (a read-only token getsTOKEN_SCOPE_READ_ONLYon writes). Filter on the annotations if you want to hide writes. - Tool results are
{ content: [{ type: "text", text: "<JSON>" }] }; failures setisError: trueand the text is the error envelope described in Errors & limits. - Resource reads that fail are JSON-RPC errors —
-32002for a missing resource. - The server rate-limits
POST /mcpper token as a backstop, separately from the API's own limits; both answer aRetry-After. See Errors & limits.