db-introspector-mcp
Server Quality Checklist
Latest release: v0.1.1
- Disambiguation5/5
Each tool has a clearly distinct purpose: listing tables, describing a table's columns, listing foreign keys, generating an ER diagram in DOT format, and providing a schema summary. There is no overlap or ambiguity between them.
Naming Consistency4/5Most tools follow a verb_noun pattern (list_tables, describe_table, list_foreign_keys), while er_dot and schema_summary use noun phrases. The style is still consistent (lowercase with underscores) and the deviations are minor and understandable.
Tool Count5/5Five tools is a well-scoped count for a database introspector. Each tool covers a specific aspect of schema discovery and diagram generation without unnecessary bloat or missing essentials.
Completeness4/5The tool set covers core introspection needs: tables, columns, foreign keys, ER diagram generation, and a summary. Minor gaps like indexes or views are missing, but the current surface is sufficient for typical schema exploration and diagram workflows.
Average 2.7/5 across 5 of 5 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 2 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
- 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. It discloses the output components (columns, types, nullability) but gives no information about execution behavior, such as whether the table must exist, error handling, or side effects (though likely read-only).
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 a short fragment, not a complete sentence. While there is no wasted text, it is under-specified to the point of being unhelpful; it lacks structured phrasing and any details.
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?
With no output schema, no annotations, and a minimal description, the tool is incompletely specified. The description fails to explain parameters, return format, or any contextual information needed to use the tool effectively.
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 0%, and the description does not mention parameters at all. It fails to clarify what 'table' and 'schema' mean or how they are used, leaving the agent without critical information to invoke the tool correctly.
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 'Columnas, tipos y nullability' clearly indicates the tool returns column names, data types, and nullability information for a table. This is specific enough to distinguish it from siblings like list_tables (table listing) or schema_summary (summary), though it lacks an explicit verb like 'describe' or 'get'.
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 like list_tables or schema_summary. The description provides no context about intended use cases or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it only states the resource and default, repeating the schema's default. It discloses nothing about output format, limitations, ordering, or whether system tables are included, so the description is almost completely lacking in behavioral transparency.
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 a short fragment, not a full sentence, but it is front-loaded with the core information. It is concise but under-specified, lacking any elaboration on operation or context.
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?
The tool is simple, but given the sibling tools and lack of output schema, the description should clarify what 'tables' means (e.g., names vs. details, includes views?) and what the response looks like. It does not, leaving the description incomplete.
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 has 0% description coverage, and the description only repeats the default 'public' already present in the schema's default field. It adds no explanation of valid values, error behavior, or the meaning of the schema parameter beyond its name.
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 'Tablas de un schema (default public)' clearly identifies the tool's output as tables in a specified schema, and the default value 'public' adds scope. However, it lacks an explicit verb (e.g., 'List') and does not distinguish from siblings like 'schema_summary' or 'describe_table', so it is clear but not fully differentiating.
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 given about when to use this tool vs. alternatives such as describe_table or schema_summary. The description neither states contexts nor exclusions, so it provides no usage 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?
With no annotations, the description must carry the burden of behavioral disclosure. It only says 'Foreign keys del schema', which implies a read operation but doesn't specify the output format, whether it returns constraint names, referenced tables/columns, or any side effects. This is minimal and leaves major behavioral aspects undisclosed.
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 extremely brief, which is concise, but it's a fragment rather than a complete sentence. It front-loads the key term 'foreign keys' but lacks essential details, making it under-specified rather than optimally informative.
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?
There is no output schema and no annotations, so the description should explain what the result will be; it doesn't. The sibling tools provide context that this lists FK constraints, but the description alone is insufficient for an agent to fully understand the tool's behavior or output.
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 input schema has one parameter (schema) with no description (0% coverage). The description mentions 'del schema' but doesn't explicitly explain that the 'schema' parameter controls which schema's foreign keys are listed, nor does it mention the default 'public'. This provides insufficient compensation for the missing schema documentation.
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 'Foreign keys del schema' clearly identifies the tool's domain—foreign keys in a database schema—which, combined with the verb in the name 'list_foreign_keys', states its purpose. It distinguishes from sibling 'list_tables' by focusing on foreign keys, though it doesn't mention alternative tools.
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 doesn't say when to use this tool versus list_tables, describe_table, er_dot, or schema_summary, nor does it mention any prerequisites, exclusions, or typical scenarios.
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. It discloses that the tool counts tables and FKs and returns a compact list, but it does not clarify what the compact list contains, whether it applies to the entire schema or a specific one, or any other behavioral details. The ambiguity about 'compact list' is a significant transparency 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, short sentence that is direct and easy to parse. It contains no unnecessary words or redundant information, making it highly concise despite its terseness.
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 one parameter and no output schema, the description is too brief. It does not explain the return format or clarify the nature of the 'compact list', nor does it address the 'schema' parameter. This leaves the agent under-informed about how to use the tool and what to expect in the response.
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 input schema has one parameter 'schema' with a default of 'public', but no description. The description does not mention this parameter, and with 0% schema coverage it fails to explain its meaning. The parameter name gives a minimal hint, but the description adds no value beyond the schema's own structural information.
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 provides counts of tables and foreign keys plus a compact list, which indicates its purpose as a schema summary. It is distinguishable from sibling tools like list_tables and describe_table, though the phrase 'compact list' leaves some ambiguity about what exactly is listed.
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 for getting an overview or summary of schema objects, but it does not explicitly state when to use this tool over alternatives or mention any exclusions. No alternative tools are referenced.
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 behavioral disclosure. It only mentions the input and output concept ('Graphviz DOT from tables + FKs') but does not explain the return format, whether the operation is read-only, or any potential side effects or permissions. This is a significant gap for an unannotated tool.
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 very concise, consisting of two short sentences. The first sentence states the core purpose, and the second gives a clear actionable next step. There is no redundancy or irrelevant 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?
The tool is simple (one optional parameter, no output schema), and the description covers the main purpose and a downstream usage. However, it omits the effect of the schema parameter and does not describe the output format beyond 'Graphviz DOT', leaving some gaps for an agent trying to invoke it correctly.
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?
The schema description coverage is 0%, and the tool description does not mention the 'schema' parameter at all. The default value 'public' is only in the schema, and the description gives no indication of what this parameter controls or how to use it correctly.
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 generates Graphviz DOT from tables and foreign keys, which is a specific verb+resource pairing. It distinguishes itself from sibling tools like list_tables or list_foreign_keys by focusing on producing a DOT representation for ER diagrams.
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 provides a downstream instruction ('Pásalo a diagram-studio render_diagram engine=graphviz') which implies a workflow, but it does not explicitly state when to use this tool versus alternatives or mention any exclusions. Usage context is implied rather than directly compared with siblings.
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/0PValencia/db-introspector-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server