O Apache Doris MCP (Model Context Protocol) Server é um serviço de backend construído em Python e FastAPI, projetado para integrar-se perfeitamente com o banco de dados Apache Doris através do protocolo de contexto de modelo (MCP). Ele fornece interfaces padronizadas para agentes de IA e clientes, suportando funcionalidades como Natural Language to SQL (NL2SQL), execução de consultas SQL, gerenciamento de metadados e análise de dados. Este projeto é uma extensão importante da comunidade Apache Doris, especialmente adequado para cenários de negócios que exigem interação de dados eficiente e análise inteligente.
Desde o lançamento da versão 0.3.0 em 2025, o projeto passou por uma grande atualização de arquitetura, migrando da comunicação baseada em SSE (Server-Sent Events) para um protocolo HTTP Streamable unificado, e adicionou um framework de segurança de nível empresarial e funcionalidades de otimização de desempenho. O objetivo principal do projeto é conectar sistemas de IA com o banco de dados Apache Doris através do protocolo MCP, permitindo a exploração e análise de dados inteligentes.
O Apache Doris MCP Server oferece as seguintes funcionalidades principais:
Natural Language to SQL (NL2SQL)
Execução de Consultas SQL
exec_query
, com opções para personalizar a seleção do banco de dados, limite de linhas e configurações de timeout.Gerenciamento de Metadados
get_all_databases
, get_database_tables
).get_table_schema
, get_table_comment
, get_column_comments
, get_table_indexes
).get_catalog_list
).Consulta de Logs de Auditoria
get_recent_audit_logs
, com suporte para intervalos de tempo e limites de registro personalizados.Framework de Segurança de Nível Empresarial
Otimização de Desempenho
performance_stats
).Múltiplos Modos de Comunicação
/mcp
unificado (src/streamable_server.py
)./sse
e /mcp/messages
(src/sse_server.py
).src/stdio_server.py
).Funcionalidades Experimentais
column_analysis
), fornecendo insights de dados.A arquitetura do projeto é modular e eficiente, incluindo os seguintes componentes principais:
/mcp
unificado, simplificando a integração.doris_mcp_server/utils/db.py
: Fornece conexão com o banco de dados (get_db_connection
) e funcionalidades de execução de consultas (execute_query
, execute_query_df
).doris_mcp_server/utils/schema_extractor.py
: A classe MetadataExtractor
é responsável pela extração de metadados, incluindo mecanismos de cache.doris_mcp_server/utils/sql_executor_tools.py
: A função execute_sql_query
encapsula a lógica de consulta, incluindo verificações de segurança e serialização de resultados.DB_HOST
, DB_PORT
, DB_USER
, DB_PASSWORD
).Mudanças na Arquitetura: A versão 0.3.0 removeu cerca de 300 linhas de código legado do SSE, migrando para HTTP Streamable, unificou a nomenclatura das ferramentas (removendo o prefixo
mcp_doris_
), e aumentou o nível de modularização.
uv
ou pip
)Clonar o Repositório:
git clone https://github.com/apache/doris-mcp-server.git
cd doris-mcp-server
Instalar Dependências:
Use uv
(recomendado) ou pip
para instalar:
uv sync
Ou
pip install -r requirements.txt
Configurar Variáveis de Ambiente:
Crie um arquivo .env
ou defina as variáveis de ambiente diretamente:
export DORIS_HOST=<doris-host>
export DORIS_PORT=<port>
export DORIS_USER=<doris-user>
export DORIS_PASSWORD=<doris-pwd>
export SERVER_PORT=3000
Iniciar o Servidor:
uv run --with mcp-doris --python 3.13 mcp-doris
Ou
python -m mcp_doris.mcp_server
Verificar a Inicialização:
Após a inicialização bem-sucedida, você pode interagir através de um cliente MCP (como Cursor) ou do navegador MCP integrado (http://localhost:5173
).
Execute o script de teste para verificar a conexão com o banco de dados:
python src/doris-mcp-server/test.py
Saída esperada:
🚀 Doris MCP Server is starting...
[DorisConnector] Connected to 127.0.0.1:9030
✅ Database connection successful.
[DorisConnector] Connection closed.
Análise de Dados em Tempo Real
Exploração de Metadados
Inteligência de Negócios Impulsionada por IA
Gerenciamento de Conformidade e Segurança
Ambientes Multi-Catálogo
column_analysis
) são experimentais e podem conter bugs. O Apache Doris MCP Server é uma ferramenta poderosa e flexível que conecta o banco de dados Apache Doris com as necessidades de análise impulsionadas por IA. Suas características como NL2SQL, gerenciamento de metadados, segurança e otimização de desempenho o tornam um projeto com amplo potencial em análise de dados em tempo real, inteligência de negócios e aplicações de nível empresarial.