Other MCP clients
Beacon's MCP server speaks streamable HTTP at /mcp, stateless, so any client that speaks MCP over HTTP reaches it. In VS Code, for example, put this in .vscode/mcp.json:
json
{
"servers": {
"beacon": {
"type": "http",
"url": "https://status.example.com/mcp",
"headers": { "Authorization": "Bearer lbt_…" }
}
}
}How a client signs in
There are two ways, and a client needs either one of them:
- MCP's OAuth, for a client that implements it (Claude Code, Codex and Cursor do; see their pages). Beacon publishes the protected-resource metadata of
/mcpand the authorization server's metadata (RFC 9728, RFC 8414), registers clients dynamically as public clients (RFC 7591) with redirect URIs on the loopback interface orhttps, and takes the authorization-code flow with PKCE (S256). The consent page asks what the agent may do — the same four things as for Claude Code (Allow it on Beacon's consent page). - A token in the header,
Authorization: Bearer lbt_…, for everything else: a script, a CI job, a client without OAuth. The token is one of your agents' credentials, and it renews itself (Headless agents and CI). An OAuth access token (lba_…) is accepted wherever a bearer token is, so a client that has signed in can also use it as a header.
Check it works
bash
curl -H "Authorization: Bearer lbt_…" https://status.example.com/api/v1/tokenanswers who the token acts for, as its holder sees it; the MCP tool whoami says the same. Every tool takes a scope, checked on every call, and every call is recorded: MCP tools lists them all with what they need.