MCP
Give an AI agent captures, browser sessions and analytical jobs as tools, through the Model Context Protocol endpoint /mcp.
The endpoint
https://grid-lab.zyxio.xyz/mcp speaks MCP's Streamable HTTP transport, statelessly: every request is answered on its own, with no server-side MCP session.
Connect with an API key
Send the key as a header. For Claude Code:
claude mcp add --transport http browsergrid https://grid-lab.zyxio.xyz/mcp \
--header "x-api-key: $BROWSERGRID_API_KEY"
A client that reads a JSON configuration takes the same two things:
{
"mcpServers": {
"browsergrid": {
"type": "http",
"url": "https://grid-lab.zyxio.xyz/mcp",
"headers": { "x-api-key": "bgk_..." }
}
}
}
Keep a configuration file that holds a key out of version control.
Connect by signing in with Zyxio
Register the URL without a header. On the first call the endpoint answers 401 and points the client at its sign-in metadata; the client then opens Zyxio sign-in in your browser. Sign in with the identity you use on the panel. Remember that this identity is not the same as your API keys: what one creates, the other cannot see. Both are billed to your account.
Tools
Each tool is one API call, made with your own credential.
| Tool | Call |
|---|---|
submit_batch | POST /batches |
batch_status | GET /batches/{batchId} |
job_status | GET /jobs/{jobId} |
retry_job | POST /jobs/{jobId}/retry |
get_artifact | GET /artifacts/{jobId}/{kind} |
lease_session | POST /sessions |
list_sessions | GET /sessions |
release_session | DELETE /sessions/{sessionId} |
grid_status | GET /grid |
submit_compute_job | POST /jobs |
compute_job_status | GET /jobs/{jobId} |
list_compute_jobs | GET /jobs |
cancel_compute_job | POST /jobs/{jobId}/cancel |
get_compute_logs | GET /jobs/{jobId}/logs |
get_compute_artifacts | GET /jobs/{jobId}/artifacts |
A tool returns the call's JSON answer as text. An answer with status 400 or higher comes back as a tool error with the same body, 402 insufficient_credit included.
Driving a leased browser
lease_session returns a cdpUrl. Point a browser-automation MCP server at it, for example Playwright's (npx @playwright/mcp --cdp-endpoint "$CDP_URL"), once list_sessions shows the session running. Release it with release_session.
What it costs
Nothing extra. A tool costs exactly what its call costs, and the call is billed once: the MCP endpoint itself reserves and charges nothing.
See POST /mcp.