Skip to main content
Glama
Mhdd-24

@mhdd_24/dbeaver-mcp

by Mhdd-24

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.0.0

  • Disambiguation5/5

    Each tool has a distinct purpose: profile management, status checking, listing databases/schemas/tables, describing tables, and running queries. No overlap or ambiguity between them.

    Naming Consistency5/5

    All tools follow a consistent 'db_' prefix with clear verb_noun naming (set_profile, list_databases, describe_table, etc.). Even the single-word tools like db_status and db_query are clear and fit the pattern.

    Tool Count5/5

    Seven tools is well within the ideal range for a database exploration server. Each tool provides a necessary function without redundancy, making the set feel intentionally scoped.

    Completeness4/5

    The toolset covers the core read-only workflow: setting profiles, checking status, exploring database structure, and querying. The only notable gap is the lack of write operations (insert/update/delete), but the read-only default suggests this is intentional, so it's a minor limitation.

  • Average 4.2/5 across 7 of 7 tools scored. Lowest: 3.6/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 3 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 ISC 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.json to 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 and no mention of read-only nature, side effects, or error behavior. With no annotations, the description carries full burden but is silent.

    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?

    Single concise sentence that fronts the purpose before optionality. No fluff.

    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?

    No output schema or description of returned column details (names, types, etc.). Also lacks guidance on when to prefer this over listing tables or querying.

    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?

    Schema covers all 4 parameters at 100% coverage. Descriptions add some details (e.g., default for schema, profile credential reference), but tool-level description adds little beyond repeating optionality.

    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?

    Clear verb 'Describe' with specific object (columns) and resource (table/view). Scope is unambiguous.

    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?

    Implies use for column information, but does not explicitly differentiate from sibling tools like db_list_tables or db_query.

    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 provided, the description carries the full burden of behavioral disclosure. It does disclose one important behavior — the distinction between the sticky-session profile and the one-shot profile override — but it says nothing about the return shape, error behavior when no profile is available, or the read-only nature of the call beyond what the name implies.

    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?

    A single sentence with the core action front-loaded ('List databases') followed by the scoping qualifier and optional variant. No filler, no redundancy, and the structure does everything needed.

    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 1-parameter, 0-required tool with full schema coverage, the description is largely complete. The only meaningful gap is that, with no output schema and no annotations, an agent must assume the return format is a list of database names — but that is easily inferable from the tool name.

    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?

    Schema description coverage is 100%, so the parameter is already fully documented in the schema (env-var fallbacks, 'default' value, sticky session behavior). The description adds marginal value by labeling the profile argument as 'one-shot', but does not add meaning beyond—the schema does the heavy lifting.

    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 uses a specific verb+resource combination ('List databases') and a precise scope qualifier ('on the active profile server'), which clearly distinguishes it from sibling enumeration tools db_list_schemas and db_list_tables. An agent can immediately grasp both what it does and that it operates at a different hierarchy level than its siblings.

    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?

    Usage context is implied via 'active profile' pointing back to db_set_profile's sticky session and the optional one-shot profile branch, so an agent can infer when this applies. However, there is no explicit guidance about when to use it versus alternatives, when a profile is necessary, or no 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. It does not disclose whether the operation is read-only, has side effects, or depends on authentication/profile state. The read-only nature of a list operation is implied but not stated.

    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 extremely concise, using two short clauses to convey purpose and parameter scope. Every word adds value, and it avoids unnecessary detail 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?

    Given the tool's simplicity and absence of an output schema, the description is sufficiently complete for an agent to invoke it correctly. It could mention error conditions or default behavior more explicitly, but the context from sibling tools and parameter descriptions fills most gaps.

    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 schema already provides detailed descriptions for both parameters, including profile credential specifics and sticky-session behavior. The description adds a minor hint about the dev|qa override, slightly reinforcing but not significantly expanding on the schema information.

    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 action ('List') and the target resource ('non-system schemas'). It distinguishes from sibling tools by focusing on schemas rather than databases or tables, and the optional override notes provide additional scoping.

    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 explains when to use the tool (to list schemas) and includes parameter guidance (optional database/profile override). It does not explicitly mention when not to use it, but the sibling tool names implicitly cover alternative listing operations.

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

  • Behavior4/5

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

    Discloses 'read-only by default' and profile-based connection handling, which are important behavioral traits. Since no annotations are provided, the description carries the burden; it covers key behavior but not full error or return behavior.

    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 concise and well-structured, covering purpose, behavior, and constraints in a few sentences with no redundant words.

    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?

    No output schema exists, and the description does not explicitly mention return format or error behavior. For a query tool the result set is implied, but missing explicit output description lowers completeness.

    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?

    Schema coverage is 100% with descriptions for all parameters. The description adds valuable context about the sticky session profile and instructs not to ask for credentials, enhancing parameter understanding beyond the schema.

    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?

    States a specific action (Run SQL) against a profile, clearly distinguishing it from sibling metadata/list/set tools. The description makes it obvious this is the querying tool.

    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?

    Provides clear guidance to use profiles instead of asking for credentials and explains the profile override mechanism. It does not explicitly contrast with sibling metadata tools, but the context implies when arbitrary SQL is needed.

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

  • Behavior5/5

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

    With no annotations provided, the description carries the full behavioral burden and does so well. It discloses the persistent session side effect ('Later tools reuse this profile automatically'), the security-relevant fact that no host/password appears in chat, the credential source environment variables, and the default verification behavior via the schema's verify parameter.

    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?

    Three dense sentences with no filler. The core action is front-loaded, trigger phrases come second, and the most important behavioral context (persistence, credentials, no secrets in chat) follows. Every sentence earns its place.

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

    Completeness5/5

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

    For a simple setter tool with two parameters and full schema coverage, the description is complete: it explains when to invoke, what the profile affects, how credentials are resolved, and the sticky-session behavior. No output schema exists, but this kind of state-setting tool does not require detailed return-value documentation.

    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?

    Schema description coverage is 100%, so the schema already documents both parameters and their aliases. The description adds useful context about credential loading and the automatic reuse behavior, but it does not add much meaning beyond what the schema already states for the parameters themselves.

    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 specific action ('Set the sticky session connection profile') and the exact accepted values ('dev', 'qa', 'default'). It also gives concrete trigger phrases, making the tool's purpose unambiguous and easily distinguishable from sibling read/query tools.

    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 explicitly tells the agent when to call the tool ('Call when the user says dbprofile=dev, dbprofile=qa, use Dev DB, switch to QA, etc.') and explains the sticky-session benefit for later tools. It does not explicitly mention when not to use it or name alternative tools, so it stops short of a perfect 5.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the burden. The verb 'list' implies a read-only operation with no side effects, which is transparently stated. It does not mention any destructive or modifying behavior, aligning with the expected safe nature of the 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/5

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

    The description is a single concise sentence that conveys all necessary information without redundancy or unnecessary detail. It is well-structured and front-loaded with the primary purpose.

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

    Completeness5/5

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

    The description is complete in the context of this simple listing operation. No output schema is required, and there is no missing information that would prevent the agent from correctly invoking the tool. The optional overrides and defaults are clearly stated.

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

    Parameters5/5

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

    All three parameters have descriptive text in the schema, achieving 100% coverage. The 'profile' parameter explicitly explains possible values and the default behavior, and 'schema' and 'database' are self-explanatory. No additional explanation is needed beyond what is provided.

    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 action (list), the resource (tables/views), and the scope (schema with default public). It also distinguishes itself from sibling tools like db_list_schemas and db_describe_table by focusing on tables/views.

    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 useful usage context by noting optional overrides and defaults (schema, database, profile). While it doesn't explicitly contrast with siblings, the purpose is self-evident from the name and description, making the intended use case clear.

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

  • Behavior5/5

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

    The description discloses that a live SELECT 1 is performed (not just cached info) and clarifies that providing a profile does not alter the sticky session. This gives full transparency about side effects and behavior, especially given no annotations are present.

    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 concise, using two short sentences to convey purpose, optional argument, and side-effect behavior. No unnecessary words or repetition.

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

    Completeness5/5

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

    The description explicitly lists the output content (profile, host, database, write mode, health check result), making it clear what the tool returns even without an output schema. The context is complete for a status/health check tool.

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

    Parameters5/5

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

    Both parameters are fully described in the schema with clear meanings: profile for connection profile (with sticky session context) and database as an optional override. The descriptions are sufficient and match the schema coverage of 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's purpose: to show current sticky PostgreSQL profile, host, database, write mode, and perform a live SELECT 1 health check. It is specific and distinguishes itself from sibling tools like db_query or db_list_databases.

    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?

    It explains the optional profile argument for a one-shot check without changing the sticky session, implying usage for verifying current state. However, it does not explicitly state when to prefer this over alternatives, though the context is clear from sibling tools.

    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

@mhdd_24/dbeaver-mcp MCP server – quality and maintenance score on Glama

Copy to your README.md:

Score Badge

@mhdd_24/dbeaver-mcp MCP server – quality and maintenance score on Glama

Copy to your README.md: