Microsoft Access Database
Permite que a IA interaja com bancos de dados do Microsoft Access, suportando importação e exportação de dados via arquivos CSV.
Documentação
Servidor MCP de Bancos de Dados (Access e SQLite 3)
Um servidor MCP simples para permitir que IA interaja com bancos de dados Microsoft Access e SQLite 3. Suporta importação/exportação com arquivos CSV e Excel, e armazena notas legíveis por humanos sobre arquivos.
AVISO: Este servidor tem acesso total aos bancos de dados, portanto pode ler e modificar qualquer dado neles. Use com cautela para evitar perda de dados!
Configuração
Para usar este servidor MCP com Claude Desktop (ou qualquer outro host MCP), clone o repositório e adicione o seguinte ao seu config.json:
{
"mcpServers": {
"access-mdb": {
"command": "uv",
"args": [
"run",
"--with", "fastmcp",
"--with", "pandas",
"--with", "sqlalchemy-access",
"--with", "openpyxl",
"fastmcp", "run",
"path/to/repo/server.py"
],
}
}
}
Nota de desenvolvimento: para usar com uvx, precisamos criar um pacote e publicá-lo no PyPI.
Ferramentas Disponíveis
Gerenciamento de banco de dados:
list: Lista todos os bancos de dados ativos disponíveis no servidor.create: Cria um novo arquivo de banco de dados (para Microsoft Access, copia o modelo empty.mdb).connect: Conecta a um arquivo de banco de dados existente, ou cria um banco de dados em memória se o arquivo não for especificado.disconnect: Fecha uma conexão de banco de dados. Para bancos de dados em memória, isso limpará todos os seus dados.
Nota: use a ferramenta connect com readOnly=true para abrir um banco de dados em modo somente leitura.
Para bancos de dados SQLite em memória, o modo somente leitura não é suportado.
Gerenciamento de dados:
query: Executa uma consulta SQL para recuperar dados de um banco de dados.update: Executa uma consulta SQL para inserir/atualizar/excluir dados em um banco de dados.import_csv: Importa dados de um arquivo CSV para uma tabela de banco de dados.export_csv: Exporta dados de uma tabela de banco de dados para um arquivo CSV.import_excel: Importa dados de um arquivo Excel para uma tabela de banco de dados.
Gerenciamento de notas:
read_notes: Lê notas do arquivo especificado, ou descobre notas no diretório especificado.write_notes: Escreve notas no arquivo especificado, ou vinculadas ao banco de dados especificado.
Nota: A exportação para Excel não está implementada, use haris-musa/excel-mcp-server em vez disso. O principal problema é rastrear o índice das linhas e colunas no arquivo Excel, para importar/exportar dados corretamente para as mesmas células, e/ou inserir novas linhas/colunas. Além disso, células mescladas complicam o processo, seria complexo demais para implementar.
Tipos de Banco de Dados Suportados
Por padrão, a detecção do driver do banco de dados é baseada na extensão do arquivo:
- Microsoft Access:
.mdbe.accdb - SQLite 3:
.db,.sqlitee.sqlite3
Se o caminho do banco de dados não for especificado (string vazia), um banco de dados SQLite em memória será criado.
Para permitir que o servidor abra ou crie um arquivo de banco de dados sem depender da extensão (por exemplo, se o seu arquivo de banco de dados tiver uma extensão não padrão), você pode especificar o driver explicitamente usando o parâmetro driver na ferramenta connect ou create.
driver="access"para Microsoft Accessdriver="sqlite"para SQLite 3driver="auto"(padrão) detecta automaticamente o driver com base na extensão do arquivo
Estrutura do Projeto
Arquivos principais:
server.py: Implementação do servidor MCP.
Testes:
test_tools.py: Funções para testar ferramentas MCP individuais.test_mcp.py: Testa todas as ferramentas MCP em um fluxo de trabalho típico.
Documentação:
Scripts de exploração, usados nos primeiros estágios para desenvolver funcionalidades básicas:
scouting_mdb.py: SQLAlchemy e pandas para interagir com bancos de dados Microsoft Access.scouting_csv.py: SQLAlchemy e pandas para interagir com arquivos CSV.
TODO
- Adicionar ferramenta para criar um novo banco de dados, copiando empty.mdb para o caminho especificado.
- Adicionar a capacidade de conectar a múltiplos bancos de dados ao mesmo tempo.
- Adicionar ferramenta para listar todas as tabelas no banco de dados.
- Adicionar ferramentas para importar/exportar dados de/para arquivos CSV.
- Adicionar ferramentas para importar dados de/para arquivos Excel.
- Adicionar prompt para guiar a IA na solicitação de informações ao usuário sobre o banco de dados.
- Armazenar informações sobre arquivos (arquivos .AInotes), para recuperá-las posteriormente.
- Adicionar parâmetro de driver para gerenciar bancos de dados sem depender da extensão do arquivo.
- Adicionar ferramenta para lembrar arquivos CSV e Excel importados/exportados.