MCP (Model Context Protocol) para PostgreSQL com liberdade total.
1.1K
Um servidor MCP (Model Context Protocol) para PostgreSQL com liberdade total - permite executar qualquer comando SQL, incluindo CREATE DATABASE, DROP DATABASE, e outras operações que normalmente requerem autocommit.
Uso exclusivo para desenvolvimento/lab. Autocommit liberado e comandos destrutivos sem proteção tornam esta imagem inadequada e desencorajada para produção.
| Ferramenta | Descrição |
|---|---|
execute_sql | Executa qualquer comando SQL |
| Ferramenta | Descrição |
|---|---|
list_databases | Lista todos os databases |
create_database | Cria um novo database |
drop_database | Remove um database |
| Ferramenta | Descrição |
|---|---|
list_tables | Lista tabelas de um schema |
describe_table | Descreve estrutura de uma tabela |
| Ferramenta | Descrição |
|---|---|
list_roles | Lista todos os roles |
create_role | Cria um novo role/usuário |
drop_role | Remove um role |
alter_role_password | Altera senha de um role |
| Ferramenta | Descrição |
|---|---|
grant_privilege | Concede privilégio |
revoke_privilege | Revoga privilégio |
get_table_permissions | Lista permissões de uma tabela |
| Ferramenta | Descrição |
|---|---|
list_connections | Lista conexões ativas |
terminate_connection | Encerra uma conexão |
list_locks | Lista locks ativos |
get_database_stats | Estatísticas do banco |
get_slow_queries | Lista queries lentas |
| Ferramenta | Descrição |
|---|---|
list_schemas | Lista todos os schemas |
create_schema | Cria um novo schema |
drop_schema | Remove um schema |
| Ferramenta | Descrição |
|---|---|
list_indexes | Lista índices |
create_index | Cria um índice |
drop_index | Remove um índice |
analyze_table | Atualiza estatísticas |
vacuum_table | Executa VACUUM |
get_table_stats | Estatísticas de uma tabela |
| Ferramenta | Descrição |
|---|---|
export_query_to_csv | Exporta query para CSV |
import_csv_to_table | Importa CSV para tabela |
docker pull seuusuario/postgres-mcp-free:latest
git clone https://github.com/seuusuario/postgres-mcp-free.git
cd postgres-mcp-free
docker build -t postgres-mcp-free .
Adicione ao seu claude_desktop_config.json:
{
"mcpServers": {
"postgres-free": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "DATABASE_URI",
"seuusuario/postgres-mcp-free:latest"
],
"env": {
"DATABASE_URI": "postgresql://usuario:[email protected]:5432/banco"
}
}
}
}
Crie um arquivo .mcp.json no seu projeto:
{
"mcpServers": {
"postgres-free": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "DATABASE_URI",
"seuusuario/postgres-mcp-free:latest"
],
"env": {
"DATABASE_URI": "postgresql://usuario:[email protected]:5432/banco"
}
}
}
}
docker-compose up -d
Isso irá subir um PostgreSQL e o MCP Server conectado.
| Variável | Descrição | Padrão |
|---|---|---|
DATABASE_URI | String de conexão PostgreSQL | postgresql://postgres:[email protected]:5432/postgres |
postgresql://usuario:senha@host:porta/banco
Importante para Docker:
host.docker.internal para acessar o host172.17.0.1 ou o IP do hostpostgresql://postgres:[email protected]:5432/postgrespostgresql://postgres:[email protected]:5432/postgres (ou o IP do host)DATABASE_URI.postgres na rede mcp-network.IA: Crie um database chamado "meu_app"
IA: Crie um usuário "app_user" com senha "123456" e dê permissão de SELECT e INSERT na tabela "usuarios"
IA: Liste todas as conexões ativas no banco
IA: Mostre as estatísticas da tabela "pedidos" e sugira índices
⚠️ ATENÇÃO: NÃO USE EM PRODUÇÃO. Este MCP Server tem acesso total ao PostgreSQL, com autocommit habilitado e sem bloqueios para comandos destrutivos. Destinado a desenvolvimento/lab.
Recomendações:
pip install mcp psycopg2-binary
export DATABASE_URI='postgresql://postgres:senha@localhost:5432/postgres'
python server.py
Servidor MCP para PostgreSQL com autocommit liberado (CREATE/DROP DB, GRANT/REVOKE, VACUUM, COPY CSV). Feito para desenvolvimento/lab; desencorajado para produção.
postgres-mcp-free/
├── server.py # Servidor MCP
├── requirements.txt # Dependências Python
├── Dockerfile # Imagem Docker
├── docker-compose.yml # Compose para dev
├── .dockerignore # Arquivos ignorados no build
└── README.md # Esta documentação
git checkout -b feature/nova-feature)git commit -m 'Adiciona nova feature')git push origin feature/nova-feature)MIT License - veja LICENSE para detalhes.
Renan Goulart
Links:
Content type
Image
Digest
sha256:dc3778988…
Size
90.1 MB
Last updated
9 months ago
docker pull helderto/postgres-mcp-free