Apache Doris MCP (Model Context Protocol) Server es un servicio backend construido con Python y FastAPI, diseñado para integrarse sin problemas con la base de datos Apache Doris a través del protocolo de contexto de modelo (MCP). Proporciona una interfaz estandarizada para agentes de IA y clientes, admitiendo funciones como la conversión de lenguaje natural a SQL (NL2SQL), la ejecución de consultas SQL, la gestión de metadatos y el análisis de datos. Este proyecto es una extensión importante de la comunidad Apache Doris, especialmente adecuado para escenarios empresariales que requieren una interacción de datos eficiente y un análisis inteligente.
Desde el lanzamiento de la versión 0.3.0 en 2025, el proyecto ha experimentado importantes actualizaciones de arquitectura, migrando de la comunicación basada en SSE (Server-Sent Events) a un protocolo HTTP Streamable unificado, y agregando un marco de seguridad de nivel empresarial y funciones de optimización del rendimiento. El objetivo principal del proyecto es conectar sistemas de IA con la base de datos Apache Doris a través del protocolo MCP, permitiendo la exploración y el análisis de datos inteligentes.
Apache Doris MCP Server ofrece las siguientes funciones principales:
Conversión de Lenguaje Natural a SQL (NL2SQL)
Ejecución de Consultas SQL
exec_query
, con opciones personalizables para la selección de la base de datos, el límite de filas y la configuración de tiempo de espera.Gestión de Metadatos
get_all_databases
, get_database_tables
).get_table_schema
, get_table_comment
, get_column_comments
, get_table_indexes
).get_catalog_list
).Consulta de Registros de Auditoría
get_recent_audit_logs
, admitiendo rangos de tiempo personalizados y límites de registro.Marco de Seguridad de Nivel Empresarial
Optimización del Rendimiento
performance_stats
).Múltiples Modos de Comunicación
/mcp
unificado (src/streamable_server.py
)./sse
y /mcp/messages
(src/sse_server.py
).src/stdio_server.py
).Funciones Experimentales
column_analysis
), que proporciona información sobre los datos.El diseño de la arquitectura del proyecto es modular y eficiente, e incluye los siguientes componentes principales:
/mcp
unificado, simplificando la integración.doris_mcp_server/utils/db.py
: Proporciona funciones de conexión a la base de datos (get_db_connection
) y ejecución de consultas (execute_query
, execute_query_df
).doris_mcp_server/utils/schema_extractor.py
: La clase MetadataExtractor
es responsable de la extracción de metadatos, incluyendo mecanismos de caché.doris_mcp_server/utils/sql_executor_tools.py
: La función execute_sql_query
encapsula la lógica de la consulta, incluyendo comprobaciones de seguridad y serialización de resultados.DB_HOST
, DB_PORT
, DB_USER
, DB_PASSWORD
).Cambios en la Arquitectura: La versión 0.3.0 eliminó aproximadamente 300 líneas de código heredado de SSE, migrando a HTTP Streamable, unificando los nombres de las herramientas (eliminando el prefijo
mcp_doris_
), y mejorando el grado de modularización.
uv
o pip
)Clonar el Repositorio:
git clone https://github.com/apache/doris-mcp-server.git
cd doris-mcp-server
Instalar Dependencias:
Utilice uv
(recomendado) o pip
para instalar:
uv sync
O
pip install -r requirements.txt
Configurar Variables de Entorno:
Cree un archivo .env
o establezca las variables de entorno directamente:
export DORIS_HOST=<doris-host>
export DORIS_PORT=<port>
export DORIS_USER=<doris-user>
export DORIS_PASSWORD=<doris-pwd>
export SERVER_PORT=3000
Iniciar el Servidor:
uv run --with mcp-doris --python 3.13 mcp-doris
O
python -m mcp_doris.mcp_server
Verificar el Inicio:
Después de un inicio exitoso, puede interactuar a través de un cliente MCP (como Cursor) o un navegador MCP incorporado (http://localhost:5173
).
Ejecute un script de prueba para verificar la conexión a la base de datos:
python src/doris-mcp-server/test.py
Salida esperada:
🚀 Doris MCP Server is starting...
[DorisConnector] Connected to 127.0.0.1:9030
✅ Database connection successful.
[DorisConnector] Connection closed.
Análisis de Datos en Tiempo Real
Exploración de Metadatos
Inteligencia Empresarial Impulsada por IA
Gestión de la Seguridad y el Cumplimiento
Entornos de Múltiples Catálogos
column_analysis
) son experimentales y pueden contener errores. Apache Doris MCP Server es una herramienta potente y flexible que conecta la base de datos Apache Doris con las necesidades de análisis impulsadas por la IA. Sus características de NL2SQL, gestión de metadatos, seguridad y optimización del rendimiento le dan un amplio potencial en el análisis de datos en tiempo real, la inteligencia empresarial y las aplicaciones de nivel empresarial.