# orionbelt-semantic-layer

MCP-сервер, который компилирует YAML-модели в SQL для BigQuery, Snowflake, DuckDB и ещё пяти диалектов. Агент описывает метрики и измерения один раз, потом задаёт вопросы на человеческом языке.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed · ★ 101
- Автор: ralforion
- Лицензия: не указана · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/ralforion/orionbelt-semantic-layer
- Обновлён: 2026-10-24
- HTML: https://affpapa.org/nevibecode/mcp/orionbelt-semantic-layer

## Что делает

Вы описываете измерения, меры и метрики в YAML — OrionBelt переводит их в диалект-специфичный SQL через AST. Поддерживает BigQuery, ClickHouse, Databricks, Dremio, DuckDB, MotherDuck, MySQL, PostgreSQL и Snowflake. Агент может отправить одноразовую модель и несколько запросов одним вызовом `/v1/oneshot/batch`: сервер проверит YAML, выполнит запросы и вернёт результаты с объяснениями и предупреждениями.

Сервер работает через PostgreSQL wire, Arrow Flight SQL, REST и MCP. Фиксированное зерно (`grain: {mode: FIXED}`) позволяет задать уровень агрегации для меры независимо от запроса — это становится `OVER (PARTITION BY ...)` в итоговом SQL.

Требует Python 3.12 или новее и `uvx` для установки. Лицензия BUSL-1.1.

## Требования
- Нужно: Python и uv (команды через uvx)
- Работает с: Snowflake

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add orionbelt-semantic-layer -- uvx orionbelt-semantic-layer
```
uvx запускает команду с именем пакета; если в README она другая — uvx --from orionbelt-semantic-layer <команда>

### Codex

**Командой платформы**
```bash
codex mcp add orionbelt-semantic-layer -- uvx orionbelt-semantic-layer
```
uvx запускает команду с именем пакета; если в README она другая — uvx --from orionbelt-semantic-layer <команда>

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "orionbelt-semantic-layer": {
            "command": "uvx",
            "args": [
                "orionbelt-semantic-layer"
            ]
        }
    }
}
```
uvx запускает команду с именем пакета; если в README она другая — uvx --from orionbelt-semantic-layer <команда>

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "orionbelt-semantic-layer": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "orionbelt-semantic-layer"
            ]
        }
    }
}
```
uvx запускает команду с именем пакета; если в README она другая — uvx --from orionbelt-semantic-layer <команда>

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add orionbelt-semantic-layer uvx orionbelt-semantic-layer
```
uvx запускает команду с именем пакета; если в README она другая — uvx --from orionbelt-semantic-layer <команда>

## Когда брать
- Компилировать YAML-модель в SQL для девяти диалектов
- Задать фиксированное зерно агрегации для метрики
- Отправить несколько запросов с временной моделью одним вызовом
- Подключить BI-инструмент через PostgreSQL wire или Arrow Flight SQL

## Примеры запросов агенту
- Скомпилируй YAML-модель `tpcds.obml.yml` и запрос `Q98.yml` в DuckDB SQL
- Выполни запрос: выручка по странам и средний чек за февраль
- Загрузи модель `sales_model.obml.yml` и выведи список всех мер

## Похожие
- [World Monitor](https://affpapa.org/nevibecode/mcp/world-monitor.md) — MCP-сервер · ★ 89408
- [Scrapling MCP Server](https://affpapa.org/nevibecode/mcp/scrapling-mcp-server.md) — MCP-сервер · ★ 89433
- [MCP Toolbox for Databases](https://affpapa.org/nevibecode/mcp/googleapis-mcp-toolbox-for-databases.md) — MCP-сервер · ★ 16717
- [PostHog MCP Server](https://affpapa.org/nevibecode/mcp/posthog-mcp-server.md) — MCP-сервер · ★ 40409
- [dbx](https://affpapa.org/nevibecode/mcp/dbx.md) — MCP-сервер · ★ 27669
- [Metabase](https://affpapa.org/nevibecode/mcp/metabase.md) — MCP-сервер · ★ 49845

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
