Skip to main content
Glama

Database Connection Pool Calculator

connection-pool-calculator
Read-onlyIdempotent

Use this when a user asks how many database connections to configure. Uses the same max_connections, app server count, database cores, average query duration, and peak RPS model as the browser calculator.

Input Schema

NameRequiredDescriptionDefault
db_coresYesdb cores used by this deterministic tool.
peak_rpsYespeak rps used by this deterministic tool.
app_serversYesapp servers used by this deterministic tool.
avg_query_msYesavg query ms used by this deterministic tool.
max_connectionsYesmax connections used by this deterministic tool.

Output Schema

NameRequiredDescriptionDefault
statusYes
next_stepYes
next_step_urlYes
why_follow_upYes
interpretationYes
saturation_pctYes
affiliate_contextNo
computation_basisYes
per_app_pool_sizeYes
peak_concurrent_demandYes
recommended_pool_totalYes
estimated_connection_memory_mbYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed20 schema fields changed
    • removedInput schema / properties / app_instances
      Removed value: -{
      -  "type": "number"
      -}
    • addedInput schema / properties / app_servers
      Added value: +{
      +  "description": "app servers used by this deterministic tool.",
      +  "examples": [
      +    1
      +  ],
      +  "minimum": 1,
      +  "type": "number"
      +}
    • addedInput schema / properties / avg_query_ms
      Added value: +{
      +  "description": "avg query ms used by this deterministic tool.",
      +  "examples": [
      +    1
      +  ],
      +  "minimum": 0,
      +  "type": "number"
      +}
    • removedInput schema / properties / cpu_cores
      Removed value: -{
      -  "type": "number"
      -}
    • addedInput schema / properties / db_cores
      Added value: +{
      +  "description": "db cores used by this deterministic tool.",
      +  "examples": [
      +    1
      +  ],
      +  "minimum": 1,
      +  "type": "number"
      +}
    • addedInput schema / properties / max_connections / description
      Added value: +"max connections used by this deterministic tool."
    • addedInput schema / properties / max_connections / examples
      Added value: +[
      +  1
      +]
    • addedInput schema / properties / max_connections / minimum
      Added value: +1
    • addedInput schema / properties / peak_rps
      Added value: +{
      +  "description": "peak rps used by this deterministic tool.",
      +  "examples": [
      +    1
      +  ],
      +  "minimum": 0,
      +  "type": "number"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "cpu_cores"
      -]New value: +[
      +  "max_connections",
      +  "app_servers",
      +  "db_cores",
      +  "avg_query_ms",
      +  "peak_rps"
      +]
    • addedOutput schema / properties / computation_basis
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / estimated_connection_memory_mb
      Added value: +{
      +  "type": "number"
      +}
    • removedOutput schema / properties / max_connections_utilization_pct
      Removed value: -{}
    • addedOutput schema / properties / peak_concurrent_demand
      Added value: +{
      +  "type": "number"
      +}
    • removedOutput schema / properties / per_app_instance
      Removed value: -{
      -  "type": "number"
      -}
    • addedOutput schema / properties / per_app_pool_size
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / saturation_pct
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / status
      Added value: +{
      +  "type": "string"
      +}
    • removedOutput schema / properties / warning
      Removed value: -{
      -  "type": "boolean"
      -}
    • changedOutput schema / required
      Previous value: -[
      -  "interpretation",
      -  "next_step",
      -  "next_step_url",
      -  "per_app_instance",
      -  "recommended_pool_total",
      -  "warning",
      -  "why_follow_up"
      -]New value: +[
      +  "computation_basis",
      +  "estimated_connection_memory_mb",
      +  "interpretation",
      +  "next_step",
      +  "next_step_url",
      +  "peak_concurrent_demand",
      +  "per_app_pool_size",
      +  "recommended_pool_total",
      +  "saturation_pct",
      +  "status",
      +  "why_follow_up"
      +]
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "affiliate_context": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "affiliate": {
      +          "type": "string"
      +        },
      +        "cta_label": {
      +          "type": "string"
      +        },
      +        "disclosure": {
      +          "type": "string"
      +        },
      +        "framing": {
      +          "type": "string"
      +        },
      +        "posture": {
      +          "enum": [
      +            "secondary"
      +          ],
      +          "type": "string"
      +        },
      +        "slot_id": {
      +          "type": "string"
      +        },
      +        "url": {
      +          "type": "string"
      +        },
      +        "variant": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "affiliate",
      +        "cta_label",
      +        "disclosure",
      +        "framing",
      +        "posture",
      +        "slot_id",
      +        "url",
      +        "variant"
      +      ],
      +      "type": "object"
      +    },
      +    "interpretation": {
      +      "type": "string"
      +    },
      +    "max_connections_utilization_pct": {},
      +    "next_step": {
      +      "type": "string"
      +    },
      +    "next_step_url": {
      +      "type": "string"
      +    },
      +    "per_app_instance": {
      +      "type": "number"
      +    },
      +    "recommended_pool_total": {
      +      "type": "number"
      +    },
      +    "warning": {
      +      "type": "boolean"
      +    },
      +    "why_follow_up": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "interpretation",
      +    "next_step",
      +    "next_step_url",
      +    "per_app_instance",
      +    "recommended_pool_total",
      +    "warning",
      +    "why_follow_up"
      +  ],
      +  "type": "object"
      +}
  3. Changed1 schema field changed
    • addedInput schema / additionalProperties
      Added value: +false
  4. First observed

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety/determinism profile is fully covered. The description only adds that it shares the browser calculator's model, which is minor extra context; it says nothing about output shape or edge cases, but with annotations carrying the burden a 3 is appropriate.

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 tight sentences: the trigger is front-loaded and the model reference follows. No filler, no repetition of the title.

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?

An output schema exists and annotations cover the safety profile, so return values and behavioral traits need not be spelled out. The description covers the trigger and inputs adequately; it could note that the output is a recommended pool size, but for a deterministic calculator this is largely sufficient.

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 baseline is 3. The description restates the five input names in prose (mapping 'app server count' to app_servers, etc.) but adds no units, ranges, or model semantics beyond what the schema already provides.

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 identifies a specific purpose — calculating how many database connections to configure — and enumerates the input model (max_connections, app servers, DB cores, query duration, peak RPS). It implicitly distinguishes itself from other calculators (cost, SLA, etc.) by naming the connection-pool domain, though it never states the verb 'calculates' explicitly and doesn't contrast with the closest sibling, cluster-capacity-calculator.

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?

States a clear trigger condition ('when a user asks how many database connections to configure'), which is useful routing guidance among 30+ calculator siblings. It offers no exclusions or explicit alternatives, but the trigger is specific enough that an agent can select it confidently.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources