Skip to main content

Guides

MCP

Connect Claude Code, Codex, Cursor or VS Code to the Browlix MCP server and use every API operation as a tool.

View as Markdown

The Browlix MCP server exposes the API v1 catalog as tools, with the same permissions, limits, idempotency and audit as HTTP.

  • Endpoint: https://browlix.com/api/public/mcp

  • Transport: Streamable HTTP, stateless — every POST carries the API key, so reconnecting is just the next request.

  • Protocol revisions (newest first):

  • 2026-07-28 — modern (per-request metadata, server/discover, no handshake)

  • 2025-11-25, 2025-06-18, 2025-03-26 — legacy (initialize handshake)

A client that speaks 2026-07-28 sends the revision and its capabilities with every request (MCP-Protocol-Version, Mcp-Method, Mcp-Name headers mirror the body) and may call server/discover first; there is no handshake. A client on an older revision starts with initialize and gets its own revision back when it is listed, otherwise the newest legacy one. An unknown revision is refused with error -32022 and the supported list.

Connect a client

Put the key in an environment variable or the client's secret prompt — never in a config file.

export BROWLIX_API_KEY="bxk_…"
claude mcp add --transport http --scope user browlix https://browlix.com/api/public/mcp \
  --header 'Authorization: Bearer ${BROWLIX_API_KEY}'

Cursor reads ~/.cursor/mcp.json; VS Code reads .vscode/mcp.json in the workspace. The web app shows the same snippets under Settings → API keys.

Tools

  • One tool per operation, named after its id with underscores: sessions.start → sessions_start. Inputs are the path, query and body fields side by side.
  • tools/list returns only the tools the key may use right now.
  • Read tools are marked read-only; tools that remove or end something are marked destructive.
  • docs_search and docs_fetch read these docs for any valid key.
  • Every tool publishes an outputSchema (from revision 2025-06-18), and a successful call returns the same JSON as HTTP in structuredContent and as text. Fields can be added at any time — ignore the ones you do not know.
  • With 2026-07-28, tools/list is cacheable for 5 minutes per key (cacheScope: private).

Writes and lost replies

Write tools accept a command_id. If the agent omits it, the server generates one and returns it in the result. After a disconnect, call receipts_get with that id instead of calling the write again.

Errors and feedback

Failures come back as tool results with isError: true and the same error.code as HTTP. For failures Browlix could improve (UNKNOWN, VALIDATION_FAILED, CONFLICT, UNSUPPORTED…) the result adds a hint about feedback_submit — see Feedback from agents.

Clients checked

Each row was run against the Browlix MCP server; a client that could not be exercised says so.

ClientVersionProtocolResultCheckedNotes
Claude Code2.1.3112026-07-28works2026-10-27server/discover, then tools/list (claude mcp list → Connected)
@modelcontextprotocol/client (TypeScript SDK v2)2.4.02026-07-28works2026-10-27pinned and auto negotiation; list, call, typed error, outputSchema validated by the client
@modelcontextprotocol/sdk (TypeScript)1.32.22025-11-25works2026-10-27initialize handshake; outputSchema validated by the client
@modelcontextprotocol/sdk (TypeScript)1.17.52025-06-18works2026-10-27initialize handshake; outputSchema validated by the client
@modelcontextprotocol/sdk (TypeScript)1.11.52025-03-26works2026-10-27no MCP-Protocol-Version header; tool list without outputSchema
Codex CLI0.164.0—config only2026-10-27codex mcp add … --bearer-token-env-var accepted; a live session needs an OpenAI sign-in, not run in the lab
Cursor——not run2026-10-27desktop app, not run in the lab; configuration follows Cursor's docs
VS Code——not run2026-10-27desktop app, not run in the lab; configuration follows VS Code's docs