
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.
aiAccessThe configuration
This is the whole app. Copy it, change it, make it yours.
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.yamlRun it
Install Sovrium, then start the app from its config.
curl -fsSL https://sovrium.com/install | sh
MCP_ENABLED=true sovrium start app.yamlBuild your own
Start from a template or an empty file. One config, and Sovrium runs the whole app.