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.
python3 -m venv .mcpenv
source .mcpenv/bin/activate
- 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
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
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"]
}
}
}
No .vscode
/settings.json
do VS Code, adicione:
Adicione os modelos LLMs que voce tem disponivel.
{
"chat.mcp.serverSampling": {
"mcp-mssql/.vscode/mcp.json: mcp-mssql": {
"allowedModels": [
"copilot/gpt-4.1",
"copilot/gemini-2.0-flash-001",
"copilot/gemini-2.5-pro",
"copilot/gpt-5"
]
}
}
}
python3 server.py
Para dúvidas ou contribuições, consulte a documentação oficial do Model Context Protocol ou abra uma issue neste repositório.