Este projeto implementa um servidor MCP (Model Context Protocol) em Python para expor operações de banco de dados relacionais (SQL Server, MySQL, PostgreSQL) como ferramentas MCP, permitindo que aplicações LLM e agentes consultem e manipulem dados de forma segura e eficiente.
- Expõe operações de banco de dados como ferramentas MCP (tools) para uso por LLMs, agentes e automações.
- Permite executar queries, inserir registros, listar tabelas e expor o schema de bancos SQL Server, MySQL e PostgreSQL.
- Utiliza variáveis de ambiente para configuração segura de credenciais.
- Suporta integração com o VS Code e Claude via arquivo
mcp.json
.
- execute_query: Executa uma query SQL no banco de dados especificado.
- insert_record: Insere um registro em uma tabela do banco de dados especificado.
- list_tables: Lista todas as tabelas do banco de dados especificado.
- expose_schema: Expõe o schema do banco de dados especificado.
- Crie e ative o ambiente virtual:
python3 -m venv .mcpenv
source .mcpenv/bin/activate
- Instale as dependências:
pip install -r requirements.txt
pip install .
No diretório do projeto, crie um arquivo .vscode
/mcp.json
com o seguinte conteúdo:
{
"servers": {
"mcp-databases": {
"type": "stdio",
"command": ".mcpenv/bin/python",
"args": ["server.py"]
}
}
}
- O comando
mcp-databases
estará disponível no terminal enquanto o ambiente estiver ativado.
- Instale o pipx (se necessário):
sudo apt update
sudo apt install pipx
pipx ensurepath
- Instale o MCP globalmente:
pipx install /caminho/para/seu/projeto
pipx inject mcp-databases python-dotenv
- O comando
mcp-databases
ficará disponível em qualquer terminal do sistema.
No diretório do projeto, crie um arquivo .vscode
/mcp.json
com o seguinte conteúdo:
{
"servers": {
"mcp-databases": {
"transport": "stdio",
"command": "/home/%USER%/.local/bin/mcp-databases",
"tools": [
"list_tables",
"execute_query",
"insert_record",
"expose_schema",
"safe_query_prompt"
]
}
}
}
Se atualizar o código, reinstale com:
pipx reinstall mcp-databases
- Python 3.10+
- MCP Python SDK >=1.2.0
- pyodbc (SQL Server)
- pymysql (MySQL)
- psycopg2-binary (PostgreSQL)
- Drivers ODBC:
- SQL Server:
msodbcsql18
(Linux:sudo apt-get install msodbcsql18
) - MySQL:
libmysqlclient-dev
(Linux:sudo apt-get install libmysqlclient-dev
) - PostgreSQL:
libpq-dev
(Linux:sudo apt-get install libpq-dev
)
- SQL Server:
- python-dotenv (opcional, para carregar variáveis de ambiente de um arquivo
.env
)
Instale as dependências Python com:
pip install -r requirements.txt
- Em caso que de erro de modulo nao encontrado ao executar globalmente.
Instale as dependências Python com
pipx inject {comando} {dependeencia}
:
pipx inject mcp-databases mysql-connector-python
Defina as variáveis de ambiente para o banco desejado. Exemplo para PostgreSQL:
DB_TYPE=postgres
POSTGRES_HOST=127.0.0.1
POSTGRES_PORT=5432
POSTGRES_USER=admin
POSTGRES_PASSWORD=wlg48cd8
POSTGRES_DB=loan_pgsql
Global (pipx):
mcp-databases
Para dúvidas ou contribuições, consulte a documentação oficial do Model Context Protocol ou abra uma issue neste repositório.