Skip to main content
Glama

K-AIR MCP

Это официальный MCP-сервер, открытый для того, чтобы агент выполнял только чтение из DataHub. Окно одно, а внутри сервер сам различает Postgres (аналитический март) и Tibero (сбор) как источник каталога engine. SQL-строки не принимаются.

По роли он похож на T2SQL·query_execute из robo-meta-api, но сервер не строит SQL — SELECT собирается из аргументов инструмента. Мокап портала POST /mcp как эталон не копируется.

История обновлений: change_log.md

Что делает этот сервис

  • Предоставляет агенту инструменты: список таблиц, детали колонок, уникальные значения, ограниченный SELECT, агрегаты.

  • Разрешённые таблицы = POST /meta/catalog ∩ таблицы·колонки, реально существующие в исходной системе соответствующего движка.

  • HTTP — Streamable HTTP (/mcp) + X-Api-Key. stdio — для IDE на том же ПК.

  • ИИ знает только URL MCP и API-ключ. Паролей БД и адреса robo в результатах инструментов нет.

Чего сервис не делает: свободный SQL, DML/DDL, дамп/отправка, операционный Tibero, чтение данных t2s·argus_catalog, разделение MCP по движкам.

Related MCP server: SQLite Read-Only MCP Server

Инструменты

Инструмент

Роль

list_tables

Список разрешённых таблиц. Необязательный schema_name. В ответе engine

describe_table

Типы колонок·PK·комментарии. Отсутствующие корейские описания — пустые ячейки

get_distinct_values

DISTINCT по разрешённой колонке. Максимум 200

query_table

Собранный SELECT. columns, filters {column,op,value}, order_by {column,dir}

aggregate_table

count/sum/avg/max/min. Общее число строк — func=count без column

Верхний предел строк 200. Только чтение (default_transaction_read_only), statement_timeout 15 секунд. filters.op: eq, ne, gt, gte, lt, lte, like, in, is_null, is_not_null.

Разделение движков

engine из sources[].engine в /meta/catalog — эталон. Агент движок не выбирает.

engine каталога

Источник

postgresql / postgres / postgis

Аналитический март (локально — kair-postgis-16)

tibero / oracle

Сбор Tibero. В OA иногда записывается как oracle

Если движок отсутствует или значение неизвестно — исключается из списка. Таблицы Tibero не смешиваются с реально существующими таблицами Postgres, даже если имена совпадают.

Локально есть только Postgres. Если нет подключения к Tibero или JDBC — источники Tibero из каталога в списке не появляются. JDBC JAR в образ не включается.

Конфигурация

app/                 FastMCP 서버 (stdio / Streamable HTTP)
tests/               단위·계약 테스트
docker-compose.yml   네트워크용 http :8110
mcp.cursor.example.json       같은 PC stdio
mcp.cursor.http.example.json  다른 PC HTTP

Предпосылки: сеть robo-meta-api и kair-metadata-platform_control-plane. Слой данных — локальный kair-postgis-16 (хост 5434). Портал·OASIS·операционный Tibero вне рамок этого репозитория.

Запуск

copy .env.example .env
# MCP_API_KEYS · MCP_PG_* 실제 값만 채움. 따옴표 넣지 않음
docker compose up -d --build
curl.exe -fsS http://127.0.0.1:8110/health

Здоровье: {"status":"ok","server":"kair-mcp-query","transport":"streamable-http","engines":["postgres"]}

CLI на том же ПК (stdio, по умолчанию):

python -m app.main

Контейнер HTTP:

python -m app.main --transport http

Регистрация MCP

Тот же ПК (рекомендуется stdio). Контейнер должен быть запущен. URL·ключ·.env не вставляются.

{
  "mcpServers": {
    "kair-query": {
      "command": "docker",
      "args": ["exec", "-i", "kair-mcp-query", "python", "-m", "app.main", "--transport", "stdio"]
    }
  }
}

Другой ПК (Streamable HTTP). Пароль БД не вставляется.

{
  "mcpServers": {
    "kair-query": {
      "url": "http://<MCP띄운PC의IP>:8110/mcp",
      "headers": {
        "X-Api-Key": "<MCP_API_KEYS 값만>"
      }
    }
  }
}

mcp.json — это JSON, поэтому ключи оборачиваются в "…". Значения, которые получает сервер, — ключи без кавычек.

Настройки

Скопируйте .env.example в .env, исключённый из Git. Пароли и API-ключи не хранятся в коде и в документах, отслеживаемых Git.

Переменная

Роль

MCP_API_KEYS

HTTP X-Api-Key. Локальный смоук-ключ. Не dh_·tm_po_api_key портала

MCP_PG_HOST / PORT / DB / USER / PASSWORD

Учётная запись SELECT для марта. Хост по умолчанию host.docker.internal, порт 5434

ROBO_META_URL

POST /meta/catalog. По умолчанию http://robo-meta-api:8100

MCP_ROW_LIMIT

Верхний предел строк. Сервер обрезает до 200

MCP_TB_*

Сбор Tibero. Только при наличии подключения

Эталон подключения — SourceDbConn в OA. Локально — env/CLI.

Тесты

python -m pytest tests -q

Известные проблемы и ограничения

Пункт

Описание

Статус

Запуск Tibero

Ветки диалекта (FETCH FIRST) и движка есть. Подключения JDBC нет

Дополню, когда появятся SID·JAR сбора

Ключ портала·аудит

tm_po_api_key / th_po_api_call / уровень·заявка на использование

Не реализовано. Локальный ключ подлежит удалению

Свободный SQL

execute_read_only_sql из фидбека Gemini

Не добавляется

Верхний предел строк 1000

Фидбек Gemini

Не применяется. Остаётся 200

Связанное

  • robo-meta-apiPOST /meta/catalog

  • K-AIR-metadata-platform — Serving t2s_*

  • K-AIR-Portal — далее эталонное окно POST /api/v1/mcp, реестр ключей

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Allows AI assistants to list tables, read data, and execute SQL queries through a controlled interface, making database exploration and analysis safer and more structured.
    3
    1,355
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables read-only SQL database access for AI assistants, allowing schema exploration and safe query execution without risk of data modification.
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to query SQL databases safely with read-only access, allowing schema discovery and SELECT queries while blocking writes and DDL operations.

View all related MCP servers

Related MCP Connectors

  • Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.

  • The grounded data layer for any LLM: governed SQL, metrics, lineage and catalog over your data.

  • Read-only China A-share data for AI agents: market, limit-up, capital flow and disclosures.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/LeeSeungWoo-stlogic/K-AIR-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server