ODBC MCP Server
Permite que ferramentas LLM consultem bancos de dados usando conexões ODBC.
Documentação
ODBC MCP Server
Um servidor MCP (Model Context Protocol) que permite que ferramentas de LLM, como o Claude Desktop, consultem bancos de dados via conexões ODBC. Este servidor permite que o Claude e outros clientes MCP acessem, analisem e gerem insights a partir de dados de banco de dados, mantendo segurança e proteções somente leitura.
Recursos
- Conecte-se a qualquer banco de dados compatível com ODBC
- Suporte a múltiplas conexões de banco de dados
- Configuração flexível por meio de arquivos de configuração ou configurações do Claude Desktop
- Proteções somente leitura para evitar modificação de dados
- Instalação fácil com o gerenciador de pacotes UV
- Relatórios de erros detalhados e registro de logs
Pré-requisitos
- Python 3.10 ou superior
- Gerenciador de pacotes UV
- Drivers ODBC para seu(s) banco(s) de dados instalados no sistema
- Para Sage 100 Advanced: driver ODBC ProvideX
Instalação
git clone https://github.com/tylerstoltz/mcp-odbc.git
cd mcp-odbc
uv venv
.venv\Scripts\activate # On Mac / Linux: source .venv/bin/activate (untested)
uv pip install -e .
Configuração
O servidor pode ser configurado por meio de:
- Um arquivo de configuração dedicado
- Variáveis de ambiente
- Configuração do Claude Desktop
Configuração Geral
Crie um arquivo de configuração (.ini) com os detalhes da conexão do banco de dados:
[SERVER]
default_connection = my_database
max_rows = 1000
timeout = 30
[my_database]
dsn = MyDatabaseDSN
username = your_username
password = your_password
readonly = true
Configuração do SQLite
Para bancos de dados SQLite com ODBC:
[SERVER]
default_connection = sqlite_db
max_rows = 1000
timeout = 30
[sqlite_db]
dsn = SQLite_DSN_Name
readonly = true
Configuração do Sage 100 ProvideX
O ProvideX requer configuração especial para compatibilidade. Use esta configuração mínima para obter melhores resultados:
[SERVER]
default_connection = sage100
max_rows = 1000
timeout = 60
[sage100]
dsn = YOUR_PROVIDEX_DSN
username = your_username
password = your_password
company = YOUR_COMPANY_CODE
readonly = true
Notas importantes para o ProvideX:
- Use uma configuração mínima - adicionar parâmetros extras pode causar problemas de conexão
- Sempre defina
readonly = truepor segurança - O parâmetro
companyé obrigatório para conexões Sage 100 - Evite alterar atributos de conexão após a conexão ser estabelecida
Integração com Claude Desktop
Para configurar o servidor no Claude Desktop:
-
Abra ou crie
claude_desktop_config.json:- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
-
Adicione a configuração do servidor MCP:
{
"mcpServers": {
"odbc": {
"command": "uv",
"args": [
"--directory",
"C:\\path\\to\\mcp-odbc",
"run",
"odbc-mcp-server",
"--config",
"C:\\path\\to\\mcp-odbc\\config\\your_config.ini"
]
}
}
}
Uso
Iniciando o servidor manualmente
# Start with default configuration
odbc-mcp-server
# Start with a specific config file
odbc-mcp-server --config path/to/config.ini
Usando com Claude Desktop
- Configure o servidor no arquivo de configuração do Claude Desktop, conforme mostrado acima
- Reinicie o Claude Desktop
- As ferramentas ODBC aparecerão automaticamente na lista de ferramentas MCP
Ferramentas MCP disponíveis
O servidor ODBC MCP fornece estas ferramentas:
- list-connections: Lista todas as conexões de banco de dados configuradas
- list-available-dsns: Lista todos os DSNs disponíveis no sistema
- test-connection: Testa uma conexão de banco de dados e retorna informações
- list-tables: Lista todas as tabelas no banco de dados
- get-table-schema: Obtém informações de esquema para uma tabela
- execute-query: Executa uma consulta SQL e retorna resultados
Exemplos de Consultas
Experimente estes prompts no Claude Desktop após conectar o servidor:
- "Mostre-me todas as tabelas no banco de dados"
- "Qual é o esquema da tabela Customer?"
- "Execute uma consulta para obter os 10 primeiros clientes"
- "Encontre todos os pedidos feitos nos últimos 30 dias"
- "Analise os dados de vendas por região e forneça insights"
Solução de Problemas
Problemas de Conexão
Se você encontrar problemas de conexão:
- Verifique se os drivers ODBC estão instalados corretamente
- Teste seu DSN usando o Administrador de Fonte de Dados ODBC
- Verifique os parâmetros de conexão no seu arquivo de configuração
- Procure mensagens de erro detalhadas nos logs do Claude Desktop
Problemas Específicos do ProvideX
Para Sage 100/ProvideX:
- Use configuração de conexão mínima (DSN, nome de usuário, senha, empresa)
- Certifique-se de que o parâmetro Company está correto
- Use o modelo de configuração especial do ProvideX
- Se você encontrar erros de
Driver not capable, verifique se o autocommit está sendo definido no momento da conexão
Tabelas Ausentes
Se as tabelas não estão aparecendo:
- Verifique as permissões do usuário para a conta do banco de dados
- Verifique se o código da empresa está correto (para Sage 100)
- Tente usar nomes de tabela totalmente qualificados (schema.table)
Licença
Licença MIT - Copyright (c) 2024