- Home
- MCP servers
- OrionBelt Semantic Layer
OrionBelt Semantic Layer
- python
0
GitHub Stars
python
Language
4 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"ralfbecher-orionbelt-semantic-layer": {
"command": "uv",
"args": [
"run",
"orionbelt-mcp"
],
"env": {
"LOG_LEVEL": "INFO",
"MCP_TRANSPORT": "stdio",
"API_SERVER_HOST": "localhost",
"API_SERVER_PORT": "8000",
"MCP_SERVER_HOST": "localhost",
"MCP_SERVER_PORT": "9000",
"SESSION_TTL_SECONDS": "1800",
"SESSION_CLEANUP_INTERVAL": "60"
}
}
}
}OrionBelt Semantic Layer is an API-first MCP server that converts declarative YAML semantic models into optimized SQL across multiple dialects. It exposes model loading, validation, query compilation, and diagram generation through a REST API and an MCP interface, enabling you to integrate it into applications, workflows, or AI assistants for scalable, dialect-aware analytical querying.
How to use
You use OrionBelt via an MCP client to run sessions, load models, validate them, and compile queries into dialect-specific SQL. Start with a local MCP server in stdio mode to connect Claude Desktop, Cursor, or other MCP clients, then load your semantic models, validate them, and generate SQL for your target data warehouse.
How to install
Prerequisites You need Python 3.12 or newer and a package manager for the MCP runtime. You will also use uv to run the MCP server.
# Clone the project
git clone https://github.com/ralfbecher/orionbelt-semantic-layer.git
cd orionbelt-semantic-layer
# Install runtime dependencies (Python)
uv sync
# Start the MCP server in stdio mode
uv run orionbelt-mcp
# Optional: run with HTTP transport for multi-client usage
# MCP_TRANSPORT=http uv run orionbelt-mcp
Additional sections
Configuration is driven by environment variables or a .env file. Key options include logging level, REST API binding, MCP transport mode, and session timeouts. The following variables appear in the configuration section and can be adjusted to fit your environment.
LOG_LEVEL=INFO
API_SERVER_HOST=localhost
API_SERVER_PORT=8000
MCP_TRANSPORT=stdio
MCP_SERVER_HOST=localhost
MCP_SERVER_PORT=9000
SESSION_TTL_SECONDS=1800
SESSION_CLEANUP_INTERVAL=60
MCP server commands and paths are demonstrated in the Quick Start examples. In stdio mode, start the MCP server with the runtime command shown below. You can switch to HTTP transport by setting MCP_TRANSPORT to http and re-launching with the same runtime command.
Available tools
create_session
Create a new MCP session to house models and queries for subsequent operations.
close_session
Terminate a session and release associated resources.
list_sessions
List all active MCP sessions.
load_model
Load a YAML semantic model into a session for validation and compilation.
validate_model
Validate the loaded model against the defined schema and constraints.
describe_model
Provide metadata about a loaded model, including objects, joins, and measures.
compile_query
Compile a business-friendly query into dialect-specific SQL for a given model.
list_models
List all models loaded within a session.
list_dialects
Return the supported SQL dialects for code generation.
write_obml_model
Write or edit the YAML semantic model directly through prompts.
write_query
Write or edit the analytical query directly through prompts.
debug_validation
Debug validation results to identify schema or semantic issues.