Skip to main content
View as Markdown

Connect Claude to Sovrium over MCP

You want Claude (Desktop, Code, or any MCP client) to read and act on a Sovrium app's tables, automations, and actions — securely, over the Model Context Protocol.

Enable the MCP server

It is off by default, and it needs an app.auth block — every MCP credential is issued by the auth layer, so the boot refuses without one. Enable self-service keys while you are there:

app.yaml
auth:
  strategies:
    - type: emailAndPassword
  apiKeys: true

Then turn the server on. There is no credential variable to set:

>_ terminal
export MCP_ENABLED=true
export MCP_TRANSPORT=streamable-http
sovrium start app.ts

The server mounts one JSON-RPC endpoint at /mcp.

Mint a key

Sign in as the user whose role the client should inherit and mint an API key. The key acts as that user, resolved live on every call — so RBAC follows the person, not the credential. Want a read-only client? Give the key's owner the viewer role; demote them later and the same key narrows with them.

Point Claude at it

Add an entry to your client's mcpServers config. The key goes in an x-api-key header — not Authorization: Bearer — that header is verified as an OAuth access token, so an API key placed there is rejected 401:

app.json
{
  "mcpServers": {
    "my-app": {
      "url": "https://your-app.example.com/mcp",
      "transport": "http",
      "headers": { "x-api-key": "<your-api-key>" }
    }
  }
}

Verify

Ask Claude to list your app's tables — it calls the MCP tools and returns live data.

Next

Last updated September 1, 2026

This documentation was written with AI, so errors or outdated content are possible. Sovrium is in beta. Contributions and corrections are welcome.

Built with Sovrium