postgres-explorer
Allows querying and exploring a PostgreSQL database in read-only mode, providing tools to get schema and execute SELECT queries.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@postgres-explorerlist all tables in the public schema"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🐘 Postgres-Explorer MCP Server
Servidor MCP que permite a Claude Code explorar y consultar una base de datos PostgreSQL de forma segura (solo lectura).
✅ Requisitos
🐍 Python >= 3.12
🗄️ PostgreSQL accesible
🐳 Docker (opcional)
Related MCP server: MCP PostgreSQL Server
🔐 Variables de entorno
DB_HOST=localhost
DB_NAME=name_example
DB_USER=user_example
DB_PASSWORD=password_example
DB_PORT=5432⚙️ Configuración para Claude Code
Agrega esto a tu .mcp.json en la raíz del proyecto:
🐳 Opción 1 — Docker (recomendado)
Primero construye la imagen desde la raíz del proyecto:
docker build -t mi-mcp-postgres .Luego agrega esto a tu .mcp.json:
{
"mcpServers": {
"postgres-explorer": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--network",
"host",
"--env-file",
"/ruta/absoluta/hacia/tu/proyecto/.env",
"mi-mcp-postgres"
]
}
}
}o a tu opencode.json:
{
"mcp": {
"postgres-explorer": {
"type": "local",
"command": [
"docker",
"run",
"-i",
"--rm",
"--network",
"host",
"--env-file",
"/ruta/absoluta/hacia/tu/proyecto/.env",
"mi-mcp-postgres"
]
}
}
}⚡ Opción 2 — Python directo
{
"mcpServers": {
"postgres-explorer": {
"command": "uv",
"args": ["run", "python", "main.py"]
}
}
}🛠️ Herramientas disponibles
Herramienta | Descripción |
| 📋 Lista todas las tablas y sus columnas del esquema |
| 🔍 Ejecuta una consulta |
🔒 Seguridad: solo permite
SELECT. Conexiones en modo read-only.
Available Tools
2 toolsexecute_queryB
Ejecuta una consulta SQL SELECT en PostgreSQL y devuelve los resultados. Úsala solo para consultas de lectura.
| Name | Required | Description | Default |
|---|---|---|---|
| sql | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, yet description only mentions it's for SELECT and returns results no details on errors, permissions, row limits, or what happens on write attempts. Incomplete for a critical tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences front-load the purpose. Could be slightly improved by structuring parameter details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given only one parameter and an output schema, the description is missing parameter semantics and behavioral details, which are needed for safe usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and description adds no explanation for the sql parameter, leaving it completely undefined.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it executes a SQL SELECT query on PostgreSQL and returns results. Differentiates from sibling tool get_schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'use only for read queries', providing context on when to use it. No explicit alternatives mentioned but sibling is get_schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_schemaA
Obtiene la lista de tablas y sus columnas en el esquema público de PostgreSQL.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description correctly implies a read-only operation by stating it retrieves schema information. With no annotations providing safety hints, the description carries the burden and adequately communicates the non-destructive nature. However, it omits details like permissions or side effects, which are likely negligible for a schema retrieval tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no fluff. Every word earns its place, and it is front-loaded with the core action. Conciseness is excellent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool has no parameters and an output schema exists (though not provided), the description is complete enough. It clearly states the output (list of tables and columns) and context (public schema of PostgreSQL). No additional details are necessary for this straightforward tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the schema coverage is 100%. The description does not add meaning beyond the empty schema, but for zero-parameter tools, a baseline of 4 is appropriate as the schema already fully defines the interface.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a list of tables and columns from the public schema of PostgreSQL. The verb 'obtiene' (gets) and resource 'tablas y sus columnas' are specific, and it distinguishes itself from the sibling tool 'execute_query' which likely executes queries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
While the description implies this tool is for exploring schema structure rather than executing queries (given the sibling), it does not explicitly state when to use it or when not to use alternatives. No exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
2 tool updates
v0.1.0- First observed
execute_query - First observed
get_schema
TDQS
The two tools have clearly distinct purposes: execute_query handles arbitrary SELECT queries, while get_schema retrieves metadata about tables and columns. No overlap or ambiguity exists.
Both tools follow a consistent verb_noun pattern (execute_query, get_schema) using snake_case, making the naming predictable and clear.
With only 2 tools, the server feels minimal for a 'PostgreSQL explorer'. Typical exploration would benefit from additional tools like describe_table, list_schemas, or view_details, making 2 tools insufficient for a well-scoped exploration surface.
The server covers basic schema browsing and arbitrary read queries, but lacks more granular tools (e.g., specific table details, constraint info, index listing). Users cannot easily explore beyond the public schema or get metadata about individual objects without writing SQL.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.
Safe, read-only Postgres and MySQL access for AI agents. Audit log + column-level controls.
Query 40 databases from Claude, ChatGPT, or Cursor — on any device. Read-only, encrypted, audited.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables secure read-only access to PostgreSQL databases through SELECT queries only, with tools for exploring schemas, listing tables, and executing common queries while preventing any data modification operations.2,422MIT
- AlicenseNot gradedqualityCmaintenanceEnables secure read-only access to PostgreSQL databases, allowing users to list tables, query schemas, execute SELECT statements, and inspect table structures through natural language interactions.7514MIT
- AlicenseNot gradedqualityDmaintenanceProvides secure, read-only access to PostgreSQL databases for schema inspection and data querying. It enables users to list tables, describe structures, and execute SELECT statements while strictly blocking destructive operations.191MIT
- AlicenseNot gradedqualityDmaintenanceEnables safe interaction with PostgreSQL databases through read-only queries, schema exploration, and performance analysis.121MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mathewsls/mcp-postgresql'
If you have feedback or need assistance with the MCP directory API, please join our Discord server