postgres-mcp
Server Quality Checklist
Latest release: v0.3.0
- Disambiguation5/5
Each tool targets a distinct aspect of PostgreSQL introspection and analysis: listing databases/schemas/objects, fetching details, executing/explaining SQL, and performance tuning. Even the two index analysis tools are clearly differentiated by workload vs. specific queries.
Naming Consistency5/5All tool names follow a consistent verb_noun pattern using lowercase with underscores (list_*, get_*, execute_sql, explain_query, analyze_*). The naming is predictable and easy to navigate.
Tool Count5/5With 10 tools, the server is well-scoped for a PostgreSQL administration and performance analysis purpose. Each tool has a clear role without redundancy or bloat.
Completeness5/5The tool set covers the full lifecycle of database inspection and optimization: discovery (databases, schemas, objects), exploration (details, SQL execution, explain), performance analysis (top queries, index recommendations), and health checks. No obvious gaps for its stated purpose.
Average 3.1/5 across 10 of 10 tools scored. Lowest: 2.3/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 7 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior1/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 disclosing behavior. It does not mention whether the operation is read-only, what happens if the object does not exist, whether a database needs to be selected, or any side effects. The description only states what is returned, not how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness2/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short and under-specified. While it has no wasted words, it is a fragment rather than a complete sentence and lacks essential details about the tool's operation. The brevity comes at the cost of clarity, making it closer to under-specification than effective conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters, no annotations, and no output schema, the description is far from complete. It does not explain what the response looks like, how to use the parameters together, or any constraints. The description barely covers the core purpose, leaving significant gaps for an agent to choose and invoke this tool appropriately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25% (only 'db' has a description). The tool description does not explain the meaning or purpose of parameters like object_name, schema_name, or object_type. The phrase 'table/view' gives a slight hint that object_type might default to table, but it doesn't clarify the enum values or the required schema_name. This is insufficient compensation for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns columns and indexes for a table or view, which is a specific resource and information type. However, it omits the fact that object_type can also be sequence or extension, so it's not fully aligned with the schema. It distinguishes itself from sibling tools like list_objects by implying detailed column/index metadata.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not explain when to use this tool versus alternatives like list_objects or execute_sql. There are no explicit conditions, exclusions, or references to sibling tools, leaving the agent without direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses only the row limit ('max 50 rows returned') but does not mention possible mutations, side effects, permission requirements, or whether it can execute destructive SQL. This is a significant gap for a tool named execute_sql.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded, with no wasted words. However, it is under-specified for a tool of this importance; the brevity is not a virtue given the missing safety and usage context. It earns a mid score for being concise but not appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness1/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a powerful arbitrary SQL execution tool with no output schema and no annotations. The description utterly fails to provide safety context, distinguish from analysis siblings, or explain when to use it. Only the row limit is mentioned. The tool is severely incomplete for an agent to safely invoke.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 33%. The description adds no meaning for 'sql' or 'db' parameters. The row limit hint relates to 'limit' default but does not explain that it can be increased up to 500. Low coverage plus no parameter details in description means it does not compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
'Execute SQL' clearly states the verb and resource. It distinguishes from sibling tools (list_databases, explain_query, analyze_*) which are all read/analysis tools, while this is the only direct execution tool. However, it could be more specific about whether this is read-only or arbitrary DDL/DML.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use execute_sql vs alternatives like explain_query or list_databases. Does not mention exclusions (e.g., 'not for read-only analysis' or 'prefer explain_query for understanding query plans'). Effectively absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden but only states the data source and a filtering hint. It does not mention sorting, defaults, permissions, or output format, leaving significant behavioral uncertainty.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the core purpose without redundancy. It earns its place with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 parameters and no output schema, this minimal description is incomplete. It omits return values, default behaviors, and use context, making it hard for an agent to fully understand the tool's operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema describes only 'db' (33% coverage). The description does not elaborate on 'limit' or 'sort_by', and it does not clarify how 'resources' sorting relates to 'slow or resource-heavy' queries. The description adds no parameter-level meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (pg_stat_statements) and the subject (slow or resource-heavy queries), making the tool's target clear. However, it lacks an explicit verb like 'retrieve' or 'list', relying on the tool name to imply the 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/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like analyze_workload_indexes or explain_query. There is no mention of use cases, exclusions, or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 state whether the query is executed, whether the operation is read-only, what output format is returned, or any side effects. The word 'EXPLAIN' implies a query plan, but that is not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. 'EXPLAIN a SQL query, optionally with hypothetical indexes' delivers the core purpose efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness1/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, yet the description does not explain what the EXPLAIN output looks like, how `analyze` affects results, or how `db` is used. The nested `hypothetical_indexes` object is also left ambiguous. This is inadequate for a tool with four parameters and no structured output documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25% (only `db` is described). The description maps 'SQL query' to `sql` and 'hypothetical indexes' to `hypothetical_indexes`, but it does not explain `analyze` or `db`, nor the structure of hypothetical indexes beyond the name. It partially compensates for low schema coverage but not sufficiently.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('EXPLAIN') and resource ('SQL query'), and mentions the optional hypothetical-index capability. This clearly distinguishes the tool from siblings like execute_sql, which runs queries rather than explaining them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 execute_sql, analyze_query_indexes, or get_top_queries. The description does not state conditions, prerequisites, or exclusions, providing only the basic action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, and the description carries the full burden of behavioral disclosure. It does not state whether the checks are read-only, whether they may be expensive or disruptive, what the return format is, or whether specific database privileges are required. The terse list of check types gives little insight into side effects or execution behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, occupying a single line while conveying the core purpose and the parameter options. It is front-loaded with the tool's domain ('Health checks') and avoids unnecessary prose. However, it is so terse that it sacrifices behavioral detail, which is penalized in other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with two optional parameters and no output schema, the description gives sufficient input guidance by listing health check types. However, it lacks context about what the output looks like, how 'all' behaves relative to individual checks, and what the practical use cases are. It is minimally viable but leaves gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema describes 'db' but leaves 'health_type' with no description; the tool description compensates by explicitly enumerating the valid health_type values (index, connection, vacuum, sequence, replication, buffer, constraint, all). This adds meaningful semantic value beyond the schema, even though it does not explain what each check does.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates the tool performs database health checks and enumerates the specific check types (index, connection, vacuum, etc.), which gives the agent a concrete sense of the tool's scope. It distinguishes itself from sibling tools like analyze_workload_indexes by focusing on general health checks rather than specialized query/index analysis, though it does not explicitly contrast with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives like analyze_workload_indexes or execute_sql. The list of health check types implies possible use cases, but there is no stated context, prerequisites, or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 disclosing behavior. It states the core action ('Recommend indexes') but does not mention whether the operation is read-only, requires specific permissions, or has any side effects. It also fails to disclose how the result will be presented or any constraints beyond the query count. This is a minimal disclosure with significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the core behavior: 'Recommend indexes for up to 10 specific queries.' Every word earns its place, and there is no extraneous information or repetition of schema fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema and only 33% parameter coverage, the description is not sufficiently complete. It does not explain what the recommended indexes will look like, how results are returned, or the role of the max_index_size_mb parameter. The tool's complexity is moderate, but this minimal description leaves too many details unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only 'db' has a description). The tool description does not mention any of the parameters (queries, max_index_size_mb) or provide additional meaning beyond the schema. Since the coverage is low, the description must compensate, but it remains completely silent on parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Recommend indexes for up to 10 specific queries.' It uses a specific verb ('Recommend'), a resource ('indexes'), and a scope ('for up to 10 specific queries'). This distinguishes it from sibling tools like analyze_workload_indexes, which targets broader workloads.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by specifying 'for up to 10 specific queries,' which suggests this tool is for analyzing a bounded set of user-provided queries. However, it does not explicitly state when to use this tool over alternatives like analyze_workload_indexes, nor does it mention prerequisites or exclusions. The hint of scope provides only implied guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 disclosing behavior. The word 'List' implies read-only operation, but there is no mention of whether system objects are filtered, whether special permissions are required, or how the search_path is handled. The description offers no additional behavioral detail beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, front-loaded with the action and resource. Every word contributes meaning, and there is no redundant or extraneous detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple listing tool, the description conveys the essential function, but it omits important context such as the dependence on db to identify the correct database (since schema names are often not globally unique) and what the return format is (e.g., just names, or with metadata). This makes the tool adequate but not fully complete for an agent to invoke correctly without additional assumptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, but the description adds little new meaning. It repeats the object_type enum values (tables, views, sequences, extensions) which are already in the schema, and it only vaguely references 'in a schema' without explaining the relationship between the required schema_name and the optional db parameter. The db parameter's role remains unexplained beyond its schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and clearly identifies the resource (tables, views, sequences, extensions) and scope ('in a schema'), which effectively distinguishes it from sibling tools like list_databases and list_schemas that target other entity types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 get_object_details or get_top_queries, and it does not mention prerequisites like the need to specify a database (db) to disambiguate schema names. It only states the core action without any contextual selection advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 for behavioral transparency. The verb 'Recommend' implies a non-mutating analysis, but the description does not disclose whether the tool runs expensive queries, requires specific permissions, or has any side effects. It also does not specify the output format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. Every word earns its place: it names the action, the object, and the data source.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema and no annotations, the description is too sparse. It does not explain what the recommendations look like, how max_index_size_mb influences results, or when to choose this tool over analyze_query_indexes. The tool's simplicity does not excuse the lack of essential context for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%: 'db' has a description, but 'max_index_size_mb' is undocumented. The tool description adds no explanation for either parameter, leaving the agent to guess the meaning of the default -1 and how the parameter affects recommendations. With low schema coverage, the description should compensate but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: recommend indexes based on pg_stat_statements workload. The verb 'Recommend' combined with the resource 'indexes' and the source 'workload' is specific and distinguishes it from siblings like analyze_query_indexes (query-specific) and analyze_db_health (database health).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the description: use this for workload-level index recommendations rather than single-query analysis. However, it does not explicitly state when to use it over alternatives, mention prerequisites like pg_stat_statements being enabled, or provide any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does disclose a key behavior: it filters to user schemas by default, implying include_system toggles system schemas. However, it does not mention return format, pagination, permissions, or behavior when db is omitted, leaving some gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
A single concise sentence that front-loads the action and key default behavior. Every word earns its place, with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, but the description is incomplete in important contexts: it does not clarify whether db is optional or how the tool behaves without it, nor does it describe output shape or edge cases like no schemas found. The schema helps, but the description alone leaves room for ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 50% coverage: db has a description, but include_system does not. The tool description partially compensates by explaining the default behavior of include_system via 'user schemas only by default'. It adds moderate value beyond the schema, but not enough to fully offset the missing description for include_system.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'schemas', and adds a specific scope ('user schemas only by default'). This distinguishes it from siblings like list_databases and list_objects, making the purpose immediately obvious.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by naming the operation and default behavior, but does not explicitly state when to choose this over list_objects or execute_sql. No exclusions or alternatives are mentioned, but the name and context make the primary use case clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the burden for behavioral disclosure. It describes the action ('List') which implies a read-only operation, but it does not explicitly state safety guarantees, return format, or any side effects. This is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally concise, consisting of two short sentences. It is front-loaded with the core function and wastes no words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, zero-parameter listing tool, the description is complete enough. It conveys the purpose and usage context. Without an output schema, it could specify return details, but 'List' and the tool name sufficiently imply a list of database connections.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is fully covered (100% coverage). The baseline for 0 parameters is 4, and the description adds no unnecessary parameter details. No additional semantics are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does 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 ('List') and resource ('configured database connections'). It also adds a usage hint ('Call first when unsure which db to use') that distinguishes it from sibling tools like list_schemas and list_objects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance ('Call first when unsure which db to use'), which is clear context. However, it does not mention when not to use the tool or explicitly name alternatives, so it falls short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
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/Leon-Achteresch/postgres-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server