Skip to main content
Glama
jinhyunan

ccpp-tools-mcp

by jinhyunan

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation5/5

    Each tool targets a distinct calculation or resource: fluid properties (liquid vs steam), tank sizing, pipe sizing/wall thickness/pressure drop, pump TDH/NPSHA/power, and valve Cv. No two tools overlap in purpose; even fluid_props_liquid and fluid_props_steam cover different fluids.

    Naming Consistency4/5

    Tool names mostly follow a consistent object_attribute pattern (e.g., fluid_props_liquid, pipe_wall_thickness, pump_tdh). The one deviation is list_crane_fittings, which starts with a verb rather than a noun, but it is still clear and matches the underscore-separated lowercase style.

    Tool Count5/5

    With 11 tools, the set is well-scoped for a chemical/process engineering domain. Each tool covers a distinct design step, and the count is within the ideal 3-15 range without feeling sparse or bloated.

    Completeness4/5

    The toolset covers a complete liquid piping and pump design workflow: fluid properties, tank capacity, pipe sizing, wall thickness, pressure drop, pump head/NPSH/power, and valve Cv. Minor gaps exist for gas/compressible flow calculations, but the domain appears intentionally liquid-focused.

  • Average 3.3/5 across 11 of 11 tools scored. Lowest: 2/5.

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

    • No community issues in the last 6 months
    • 8 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is failing
  • This repository is licensed under Apache 2.0.

  • 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?

    With no annotations provided, the description must disclose behavioral traits, but it only states the computed outputs. It does not mention whether the tool is a pure calculation, assumptions about constant consumption, or how working_fraction affects results. There is no mention of error handling or limitations.

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

    Conciseness2/5

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

    The description is an under-specified fragment rather than a clear, structured sentence. While it is short, it does not earn its place because it introduces ambiguity. A well-structured description would state the calculation and key inputs at minimum.

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

    Completeness1/5

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

    Given the tool's moderate complexity (3 parameters, no annotations, output schema present), the description is drastically incomplete. It does not explain the relationship between autonomy, consumption, and tank volume, nor the meaning of working versus nominal volume. An agent would struggle to decide when and how to invoke this tool.

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

    Parameters1/5

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

    The description fails to explain any of the three parameters, and schema description coverage is 0%. It hints at 'working/nominal' volume, which relates to working_fraction, but does not explicitly map inputs to roles. The consumption parameter is entirely absent from the description, so an agent cannot correctly construct arguments.

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

    Purpose3/5

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

    The description identifies the tool as computing storage-tank working/nominal volume and residence time, which indicates its function. However, it lacks an explicit verb and omits the consumption input, making the purpose somewhat vague. It does distinguish itself from siblings as a tank-sizing calculation.

    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 comparing to pipe sizing or pump calculations. It does not state inputs, prerequisites, or typical use cases. This is a significant omission for tool selection.

    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 transparency, but it only says 'check' without disclosing whether it calculates required thickness, returns pass/fail, uses schedule data, or has side effects. This is a substantial gap for an engineering calculation tool.

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

    Conciseness3/5

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

    The description is a single, front-loaded sentence with no wasted words, naming the relevant standard. However, it is too sparse to be considered well-structured for an 8-parameter tool, omitting essential context that should accompany such a calculation.

    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?

    Although an output schema exists, the 8-parameter complexity and absence of annotations are not addressed. The description does not explain the calculation basis, assumptions, or how inputs relate, making it incomplete for an engineering tool of this scope.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description does not explain any of the 8 parameters (e.g., design_pressure_mpa, coefficient_y, weld_joint_efficiency). It mentions 'schedule' but leaves the agent to infer the meaning and units of all inputs from names alone.

    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 states a specific verb ('check'), a resource ('wall'), the governing standard ('ASME B31.1'), and a scope ('against a selected schedule'), which clearly identifies the tool's function and distinguishes it from siblings like pipe_size_select. However, it does not explicitly clarify whether it computes minimum required thickness or validates an existing wall thickness.

    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?

    No guidance is provided on when to use this tool versus alternatives, prerequisites, or exclusion scenarios. The description only states the function without helping the agent choose between this and sibling tools such as pipe_size_select or dp_segment_liquid.

    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 only states that NPSH available is computed and that a margin check occurs when NPSHr is given. It does not explain the governing equation, assumptions, required system context, or what happens when inputs are missing. This is insufficient for a calculation 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, terse line with no wasted words. It conveys the core purpose efficiently, though it reads more like a fragment than a complete sentence. For a tool of this simplicity, the brevity is acceptable, but it sacrifices completeness for conciseness.

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

    Completeness1/5

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

    This is a 7-parameter engineering calculation tool with no annotations and only a vague description. It does not specify the NPSH formula, units, prerequisites, or any special cases. While an output schema exists, the description alone leaves the agent with too little information to correctly invoke the tool or interpret results. This falls well below the minimum viable threshold.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description only references NPSHr (the optional margin-check input). It provides no explanation of vapor pressure, density, static suction head, suction loss, surface gauge pressure, or atmospheric pressure. Since the description must compensate for the lack of parameter documentation and it does not, this is a critical gap.

    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 calculating NPSH available at the pump, using domain-specific terminology. It distinguishes from sibling tools like pump_tdh and pump_power by focusing on NPSH, and also hints at a margin-check capability. However, it lacks an explicit verb like 'calculate' or 'compute', making it slightly less direct.

    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 context: NPSH available is calculated, and when NPSHr is supplied, a margin check is performed. It does not provide explicit guidance on when to use this tool versus alternatives, but there are no other NPSH tools among siblings, so the context is reasonably clear. No exclusions or prerequisites are mentioned.

    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 must carry the full burden. It discloses the selection criterion (smallest, velocity limit) but omits important behavioral details such as error handling when no pipe size satisfies the constraints, the role of the optional min_velocity_m_s parameter, or any interaction with schedule_name. This is a significant gap for a selection tool.

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

    Conciseness3/5

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

    The description is a single concise sentence, but it is under-specified for a tool with four parameters and no annotation support. While it is front-loaded and free of fluff, the lack of necessary detail makes it barely adequate, not appropriately sized.

    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?

    Despite having an output schema, the description is incomplete for a tool with four parameters including an optional min_velocity_m_s and schedule_name. It does not clarify how the velocity limit is applied, whether schedule affects selection, or what happens if no size meets the criteria. The description covers only a fraction of the tool's behavioral surface.

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

    Parameters1/5

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

    Schema description coverage is 0% and the description does not explain any parameter. The phrase 'velocity limit' is ambiguous—it could refer to max_velocity_m_s only or both min and max limits. The description adds no meaning beyond the raw parameter names, which are not self-explanatory for units or usage.

    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: selecting the smallest ASME B36.10M pipe based on a velocity limit. It uses a specific verb and resource, and the mention of ASME B36.10M distinguishes it from sibling tools like pipe_wall_thickness or fluid property calculators.

    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 pipe sizing under a velocity constraint, but it does not explicitly state when to use this tool versus alternatives. No exclusions or alternative tool references are given, leaving the context to be inferred from the tool name and sibling list.

    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 present, so the description must carry the behavioral disclosure burden. It only lists input categories and gives no details about assumptions, defaults (e.g., density), return values, or potential limitations.

    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 zero wasted words. It immediately front-loads the core purpose, making it easy for an agent to scan.

    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 6 parameters, no schema descriptions, and no annotations, this description is extremely thin. It lacks essential guidance on formula, parameter defaults, and usage context, making it insufficient for reliable 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?

    With 0% schema description coverage, the tool description is the only textual explanation. It maps 'static lift' to static_head_m, 'line losses' to suction/discharge losses, and 'pressures' to gauge pressures, but omits density_kg_m3 and does not explain parameter relationships or units.

    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 states that the tool computes pump total dynamic head from static lift, line losses, and pressures. This clearly distinguishes it from sibling tools like pump_npsha and pump_power, though the phrasing 'Pump total dynamic head' lacks an explicit verb like 'calculate'.

    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?

    No guidance is provided on when to use this tool versus alternatives. There is no mention of scenarios, exclusions, or comparisons to related tools such as pump_npsha or pump_power.

    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 must fully disclose behavioral traits. It names the calculation method but does not state assumptions (e.g., incompressible flow), limitations, or even confirm it is a read-only operation. This sparse disclosure is insufficient for a tool with this complexity.

    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, concise sentence that front-loads the core purpose without wasted words. It is efficient, though perhaps too terse to be fully useful, it earns its place.

    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?

    With 9 parameters, no annotations, and no schema descriptions, the description is grossly incomplete. It does not explain how fittings are handled, what schedule_name refers to, or any return value behavior. The output schema exists but the description still needs to provide more contextual glue.

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

    Parameters1/5

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

    Schema description coverage is 0% for top-level parameters, and the description adds no explanation of parameters like schedule_name, roughness_mm, or fittings. The agent must rely on parameter titles alone, which are ambiguous for several inputs.

    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 calculates pressure drop using Darcy-Weisbach + Crane K for one liquid pipe segment. This specific method and scope distinguish it from sibling tools like pump_tdh and valve_cv_liquid.

    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 use for liquid pipe segments, but provides no explicit guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. The scope phrase gives some contextual clue but no direct comparison.

    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 provided, so the description carries the burden. It discloses that shaft power is only computed when an efficiency is supplied, which is useful behavioral context. However, it omits details such as output format, units, or error 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?

    A single, front-loaded sentence with no redundant words or fluff. It is appropriately concise for the amount of information conveyed.

    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?

    An output schema exists, so return values need not be described. However, the tool has no annotations and minimal description, leaving out usage guidance, unit conventions, or broader context that would help an agent select it confidently.

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

    Parameters2/5

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

    Schema coverage is 0%, so the description must compensate. It clarifies that pump_efficiency is optional and alters the output to include shaft power, but it does not explain the meaning or units of the three required parameters beyond their self-descriptive names.

    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 computing hydraulic power and optionally shaft power when efficiency is provided. It distinguishes itself from siblings like pump_tdh and pump_npsha, which focus on head and NPSH rather than power, though it lacks an explicit verb.

    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 by naming the calculation, but it does not explicitly say when to use this tool versus alternatives. The conditional phrase 'when an efficiency is supplied' hints at a mode switch, but there are no direct usage scenarios or 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?

    No annotations are provided, so the description carries the full burden of disclosure. It explains the behavioral distinction between single-phase and saturation input modes and notes it is a custom implementation. However, it does not disclose valid ranges, error behavior, or what specific properties are returned (the output schema covers returns). This is useful but incomplete.

    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: two sentences, with the purpose front-loaded in the first sentence and usage instructions in the second. Every sentence earns its place, and there is no redundant or filler content.

    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?

    Despite lacking annotations, the description covers the essential usage distinction and an output schema exists, so return values do not need to be described. The main gap is the absence of valid pressure/temperature ranges for IAPWS-IF97, but the description is otherwise sufficient for a fluid properties tool with simple inputs.

    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 input schema has zero description coverage, so the description must compensate. It directly explains the relationship between temperature_c and pressure_bar_a: both for single-phase, only one for saturation. This adds meaning beyond the schema's basic names and types. Unit hints are already in the parameter names (C, bar_a), so the description need not repeat them.

    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 the resource as 'Water/steam properties' and specifies the implementation standard (IAPWS-IF97), clearly distinguishing it from the sibling tool fluid_props_liquid. The verb 'Give' implies retrieval/calculation, though it is not as explicit as 'calculates' or 'returns'.

    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 explicit instructions on when to supply both parameters versus only one: 'Give both pressure and temperature for a single-phase state; only one of them for saturation properties at that pressure or temperature.' This gives clear context for using the tool. It does not explicitly mention alternatives like 'use fluid_props_liquid for liquid properties', so it falls short of a 5.

    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 of explaining behavior. It accurately conveys that the tool returns fitting keys and K basis values, but does not explicitly state that it is a read-only operation or describe any side effects. The behavior is straightforward for a list tool, so this is adequate but not detailed.

    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 concise sentence that front-loads the verb and resource, with no unnecessary words. It is appropriately sized for a zero-parameter tool.

    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 zero-parameter tool with an output schema, the description is complete. It states the purpose and the connection to dp_segment_liquid, which is sufficient for an agent to select and invoke the tool correctly.

    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?

    There are no parameters, so the baseline is 4. The description correctly focuses on the tool's output rather than parameter semantics, as there are no parameters to document.

    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 the specific verb 'List' and identifies the exact resource: fitting keys accepted by dp_segment_liquid, including their K basis. This clearly distinguishes it from sibling tools like dp_segment_liquid itself, which performs pressure drop calculations, and other fluid/pipe tools.

    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 use for retrieving valid fitting keys for dp_segment_liquid but does not explicitly state when to use this vs alternatives. It could be clearer about being a lookup utility for pressure drop calculations, but the connection to dp_segment_liquid provides reasonable context.

    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, the description carries the burden of disclosing assumptions. It states the calculation basis (ISA 75.01, turbulent liquid, Fp=1) and the optional choking check, plus a practical hint for water (critical_pressure_bar_a = 220.64). This is strong for a non-destructive calculation tool, though it does not describe the exact output 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 two short sentences, front-loaded with the core purpose, and every clause adds value. It is not padded or redundant, making it easy for an agent to parse quickly.

    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 has an output schema, the description does not need to explain return values. It covers the calculation scope, flow regime, Fp assumption, and the optional pressure parameters for choking. The only notable gap is the unexplained 'fl' parameter, but overall the description is sufficiently complete for a 7-parameter 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 description adds meaning to the optional pressure parameters (inlet/vapor/critical) by explaining their role in the choked-flow check, and provides a concrete example value for water. However, it does not explain the 'fl' parameter (default 0.9) or the exact expected units/format for the core parameters. With 0% schema coverage, partial compensation is achieved.

    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 computes ISA 75.01 required Cv/Kv for turbulent liquid flow, which is a specific verb+resource and distinguishes it from pump, pipe, and fluid property tools. The mention of Fp=1 further narrows its scope.

    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 gives clear context for when to use the tool (turbulent liquid flow, Fp=1) and specific guidance for optional parameters to enable the choked-flow check. It does not explicitly mention alternatives, but sibling tool names make the domain obvious.

    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 bears responsibility for disclosures. It reveals that a single preset ('diesel_no2') is currently available and that custom fluids are fit using ASTM D341, giving insight into calculation methods. It does not state explicitly that the operation is read-only or free of side effects, but for a property-lookup tool this is reasonably implied.

    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 two sentences long, front-loads the primary purpose in the first sentence, and uses the second to methodically list the two input modes. No filler or redundant information.

    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?

    The tool has 5 parameters, no annotations, and an output schema, so the description does not need to explain return shape. It covers the main functionality and parameter semantics, but leaves some implicit rules about combining preset and custom fields and about the appropriate use of each mode, which could be ambiguous for an agent.

    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?

    Schema description coverage is 0%, so the description must supply meaning. It does so by explaining preset vs custom modes, detailing the viscosity_points format as [[T_degC, cSt], [T_degC, cSt]], and mentioning units for vapor pressure (kPa). This gives an agent sufficient understanding to populate parameters correctly.

    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 computes density, viscosity, and vapor pressure for petroleum liquids at a specified temperature. It distinguishes itself from the sibling fluid_props_steam by explicitly targeting liquids, and from other sizing/selection tools by its fluid-properties scope.

    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 establishes clear context for use—petroleum liquid property calculations—and explains the two input modes (preset or custom) which helps an agent decide what parameters to supply. However, it does not explicitly mention alternatives like fluid_props_steam or when not to use this tool, so it lacks formal exclusion guidance.

    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

ccpp-tools-mcp MCP server

Copy to your README.md:

Score Badge

ccpp-tools-mcp MCP server

Copy to your README.md:

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/jinhyunan/ccpp-tools-mcp'

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