Skip to main content
Glama

K-AIR MCP

Es el servidor MCP oficial que se abre para que los agentes solo realicen consultas al datahub. Hay una única puerta de entrada y, en el origen del catálogo, el engine distingue internamente entre Postgres (mart de análisis) y Tibero (recopilación). No recibe cadenas SQL.

Su rol es similar al de T2SQL·query_execute de robo-meta-api, pero el servidor no genera SQL; ensambla el SELECT a partir de los argumentos de la herramienta. No replica el mock del portal POST /mcp como versión canónica.

Historial de actualizaciones: change_log.md

Qué hace este servicio

  • Proporciona al agente herramientas de listado de tablas, detalle de columnas, valores únicos, SELECT limitado y agregación.

  • Tablas permitidas = POST /meta/catalog ∩ tablas y columnas que realmente existen en el origen de ese motor.

  • HTTP usa Streamable HTTP (/mcp) + X-Api-Key. stdio es para IDE en el mismo PC.

  • La IA solo conoce la URL del MCP y la API Key. La contraseña de la BD y la dirección de robo no aparecen en los resultados de las herramientas.

Lo que no hace: SQL libre, DML/DDL, volcado/envío, Tibero de operación, consulta de datos de t2s·argus_catalog, ni dividir el MCP por motor.

Related MCP server: SQLite Read-Only MCP Server

Herramientas

Herramienta

Función

list_tables

Lista de tablas permitidas. schema_name opcional. La respuesta incluye engine

describe_table

Tipo de columna, PK y comentario. Las descripciones en coreano ausentes quedan en blanco

get_distinct_values

DISTINCT de columnas permitidas. Máximo 200

query_table

SELECT ensamblado. columns, filters {column,op,value}, order_by {column,dir}

aggregate_table

count/sum/avg/max/min. El total de filas se obtiene con func=count y sin columna

Límite de filas 200. Solo lectura (default_transaction_read_only), statement_timeout 15 segundos. filters.op: eq, ne, gt, gte, lt, lte, like, in, is_null, is_not_null.

Distinción de motores

El sources[].engine de /meta/catalog es la fuente canónica. El agente no elige el motor.

engine del catálogo

Origen

postgresql / postgres / postgis

Mart de análisis (en local, kair-postgis-16)

tibero / oracle

Tibero de recopilación. En OA a veces se registra como oracle

Si el motor no existe o es un valor desconocido, se excluye de la lista. Aunque una tabla de Tibero tenga el mismo nombre que una tabla real de Postgres, no se mezclan.

En local solo hay Postgres. Si no hay conexión ni JDBC a Tibero, las fuentes Tibero del catálogo no aparecen en la lista. Los JAR de JDBC no se incluyen en la imagen.

Configuración

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

Premisa: red de robo-meta-api y kair-metadata-platform_control-plane. El lado de datos es el kair-postgis-16 local (host 5434). El portal, OASIS y el Tibero de operación están fuera del alcance de este repositorio.

Ejecución

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

Salud: {"status":"ok","server":"kair-mcp-query","transport":"streamable-http","engines":["postgres"]}

CLI en el mismo PC (stdio, por defecto):

python -m app.main

HTTP en contenedor:

python -m app.main --transport http

Registro en MCP

Mismo PC (se recomienda stdio). El contenedor debe estar levantado. No se incluyen URL, clave ni .env.

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

Otro PC (Streamable HTTP). No se incluye la contraseña de la BD.

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

mcp.json es JSON, así que las claves van entre "…". Los valores que recibe el servidor son claves sin comillas.

Ajustes

Copie .env.example a .env, que está excluido de Git. Las contraseñas y API Keys no se guardan en el código ni en documentos rastreados por Git.

Variable

Función

MCP_API_KEYS

X-Api-Key de HTTP. Clave de humo local. No es dh_·tm_po_api_key del portal

MCP_PG_HOST / PORT / DB / USER / PASSWORD

Cuenta SELECT del mart. Host por defecto host.docker.internal, puerto 5434

ROBO_META_URL

POST /meta/catalog. Por defecto http://robo-meta-api:8100

MCP_ROW_LIMIT

Límite de filas. El servidor lo recorta a 200

MCP_TB_*

Tibero de recopilación. Solo si hay conexión

La conexión canónica es SourceDbConn en OA. En local es env/CLI.

Pruebas

python -m pytest tests -q

Problemas y limitaciones conocidos

Elemento

Descripción

Estado

Ejecución Tibero

Hay ramas de dialecto (FETCH FIRST) y de motor. Sin conexión JDBC

Se retoma cuando lleguen SID y JAR de recopilación

Clave y auditoría del portal

tm_po_api_key / th_po_api_call / nivel y solicitud de uso

No implementado. La clave local está pendiente de retirar

SQL libre

execute_read_only_sql de los comentarios de Gemini

No se incluye

Límite de filas 1000

Comentarios de Gemini

No aplicado. Se mantiene 200

Relacionado

  • robo-meta-apiPOST /meta/catalog

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

  • K-AIR-Portal — Futura puerta canónica POST /api/v1/mcp, registro de claves

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