Skip to main content
Glama
chenz4027

postgres-mcp

by chenz4027

PostgreSQL MCP Server

A Model Context Protocol (MCP) server that provides PostgreSQL database access to Claude Desktop. This server enables Claude to interact with your local PostgreSQL database through a secure, well-defined interface.

Features

  • Query Execution: Execute custom SQL queries with parameterization for security

  • Schema Inspection: List tables, describe table structures, and get schema overviews

  • CRUD Operations: Create, read, update, and delete records with structured interfaces

  • Security Features: Input validation, parameterized queries, and connection pooling

  • Type Safety: Full TypeScript implementation with Zod validation

Related MCP server: PostgreSQL MCP Server

Available Tools

  1. postgres_query - Execute custom SQL queries

  2. postgres_list_tables - List all tables in the database

  3. postgres_describe_table - Get detailed table information

  4. postgres_schema_overview - Get complete database schema

  5. postgres_select - Select data with filtering and pagination

  6. postgres_insert - Insert new records

  7. postgres_update - Update existing records

  8. postgres_delete - Delete records

Installation

  1. Clone this repository:

    git clone <repository-url>
    cd postgres-mcp
  2. Install dependencies:

    npm install
  3. Build the project:

    npm run build

Configuration

PostgreSQL Setup

Ensure your PostgreSQL server is running on localhost:5432 with a database named postgres. The default configuration assumes you can connect without username/password (trust authentication).

Claude Desktop Configuration

Add the following to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\\Claude\\claude_desktop_config.json

{
  "mcpServers": {
    "postgres": {
      "command": "node",
      "args": ["/path/to/postgres-mcp/dist/index.js"]
    }
  }
}

Replace /path/to/postgres-mcp with the actual path to your project directory.

Usage

  1. Start Claude Desktop

  2. The PostgreSQL MCP server will automatically connect to your database

  3. Use the available tools through Claude's interface

Example Queries

  • "Show me all tables in the database"

  • "Describe the users table"

  • "Select all users where age > 25"

  • "Insert a new user with name 'John' and email 'john@example.com'"

Security Considerations

  • All queries use parameterized statements to prevent SQL injection

  • Input validation using Zod schemas

  • Connection pooling with timeouts

  • No hardcoded credentials (uses environment/default connection)

Development

# Development mode (watch for changes)
npm run dev

# Build
npm run build

# Lint
npm run lint

# Test
npm test

Troubleshooting

  1. Connection Issues: Ensure PostgreSQL is running and accessible

  2. Permission Errors: Check database user permissions

  3. Tool Not Found: Verify Claude Desktop configuration path

License

MIT

Available Tools

8 tools
postgres_deleteB

Delete records from a table

ParametersJSON Schema
NameRequiredDescriptionDefault
whereYesObject containing WHERE clause conditions
table_nameYesName of the table to delete from

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not mention that deletion is destructive, irreversible, or can affect multiple records. It also does not clarify whether a WHERE clause is required or what the response indicates.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with zero wasted words. It is appropriately front-loaded and concise, though it could arguably include more operational detail without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations and no output schema, the description is too sparse. It does not explain return values, safety implications, or the effect of the WHERE clause, leaving significant gaps for an agent to understand the tool's full behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage for both parameters (table_name and where), each with descriptions. The tool description adds no additional meaning beyond the schema, so it does not need to compensate. Baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Delete records from a table' uses a specific verb and resource, clearly stating the tool's function. It distinguishes from sibling tools like postgres_insert, postgres_update, and postgres_select by specifying the delete action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, no context about prerequisites, and no exclusions. It is a bare statement without any usage recommendations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

postgres_describe_tableA

Get detailed information about a specific table including columns, data types, and constraints

ParametersJSON Schema
NameRequiredDescriptionDefault
table_nameYesName of the table to describe

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses the tool returns columns, data types, and constraints, clearly indicating a read-only operation. However, it does not mention error behavior, permissions, or any limitations beyond the obvious 'describe' function.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that immediately conveys the tool's purpose. No unnecessary words or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description provides enough information: what it does and what information is returned. It omits return format details but remains functionally complete for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema fully documents the single parameter table_name with a description. The description text adds no additional semantic meaning beyond repeating 'specific table'. Baseline of 3 is appropriate since schema coverage is 100%.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves detailed information about a specific table, including columns, data types, and constraints. This distinguishes it from sibling tools like postgres_list_tables (which lists tables) and postgres_schema_overview (which provides a schema-level overview).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when needing details about one table rather than a list or overview. It gives clear context by specifying 'a specific table', but it does not explicitly name alternatives or state when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

postgres_insertB

Insert a new record into a table

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesObject containing column names and values to insert
table_nameYesName of the table to insert into

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the transparency burden. It only states the insert action without disclosing return values, validation behavior, error handling, or side effects beyond the obvious write operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no redundancy. It is front-loaded with the action verb, making it easily scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the tool is simple, the description lacks context about return values, constraints, or interaction with nested data. Given that there is no output schema and no annotations, the description is too sparse to fully prepare an agent for invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema fully documents both parameters (table_name and data) with clear descriptions, so the description adds no additional semantic value. Baseline of 3 is appropriate given 100% schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function with a specific verb ('Insert') and resource ('a new record into a table'), distinguishing it from sibling tools like update, delete, and select.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as postgres_update or postgres_query. The description does not mention any exclusions or preferred contexts.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

postgres_list_tablesA

List all tables in the public schema of the PostgreSQL database

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It does not explicitly state that the operation is read-only, safe, or side-effect-free, nor does it disclose potential limitations (e.g., whether views are included, permission requirements, or return format). The verb 'List' implies a read operation, but this is not clarified, leaving room for ambiguity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence: 'List all tables in the public schema of the PostgreSQL database.' It is concise, avoids redundancy, and front-loads the primary action and scope. Every word contributes value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with no parameters and no output schema, the description provides adequate context about the function and its scope (public schema). However, it does not describe the return format or any behavior beyond the action, which would be helpful since there is no output schema to clarify what the agent should expect. Given the simplicity, this is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the baseline score for parameter semantics is 4. The description correctly adds no extraneous parameter information, as there is nothing to explain beyond the schema. The 100% schema coverage further makes parameter documentation unnecessary.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'List all tables in the public schema of the PostgreSQL database.' It uses a specific verb ('List') and resource ('tables in the public schema'), which distinguishes it from siblings like postgres_describe_table (which describes a single table) and postgres_query/select (which retrieve data).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving a list of tables, but it does not explicitly state when to use this tool versus alternatives, nor does it mention exclusions. For example, it does not clarify whether postgres_schema_overview could be used for broader schema information. Guidance is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

postgres_queryA

Execute a custom SQL query against the PostgreSQL database. Use this for complex queries, joins, aggregations, and any SQL operation not covered by other tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSQL query to execute. Use $1, $2, etc. for parameters to prevent SQL injection.
parametersNoOptional array of parameters for parameterized queries

TDQS

A3.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full responsibility. It does not disclose potential side effects such as data modification, transaction behavior, or security implications of executing arbitrary SQL. The lack of these details for a potentially powerful tool is a notable gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core purpose and followed by usage guidance. Every word contributes meaning without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description explains what and when well, but omits operational behaviors like result formats, error handling, or write permissions. Given no output schema or annotations, more context would be needed for full completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already has full coverage of both parameters (query and parameters) with descriptions. The tool description adds no extra semantic detail beyond the schema, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool executes a custom SQL query against PostgreSQL, with a specific verb and resource. It further differentiates itself from sibling tools by noting it is for operations 'not covered by other tools'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says to use this for complex queries, joins, aggregations, and when other tools do not apply, which provides clear when-to-use guidance and implies alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

postgres_schema_overviewA

Get a complete overview of the database schema including all tables and their columns

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure, but it only states what the tool returns ('overview... all tables and their columns') without mentioning any side effects, performance implications, or whether it is a read-only operation. It does not add behavioral context beyond the basic function.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, direct sentence that immediately states the tool's purpose. It is front-loaded with the key verb ('Get') and resource ('database schema'), and contains no unnecessary words or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no parameters and no output schema, the description gives a basic level of understanding but does not specify the exact composition of the 'overview' (e.g., whether it includes column types, constraints, or just names). This leaves some ambiguity about the return value's richness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the schema coverage is vacuously 100%. With no parameters to document, the description is not required to explain parameter behavior. Baseline for zero parameters is 4, and the description adequately fulfills this.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action ('Get a complete overview') and resource ('database schema'), and it distinguishes itself from siblings by emphasizing it covers 'all tables and their columns' rather than just listing tables or describing a single table. It is unambiguous and informative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool (when you need a full schema overview), but it does not explicitly contrast it with sibling tools like postgres_list_tables or postgres_describe_table. No alternative tools are mentioned, so the agent must infer the appropriate context from the tool name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

postgres_selectA

Select data from a table with optional filtering, sorting, and pagination

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of rows to return
whereNoWHERE clause conditions as key-value pairs
offsetNoNumber of rows to skip
columnsNoColumns to select (leave empty for all columns)
order_byNoColumn to order by
table_nameYesName of the table to select from
order_directionNoOrder direction

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears the full burden of behavioral disclosure. It implies a read-only operation via 'Select data' and mentions pagination, but does not explicitly state safety, permissions, or potential edge cases.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the core action and summarizes optional behaviors without unnecessary verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple read operation and full schema coverage, the description is adequate for understanding the tool's role. It lacks explicit return-value details and differentiation from postgres_query, but these are not critical for a basic select tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with all parameters described. The description adds a high-level summary of filtering/sorting/pagination but no new details beyond the schema, making the baseline score appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as a select operation on a table, naming the key capabilities of filtering, sorting, and pagination. It differentiates from sibling write tools (insert/update/delete) but does not explicitly distinguish it from postgres_query.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use the tool: retrieving data with optional filtering, sorting, and pagination. However, it does not mention alternatives or state when not to use this tool in favor of postgres_query.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

postgres_updateC

Update existing records in a table

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesObject containing column names and new values
whereYesObject containing WHERE clause conditions
table_nameYesName of the table to update

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the full burden of behavioral disclosure. It only says 'update existing records' without warning about permanent data overwrite or the risk of updating all rows if the 'where' condition is empty or too broad. This is insufficient for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that is efficient and free of fluff. It does not attempt to explain what the schema already covers, though it is somewhat bare.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with two nested object parameters and no output schema, the description is too sparse to prepare an agent for safe usage. It does not discuss return values, potential side effects, or provide any usage example, and sibling differentiation is entirely absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All three parameters are fully described in the schema (100% coverage), so the description adds no additional semantic value. Baseline 3 is appropriate since the schema already documents the meaning of table_name, data, and where.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (update) and resource (existing records in a table). It is specific enough to distinguish from sibling tools like postgres_insert and postgres_delete, though it doesn't explicitly mention the WHERE-clause mechanism that controls scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as postgres_query for raw SQL updates, nor does it mention prerequisites or exclusions. The single sentence offers no context for selection.

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.

  1. 8 tool updatesv1.0.0
    • First observedpostgres_delete
    • First observedpostgres_describe_table
    • First observedpostgres_insert
    • First observedpostgres_list_tables
    • First observedpostgres_query
    • First observedpostgres_schema_overview
    • First observedpostgres_select
    • First observedpostgres_update

TDQS

A3.7/5.0
Disambiguation4/5

Tools are mostly distinct: CRUD operations are clear, and schema tools are differentiated by scope. Some overlap exists between list_tables and schema_overview, and between select and query, but descriptions clarify when to use each.

Naming Consistency4/5

All tools share the 'postgres_' prefix and use snake_case, but the pattern is not perfectly uniform: most are verb_noun (e.g., list_tables, describe_table), while query, select, insert, etc. are bare verbs and schema_overview is a noun phrase. This is a minor deviation.

Tool Count5/5

With 8 tools, the server is well-scoped for PostgreSQL interaction. It covers metadata inspection, data manipulation, and custom querying without unnecessary bloat or thinness.

Completeness5/5

The tool set covers the full data lifecycle: schema inspection (list_tables, schema_overview, describe_table), CRUD (select, insert, update, delete), and a custom query tool for anything else. No obvious gaps for typical database use cases.

Maintenance

ActivityInactive
ResponsivenessSyncing

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

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides authenticated access to PostgreSQL databases for Claude AI, enabling users to browse database tables, discover schemas, and execute custom SQL queries through natural language interaction.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables Claude to interact with PostgreSQL databases by executing SQL queries, exploring schemas, and monitoring database health. It provides tools for data manipulation and schema management via a secure SSE connection.
    290
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables Claude Desktop to interact with PostgreSQL databases through natural language for schema exploration, data analysis, and query execution. Users can search schemas, describe tables, and perform read or write operations without needing to write manual SQL.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to query and manage local PostgreSQL databases through SQL execution and schema exploration tools. It supports both read-only queries and write operations including table creation and data modification via natural language.
    29
    ISC

Latest Blog Posts

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/chenz4027/postgres-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server