Skip to main content
All apps
MCP Server
API & AI

MCP Server

A headless app that exposes its tables to an LLM client over MCP. Per-entity access is declared with aiAccess; the operator activates the server with an environment flag.

aiAccess

The configuration

This is the whole app. Copy it, change it, make it yours.

app.yaml
name: mcp-server-example
version: 1.0.0
description: A headless Sovrium app that exposes tables to an LLM client via MCP

# This is a HEADLESS app — no `pages` array. The MCP protocol is the only surface.
#
# Per-entity MCP exposure is declared via `aiAccess` on each table. The MCP server
# itself is activated by the operator via environment variables (NOT in schema):
#
#   MCP_ENABLED=true
#   MCP_TRANSPORT=streamable-http
#   MCP_AUTH_STRATEGY=oauth
#
# Schema author declares intent; operator activates. README.md ("Turning MCP on") lists the
# tools this exposes once MCP_ENABLED=true — and why there is nothing to add under config/.
#
# Sample data lives in seed/ and loads with `sovrium seed app.yaml`. There are no pages, so
# the REST API and the MCP tools are the only way to see it.

auth:
  $ref: ./config/auth.yaml

tables:
  - $ref: ./config/tables/tags.yaml
  - $ref: ./config/tables/documents.yaml

Run it

Install Sovrium, then start the app from its config.

>_ terminal
curl -fsSL https://sovrium.com/install | sh
MCP_ENABLED=true sovrium start app.yaml

Build your own

Start from a template or an empty file. One config, and Sovrium runs the whole app.

Built with Sovrium