Skip to main content
Glama
RyanCardin15

noaa-tidesandcurrents-mcp

by RyanCardin15

Server Quality Checklist

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

  • Disambiguation4/5

    Most tools have clearly distinct purposes targeting specific data types like tides, currents, water levels, flooding, sun/moon events, and station metadata. However, some potential overlap exists between 'get_current_predictions' and 'get_currents' (both related to currents) and among the multiple high tide flooding tools (daily, monthly, seasonal, annual), though their descriptions help differentiate timeframes.

    Naming Consistency5/5

    All 24 tools follow a consistent 'get_*' verb_noun pattern with snake_case, making them predictable and readable. The naming convention is uniform throughout, with no deviations in style or structure.

    Tool Count3/5

    With 24 tools, the count is borderline high for a focused domain like NOAA tides and currents data. While it covers many specific data types, it might feel heavy compared to typical well-scoped servers (3-15 tools), potentially overwhelming agents with numerous similar options.

    Completeness5/5

    The tool set provides comprehensive coverage for the NOAA tides and currents domain, including station lookup, various water/current/tide data, flooding projections, sun/moon events, and metadata. There are no obvious gaps; agents can access all relevant data types and workflows without dead ends.

  • Average 2.9/5 across 24 of 24 tools scored. Lowest: 2/5.

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

    • No community issues in the last 6 months
    • 11 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 passing
  • 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.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

  • Behavior1/5

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

    No annotations are provided, so the description carries full burden for behavioral disclosure. It only states the action ('Get') without any details on permissions, rate limits, response format, pagination, or error handling. For a tool with 11 parameters and no output schema, this is a significant gap in transparency.

    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 extremely concise with just three words, which is efficient and front-loaded. However, it's arguably under-specified rather than optimally concise, as it lacks necessary detail for such a complex tool, but it doesn't waste words.

    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?

    Given the complexity (11 parameters, no output schema, no annotations) and rich sibling context, the description is incomplete. It doesn't explain what 'predictions' entail, the return values, or behavioral aspects. The high parameter coverage in the schema helps, but the description fails to provide essential context for effective tool use.

    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 schema description coverage is 100%, with all parameters well-documented in the input schema (e.g., descriptions for 'date', 'format', 'units'). The description adds no additional parameter information beyond what's in the schema, so it meets the baseline of 3 for high coverage without extra value.

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

    Purpose2/5

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

    The description 'Get current predictions' is essentially a tautology of the tool name 'get_current_predictions'. It doesn't specify what type of predictions (e.g., tide, water level, weather) or for what resource, making it vague. While it distinguishes from some siblings like 'get_stations', it doesn't clarify how it differs from similar tools like 'get_tide_predictions' or 'get_water_levels'.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines1/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. With many sibling tools (e.g., 'get_tide_predictions', 'get_water_levels', 'get_currents'), there's no indication of context, prerequisites, or exclusions. This leaves the agent guessing about the appropriate use case.

    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?

    No annotations are provided, so the description carries full burden for behavioral disclosure. 'Get meteorological data' reveals nothing about authentication requirements, rate limits, data freshness/latency, error conditions, pagination, or what the response structure looks like. For a tool with 9 parameters and no output schema, this leaves the agent completely in the dark about how the tool actually behaves.

    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 maximally concise at just three words. While this represents severe under-specification rather than ideal conciseness, from a pure structural perspective, there's zero wasted language. Every word ('Get', 'meteorological', 'data') contributes to the minimal meaning provided.

    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?

    For a complex tool with 9 parameters, 2 required parameters, no annotations, and no output schema, the description is completely inadequate. The agent needs to understand what meteorological data means in this specific API context, how it differs from sibling tools, what the response contains, and any behavioral constraints. The three-word description provides none of this essential context.

    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 schema has 100% description coverage with detailed parameter documentation, so the baseline is 3. The description adds no additional parameter information beyond what's already in the schema. It doesn't explain relationships between parameters (like how 'date' interacts with 'begin_date' and 'end_date'), provide examples, or clarify ambiguous aspects like what 'recent' means for the date parameter.

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

    Purpose2/5

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

    The description 'Get meteorological data' is a tautology that essentially restates the tool name. While it includes a verb ('Get') and resource ('meteorological data'), it lacks specificity about what meteorological data means in this context and doesn't distinguish this tool from its many siblings (like get_current_predictions, get_water_levels, etc.). It doesn't clarify if this is for historical data, forecasts, or current conditions.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines1/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides absolutely no guidance on when to use this tool versus alternatives. With 22 sibling tools available (many related to water levels, tides, sun/moon events, and station data), the agent has no indication whether this tool is for weather data specifically, what timeframes it covers, or how it differs from other meteorological-related tools that might exist in the 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 provided, so the description carries the full burden of behavioral disclosure. 'Get currents data' implies a read-only operation, but the description doesn't mention authentication requirements, rate limits, data freshness, pagination, or error conditions. For a data retrieval tool with 9 parameters, this leaves significant behavioral aspects unspecified.

    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, efficient sentence with zero wasted words. It's appropriately sized for a tool with comprehensive schema documentation and gets straight to the point without unnecessary elaboration.

    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?

    Given the complexity (9 parameters, no output schema, no annotations), the description is inadequate. It doesn't explain what 'currents data' includes, the data format returned, or how it relates to sibling tools. For a specialized data retrieval tool in a domain with many similar tools, more context is needed to understand its specific role.

    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 all 9 parameters thoroughly with descriptions, enums, and constraints. The description adds no additional parameter semantics beyond what's in the schema, so it meets the baseline of 3 where the schema does the heavy lifting.

    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 'Get currents data for a station' clearly states the action (get) and resource (currents data for a station), but it's vague about what 'currents data' entails (e.g., ocean currents, river currents, electrical currents). It doesn't distinguish this tool from siblings like 'get_water_levels' or 'get_tide_predictions', which might provide related hydrological data.

    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. With many sibling tools for water levels, tides, and meteorological data, there's no indication of when 'currents data' is specifically needed or what distinguishes it from other data retrieval tools in this domain.

    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 states the tool 'gets' data, implying a read-only operation, but doesn't disclose other traits such as rate limits, authentication needs, data format defaults, or what happens with missing parameters. This leaves significant gaps for a tool with 7 parameters and no output schema.

    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, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, with zero waste, making it easy to parse quickly.

    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?

    Given the complexity (7 parameters, no annotations, no output schema), the description is incomplete. It doesn't explain the return values, data structure, or behavioral context needed for effective use. While the schema covers parameters well, the lack of output details and behavioral transparency makes this inadequate for a data retrieval tool with multiple siblings.

    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 no parameter semantics beyond what the input schema provides. With 100% schema description coverage, the schema already documents all 7 parameters thoroughly, including enums and formats. The description doesn't compensate by explaining interactions between parameters (e.g., how 'year_range' relates to 'begin_date'/'end_date'), so it meets the baseline of 3.

    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 states the tool retrieves 'high tide flooding annual count data for a station', which is clear but vague about the specific verb and scope. It distinguishes from siblings like 'get_high_tide_flooding_daily' by specifying 'annual', but doesn't fully differentiate from other flooding tools like 'get_high_tide_flooding_projections' or 'get_high_tide_flooding_likelihoods' in terms of data type or use case.

    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 explicit guidance on when to use this tool versus alternatives is provided. The description doesn't mention prerequisites, context for choosing annual data over daily/monthly/seasonal flooding data, or comparisons to other flooding-related tools in the sibling list. Usage is implied by the name but not elaborated.

    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. 'Get list of stations' implies a read-only operation, but it doesn't disclose important behavioral traits like whether this returns all stations or a filtered subset, pagination behavior, rate limits, authentication requirements, or what the response format looks like. The description is too minimal for a tool with no annotation coverage.

    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 at just three words ('Get list of stations'), which is appropriately sized for a simple retrieval tool. It's front-loaded with the core purpose and contains zero wasted words or redundant information.

    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?

    Given the tool has no annotations, no output schema, and operates in a context with many similar sibling tools, the description is incomplete. It doesn't explain what the tool returns, how to interpret results, or how it differs from related tools. For a retrieval tool in a rich API environment, more context is needed to guide proper usage.

    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 100% schema description coverage, the schema already documents all three parameters (format, type, units) with descriptions and enums. The description adds no parameter information beyond what's in the schema, so it meets the baseline of 3 where the schema does the heavy lifting, but doesn't provide additional context about how parameters interact or typical usage patterns.

    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 'Get list of stations' clearly states the verb ('Get') and resource ('stations'), but it's vague about scope and doesn't differentiate from sibling tools like 'get_station_details' or 'get_water_levels'. It doesn't specify what kind of stations (e.g., water level stations, current stations) or what information is included in the list.

    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. With many sibling tools available (e.g., 'get_station_details' for detailed information, 'get_water_levels' for water level data), there's no indication of when this list retrieval is appropriate versus when other tools should be used instead.

    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. 'Get tide prediction data' implies a read operation but reveals nothing about authentication requirements, rate limits, error conditions, response format, pagination, or whether this is a real-time vs. historical data source. For a 10-parameter tool with no annotation coverage, this is insufficient.

    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 maximally concise at three words with zero wasted language. It's appropriately sized for what it communicates, though the brevity contributes to its informational shortcomings in other dimensions.

    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?

    Given the tool's complexity (10 parameters, no output schema, no annotations, and 22 sibling tools), the description is inadequate. It doesn't explain what 'tide prediction data' actually contains, how it differs from sibling tools, what the response looks like, or any behavioral constraints. The agent would struggle to use this effectively without trial and error.

    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 no parameter information beyond what's already in the schema (which has 100% description coverage). While the schema thoroughly documents all 10 parameters with descriptions, enums, and requirements, the description doesn't provide additional context about how parameters interact (e.g., date vs. begin_date/end_date) or typical usage patterns.

    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 'Get tide prediction data' clearly states the verb ('Get') and resource ('tide prediction data'), making the purpose understandable. However, it doesn't differentiate this tool from its many siblings (like 'get_current_predictions', 'get_water_levels', etc.), leaving ambiguity about what specific type of tide prediction data this provides versus alternatives.

    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 the 22 sibling tools listed. It doesn't mention any prerequisites, alternatives, or specific contexts where this tool is preferred over others (like 'get_current_predictions' or 'get_water_levels'), leaving the agent with no usage differentiation.

    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 mentions 'Get extreme water levels and exceedance probabilities,' which implies a read-only operation, but does not cover aspects like rate limits, authentication needs, data freshness, or error handling. This leaves significant gaps in understanding the tool's behavior.

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

    Conciseness4/5

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

    The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded with the core action, but could be slightly improved by adding brief context to enhance clarity without sacrificing conciseness.

    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?

    Given the tool's moderate complexity (3 parameters, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose but lacks details on behavioral traits, usage context, and output expectations. With no output schema, it should ideally hint at return values, but it does not, leaving some gaps in completeness.

    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%, with clear descriptions for all parameters (station, format, units) including enums. The description does not add any meaning beyond what the schema provides, such as explaining what 'extreme water levels' entail or how 'exceedance probabilities' are calculated. Given the high schema coverage, a baseline score of 3 is appropriate.

    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 states the action ('Get') and the resource ('extreme water levels and exceedance probabilities for a station'), making the purpose understandable. However, it does not explicitly differentiate this tool from sibling tools like 'get_top_ten_water_levels' or 'get_water_levels', which might also involve water level data, so it lacks sibling distinction.

    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. With many sibling tools related to water levels, tides, and flooding, there is no indication of specific contexts, prerequisites, or exclusions for selecting this tool over others, leaving usage unclear.

    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 full burden but offers minimal behavioral insight. It states it 'gets' data (implying read-only), but doesn't disclose rate limits, authentication needs, data freshness, or what 'count data' entails (e.g., aggregated values). For a data retrieval tool with 7 parameters, this leaves significant gaps in understanding its operation.

    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, efficient sentence that front-loads the core purpose without wasted words. It directly communicates the tool's function in a compact form, making it easy to parse.

    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 7 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what 'daily count data' returns (e.g., time series, totals), how parameters like 'datum' or 'threshold' affect results, or error conditions. Given the complexity and lack of structured metadata, more context is needed for effective use.

    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 fully documents all 7 parameters with descriptions and enums. The description adds no parameter-specific information beyond implying a 'station' is required. Baseline 3 is appropriate as the schema does the heavy lifting, though the description doesn't compensate with additional context like parameter interactions.

    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 states the tool's purpose as 'Get high tide flooding daily count data for a station', specifying the verb ('Get'), resource ('high tide flooding daily count data'), and target ('for a station'). It distinguishes from siblings like get_high_tide_flooding_annual by specifying 'daily' granularity, though it doesn't explicitly contrast with other flooding tools like monthly or seasonal.

    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. It doesn't mention sibling tools like get_high_tide_flooding_monthly or get_high_tide_flooding_annual, nor does it specify prerequisites or context for choosing daily data over other timeframes.

    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. The description only states what the tool does without revealing any behavioral traits such as data format, rate limits, authentication needs, or potential side effects. For a tool with multiple parameters and no annotations, this is a significant gap in transparency.

    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, clear sentence that efficiently conveys the tool's purpose without unnecessary words. It is front-loaded and to the point, making it easy to parse and understand quickly. Every part of the description earns its place by specifying key elements like 'decadal projections' and 'sea level rise scenarios.'

    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?

    Given the complexity of the tool (6 parameters, no annotations, no output schema), the description is insufficient. It lacks details on behavioral aspects, usage context, and output expectations. Without annotations or an output schema, the description should provide more context about what the tool returns and how to interpret results, but it does not, leaving significant gaps for an AI agent.

    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 input schema has 100% description coverage, with detailed descriptions and enums for parameters like 'datum,' 'decade,' 'format,' 'scenario,' 'station,' and 'threshold.' The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline score of 3, as the schema adequately documents the parameters.

    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 states the tool's purpose: 'Get high tide flooding decadal projections for sea level rise scenarios.' It specifies the verb ('Get'), resource ('high tide flooding decadal projections'), and context ('sea level rise scenarios'), making it easy to understand. However, it does not explicitly differentiate from sibling tools like 'get_high_tide_flooding_annual' or 'get_high_tide_flooding_monthly,' which reduces clarity in distinguishing between similar 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/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. It does not mention sibling tools, specify scenarios where this tool is preferred, or outline any prerequisites or exclusions. This lack of context makes it challenging for an AI agent to select this tool appropriately among the many related flooding and prediction tools available.

    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 states what the tool does ('Get... data') without detailing aspects like whether it's a read-only operation, potential rate limits, authentication needs, error handling, or data freshness. For a tool with 8 parameters and no annotation coverage, this is a significant gap in transparency.

    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, efficient sentence: 'Get high tide flooding seasonal count data for a station.' It is front-loaded with the core purpose, has zero wasted words, and is appropriately sized for the tool's complexity. Every part of the sentence earns its place by specifying the action, data type, and target.

    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?

    Given the tool's complexity (8 parameters, no output schema, no annotations), the description is incomplete. It lacks information on return values (e.g., data structure, units), usage context relative to siblings, and behavioral traits like error conditions or performance. For a data retrieval tool with multiple parameters and no structured output documentation, the description should provide more guidance to be fully helpful.

    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 schema description coverage is 100%, with detailed descriptions for all 8 parameters, including enums and formats. The description adds no additional parameter semantics beyond the schema, such as explaining interactions between parameters (e.g., how 'season_months' relates to 'begin_date' and 'end_date'). Given the high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.

    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 states the tool's purpose: 'Get high tide flooding seasonal count data for a station.' It specifies the verb ('Get'), resource ('high tide flooding seasonal count data'), and scope ('for a station'), which is specific and actionable. However, it doesn't explicitly differentiate from its siblings like 'get_high_tide_flooding_annual' or 'get_high_tide_flooding_monthly' beyond the 'seasonal' qualifier, which is why it doesn't reach a 5.

    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. With multiple sibling tools for high tide flooding data (e.g., annual, daily, monthly, seasonal), it fails to specify scenarios where seasonal data is preferred, prerequisites, or exclusions. This leaves the agent without context for tool selection among similar options.

    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 but only states the basic action without details on permissions, rate limits, data sources, or response behavior. It doesn't mention if location parameters are optional or how missing data is handled, leaving significant gaps in understanding the tool's operational traits.

    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 and front-loaded, consisting of a single, clear sentence that directly states the tool's purpose without any unnecessary words or fluff. Every part of the sentence earns its place by conveying essential information efficiently.

    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?

    Given the tool's complexity (5 parameters, no output schema, and no annotations), the description is incomplete. It lacks details on behavioral aspects, output format implications, and usage context, making it insufficient for an AI agent to fully understand how to invoke and interpret results without relying heavily on the schema alone.

    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 schema description coverage is 100%, with all parameters well-documented in the input schema, so the description doesn't need to add parameter details. It implies a date range but doesn't provide extra semantic context beyond what the schema offers, aligning with the baseline score for high schema coverage.

    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 states the tool's purpose with a specific verb ('Get') and resource ('moon phase information for a date range'), making it easy to understand what it does. However, it doesn't explicitly differentiate from its sibling tool 'get_moon_phase', which might be for a single date, leaving some ambiguity about when to choose one over the other.

    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 the sibling 'get_moon_phase' or other related tools like 'get_next_moon_phase'. It lacks context about prerequisites, exclusions, or specific scenarios where this tool is preferred, offering only a basic functional statement without usage instructions.

    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 full burden but offers minimal behavioral insight. It mentions 'next occurrence(s)' which implies forward-looking temporal behavior, but doesn't disclose rate limits, error conditions, data sources, or output structure (e.g., whether results are sorted chronologically). For a tool with 4 parameters and no output schema, this is inadequate.

    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, efficient sentence that front-loads the core functionality with zero wasted words. It directly communicates the tool's purpose without redundancy or fluff, 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.

    Completeness2/5

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

    Given 4 parameters, no annotations, and no output schema, the description is insufficient. It lacks behavioral details (e.g., how results are returned, error handling), doesn't explain the relationship with sibling tools, and provides no context on data accuracy or limitations. For a tool with moderate complexity, this leaves significant gaps for an agent.

    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 parameters are well-documented in the schema itself. The description adds no additional semantic context beyond implying temporal sequencing ('next'). It doesn't explain parameter interactions (e.g., how 'date' and 'count' work together) or format details, so it meets the baseline but doesn't enhance understanding.

    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 states the verb ('Get') and resource ('next occurrence(s) of a specific moon phase'), making the purpose unambiguous. It distinguishes from sibling tools like 'get_moon_phase' (current phase) and 'get_moon_phases_range' (range of phases), though not explicitly named. However, it doesn't fully differentiate from 'get_next_sun_event', which has a similar temporal pattern but different resource.

    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 like 'get_moon_phase' (current phase) or 'get_moon_phases_range' (multiple phases over a date range). The description implies usage for future occurrences but doesn't specify contexts or exclusions, leaving the agent to infer based on tool names alone.

    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 mentions retrieving 'trends and error margins,' which implies a read-only operation, but doesn't specify data freshness, rate limits, authentication requirements, or what the output format looks like (beyond the schema's format parameter). For a tool with no annotation coverage, this leaves significant behavioral gaps.

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

    Conciseness5/5

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

    The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy to parse quickly.

    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?

    Given the lack of annotations and output schema, the description is insufficient for a tool with 3 parameters and multiple siblings. It doesn't explain the return values (e.g., what 'trends' include, units, time periods), behavioral constraints, or differentiation from other station data tools, leaving the agent with incomplete context for effective use.

    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 schema description coverage is 100%, with clear descriptions for all parameters (station ID, affiliation, format). The description adds no additional parameter semantics beyond what the schema provides, such as explaining what 'trends' entail or how error margins are calculated. With high schema coverage, the baseline score of 3 is appropriate.

    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 states the action ('Get') and resource ('sea level trends and error margins for a station'), making the purpose understandable. However, it doesn't explicitly differentiate this tool from its many siblings that also retrieve various station-related data (e.g., get_current_predictions, get_water_levels), leaving room for ambiguity about when to choose this specific trend-focused tool.

    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. With multiple sibling tools like get_station_details, get_water_levels, and get_high_tide_flooding_annual that might overlap in station-based data retrieval, there's no indication of what makes this tool unique or when it's the appropriate choice.

    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 full burden for behavioral disclosure. It only states it 'gets' information without describing what 'detailed information' includes, whether authentication is needed, rate limits, error conditions, or response format. For a read operation with no annotation coverage, this is insufficient.

    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, efficient sentence that states the core purpose without unnecessary words. It's appropriately sized for a simple retrieval tool and front-loads the essential information.

    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 no annotations and no output schema, the description is inadequate. It doesn't explain what 'detailed information' includes, the response format, or how this differs from other station-related tools. Given the complexity implied by the sibling tools and lack of structured output information, more context is needed.

    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 schema has 100% description coverage, so parameters are well-documented in the schema itself. The description adds no additional parameter information beyond what's already in the schema descriptions. This meets the baseline expectation when schema coverage is complete.

    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 states the verb 'get' and resource 'detailed information about a station', making the purpose understandable. However, it doesn't differentiate this tool from its many siblings that also retrieve station-related data (e.g., get_stations, get_sea_level_trends), so it doesn't reach the highest score.

    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. With 20+ sibling tools focused on station data, there's no indication of what makes this tool distinct or when it's appropriate versus tools like get_stations or get_sea_level_trends.

    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 states the tool retrieves data but doesn't mention any behavioral traits such as rate limits, authentication requirements, data freshness, or potential side effects. For a data retrieval tool with no annotation coverage, this leaves significant gaps in understanding how the tool behaves in practice.

    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, clear sentence with no wasted words. It is appropriately sized and front-loaded, directly stating the tool's purpose without unnecessary elaboration, 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.

    Completeness2/5

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

    Given the complexity of 9 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what the returned water level data looks like (e.g., structure, units), how to handle multiple parameters like 'date' vs. 'begin_date/end_date', or any constraints on usage. For a tool with rich parameters but no structured output documentation, more context is needed.

    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 no parameter semantics beyond what's in the input schema, which has 100% coverage with detailed descriptions for all 9 parameters. Since the schema already fully documents parameters like 'station', 'date', and 'format', the description provides no additional value here, meeting the baseline score of 3 for high schema coverage.

    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 states the tool's purpose: 'Get water level data for a station'. It specifies the verb ('Get') and resource ('water level data'), making it understandable. However, it doesn't differentiate from sibling tools like 'get_extreme_water_levels' or 'get_top_ten_water_levels', which appear to retrieve similar water level data with different scopes or filters.

    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. With many sibling tools related to water levels (e.g., 'get_extreme_water_levels', 'get_top_ten_water_levels'), there is no indication of how this general water level data retrieval differs from those more specific tools, leaving the agent to guess based on tool names alone.

    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. While 'Get' implies a read-only operation, the description doesn't address important aspects like authentication requirements, rate limits, error conditions, or what the output looks like (e.g., data format, structure). For a tool with 5 parameters and no annotations, this is insufficient.

    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, clear sentence that efficiently communicates the core purpose without unnecessary words. It's appropriately sized and front-loaded with the essential information, 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.

    Completeness3/5

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

    Given the tool's complexity (5 parameters, no output schema, no annotations), the description is minimally adequate but has clear gaps. It states what the tool does but doesn't provide behavioral context or usage guidance. With no output schema, the agent doesn't know what to expect in return, which is a significant limitation for effective tool use.

    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 schema description coverage is 100%, with all parameters well-documented in the input schema. The description doesn't add any meaningful parameter semantics beyond what's already in the schema (e.g., it doesn't explain relationships between parameters or provide usage examples). Baseline 3 is appropriate when the schema does the heavy lifting.

    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 states the verb 'Get' and the resource 'high tide flooding daily likelihoods for a station', making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_high_tide_flooding_daily' or 'get_high_tide_flooding_annual', which appear to be related alternatives.

    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. With multiple sibling tools like 'get_high_tide_flooding_daily' and 'get_high_tide_flooding_annual' that seem related, there's no indication of what distinguishes this tool's functionality from those, leaving the agent without context for 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?

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves data but does not describe any behavioral traits such as rate limits, authentication requirements, error handling, or the structure of the returned data. For a data retrieval tool with no annotation coverage, this is a significant gap, warranting a score of 2.

    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, clear sentence that efficiently conveys the tool's purpose without unnecessary words. It is front-loaded with the core action and resource, making it easy to understand at a glance. This minimalistic approach earns a score of 5 for conciseness and structure.

    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?

    Given the tool's complexity (7 parameters, no output schema, and no annotations), the description is minimally adequate. It states what the tool does but lacks details on behavioral aspects, output format, or usage context. While the schema covers parameters well, the absence of annotations and output schema means the description should provide more context, resulting in a score of 3.

    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 does not add any parameter-specific information beyond what is already detailed in the input schema, which has 100% description coverage. It mentions 'for a station,' aligning with the required 'station' parameter, but provides no additional context on parameter usage, dependencies, or semantics. Given the high schema coverage, the baseline score of 3 is appropriate.

    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 states the tool's purpose: 'Get high tide flooding monthly count data for a station.' It specifies the verb ('Get'), resource ('high tide flooding monthly count data'), and target ('for a station'), making the action and scope unambiguous. However, it does not explicitly differentiate from sibling tools like 'get_high_tide_flooding_annual' or 'get_high_tide_flooding_daily,' which limits the score to 4.

    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. With multiple sibling tools for high tide flooding data (e.g., annual, daily, seasonal), there is no indication of the specific context or use cases for monthly data, nor any mention of prerequisites or exclusions. This lack of comparative guidance results in a score of 2.

    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 states what the tool does but doesn't disclose behavioral traits like whether it's read-only (implied by 'Get'), error handling, rate limits, authentication needs, or what happens with invalid inputs. For a tool with no annotation coverage, this is a significant gap in transparency.

    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, efficient sentence that directly states the tool's purpose. It's front-loaded with the core functionality and has zero wasted words, making it easy to parse quickly.

    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?

    Given no annotations, no output schema, and 4 parameters with full schema coverage, the description is minimally adequate. It covers the basic purpose but lacks behavioral context, usage guidance, and output details. For a tool with moderate complexity (location-based calculations), it should do more to compensate for missing structured data.

    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 fully documents all 4 parameters. The description doesn't add any parameter-specific details beyond what's in the schema (e.g., it doesn't explain how latitude/longitude affect calculations or when to use json vs. text format). With high schema coverage, the baseline is 3 even without extra param info in the description.

    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 states the verb ('Get') and resource ('moon phase information') with a specific scope ('for a specific date'). It distinguishes from siblings like 'get_moon_phases_range' (which covers date ranges) and 'get_next_moon_phase' (which focuses on future events). However, it doesn't explicitly mention how it differs from all siblings, so it's not a perfect 5.

    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. It doesn't mention siblings like 'get_moon_phases_range' for multiple dates or 'get_next_moon_phase' for upcoming phases. There's no context about prerequisites, limitations, or typical use cases.

    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 states the action ('Get') but doesn't explain what 'next occurrence(s)' entails (e.g., time-based calculations, location dependency, or output format details). For a tool with 7 parameters and no annotations, this lacks critical behavioral context like error handling or performance traits.

    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, clear sentence that efficiently conveys the core functionality without unnecessary words. It's front-loaded with the main action and resource, making it easy to grasp quickly, which is ideal for conciseness.

    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?

    Given the tool's complexity (7 parameters, no output schema, and no annotations), the description is minimal. It states the purpose but lacks details on output format, error conditions, or how it integrates with sibling tools. While the schema covers parameters well, the description doesn't compensate for missing behavioral context, making it adequate but incomplete.

    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 input schema has 100% description coverage, so parameters like 'event', 'latitude', and 'count' are well-documented in the schema. The description adds no additional semantic details beyond implying a sun event and occurrence count, which aligns with the schema but doesn't enhance understanding, meeting the baseline for high schema coverage.

    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 states the verb ('Get') and resource ('next occurrence(s) of a specific sun event'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_sun_times' or 'get_sun_times_range', which might offer similar functionality, so it falls short of a perfect score.

    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. With sibling tools like 'get_sun_times' and 'get_sun_times_range' available, there's no indication of how this tool differs in context or when it's the preferred choice, leaving usage ambiguous.

    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 states the tool retrieves information but doesn't cover aspects like rate limits, authentication needs, error handling, or the format of the returned sun position data. For a tool with no annotations, this is a significant gap in transparency.

    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, efficient sentence that front-loads the core purpose without unnecessary details. It's appropriately sized for the tool's complexity, with no wasted words, making it easy for an AI agent to parse quickly.

    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?

    Given the tool's moderate complexity (5 parameters, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose but lacks details on behavioral traits and usage guidelines. Without an output schema, it doesn't explain return values, which could be important for understanding the sun position data format.

    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 mentions 'date, time, and location,' which aligns with the parameters in the input schema (date, time, latitude, longitude). However, with 100% schema description coverage, the schema already fully documents all parameters, including defaults and constraints. The description adds no additional semantic value beyond what the schema provides, so it meets the baseline of 3.

    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 states the tool's purpose: 'Get sun position information for a specific date, time, and location.' It uses a specific verb ('Get') and identifies the resource ('sun position information'), but it doesn't explicitly differentiate from sibling tools like 'get_sun_times' or 'get_next_sun_event', which is why it doesn't earn a 5.

    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. It doesn't mention sibling tools or specify contexts where this tool is preferred, such as for astronomical calculations versus tide-related tools in the server. This lack of comparative guidance limits its utility for an AI agent.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It states what the tool does but doesn't disclose behavioral traits like rate limits, authentication needs, error handling, or what 'other sun event times' includes. For a tool with no annotations, this leaves significant gaps in understanding how it behaves operationally.

    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, efficient sentence that front-loads the core purpose. Every word earns its place with no redundancy or unnecessary elaboration, making it easy to parse quickly.

    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?

    Given no annotations and no output schema, the description is minimally complete for a read-only tool. It specifies the action and inputs but lacks details on output format (beyond parameter hints), error cases, or behavioral context. For a tool with 5 parameters and no structured output documentation, it should provide more guidance on what to expect.

    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 all parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema (e.g., it doesn't clarify 'other sun event times' or provide examples). Baseline 3 is appropriate when the schema does the heavy lifting.

    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 states the tool's purpose: 'Get sun rise/set and other sun event times for a specific date and location'. It specifies the verb ('Get'), resource ('sun rise/set and other sun event times'), and scope ('for a specific date and location'). However, it doesn't explicitly distinguish this tool from its sibling 'get_sun_times_range', which might handle date ranges rather than single dates.

    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. It doesn't mention sibling tools like 'get_sun_times_range' (for date ranges) or 'get_next_sun_event' (for next event), nor does it specify prerequisites or exclusions. Usage is implied by the description but not explicitly stated.

    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 states the tool retrieves data ('Get'), implying a read-only operation, but doesn't clarify authentication needs, rate limits, error conditions, or what 'other sun event times' includes. For a tool with no annotation coverage, this leaves significant gaps in understanding its 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 a single, efficient sentence that front-loads the core purpose without unnecessary words. Every element ('Get,' 'sun rise/set and other sun event times,' 'date range and location') earns its place, making it highly concise and well-structured.

    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?

    Given the tool's moderate complexity (6 parameters, no output schema, no annotations), the description is adequate but incomplete. It covers the basic purpose and parameters indirectly, but lacks details on output format, error handling, or behavioral traits. Without annotations or output schema, more context would be helpful for an AI agent to use it effectively.

    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 all parameters thoroughly (e.g., date formats, latitude/longitude ranges, timezone default). The description adds minimal value beyond the schema by mentioning 'date range and location,' which aligns with the required parameters. Baseline 3 is appropriate when the schema does the heavy lifting.

    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 states the tool's purpose: 'Get sun rise/set and other sun event times for a date range and location.' It specifies the action ('Get'), resource ('sun rise/set and other sun event times'), and scope ('date range and location'). However, it doesn't explicitly differentiate from sibling tools like 'get_sun_times' or 'get_next_sun_event', which likely have overlapping functionality.

    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. It doesn't mention sibling tools like 'get_sun_times' (likely for a single date) or 'get_next_sun_event' (likely for the next event), nor does it specify prerequisites or exclusions. Usage is implied by the parameters but not explicitly stated.

    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 states the tool retrieves data ('Get'), implying a read-only operation, but doesn't disclose any behavioral traits such as rate limits, authentication needs, error handling, or what the output looks like (e.g., format details beyond parameters). For a tool with no annotations, this is a significant gap in transparency.

    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, efficient sentence that front-loads the core purpose without any wasted words. It's appropriately sized for the tool's complexity, 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.

    Completeness3/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 (5 parameters, no output schema, no annotations), the description is minimally adequate. It states what the tool does but lacks details on behavioral context, output format implications, or differentiation from siblings. With no output schema, the description doesn't explain return values, which is a gap, but the high schema coverage helps offset this somewhat.

    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 input schema has 100% description coverage, with all parameters well-documented in the schema itself (e.g., 'analysis_type' as 'highest or lowest', 'datum' as 'Datum reference for DPAPI'). The description adds no additional meaning beyond what the schema provides, such as explaining parameter interactions or usage examples. With high schema coverage, the baseline score of 3 is appropriate.

    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 states the tool's purpose: 'Get top ten highest or lowest water levels for a station'. It specifies the verb ('Get'), resource ('water levels'), and scope ('top ten highest or lowest', 'for a station'). However, it doesn't explicitly distinguish this tool from sibling tools like 'get_extreme_water_levels' or 'get_water_levels', which likely serve similar purposes, so it doesn't reach the highest score.

    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. It doesn't mention sibling tools like 'get_extreme_water_levels' or 'get_water_levels', nor does it specify any prerequisites, exclusions, or contextual cues for selection. This leaves the agent without clear usage instructions.

    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 states the tool 'Get information' but doesn't specify whether this is a read-only operation, if it requires authentication, rate limits, or what the return format looks like (e.g., JSON structure). For a tool with no annotation coverage, this leaves significant gaps in understanding its 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 a single, clear sentence that efficiently conveys the tool's purpose without any wasted words. It is appropriately sized and front-loaded, making it easy to understand at a glance.

    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?

    Given the tool's low complexity (1 optional parameter, no nested objects) and high schema description coverage, the description is adequate but incomplete. It lacks details on behavioral aspects (e.g., read-only nature, output format) and there's no output schema, leaving gaps in understanding what information is returned. It meets minimum viability but has clear room for improvement.

    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 input schema has 100% description coverage, with the single parameter 'parameter' well-documented in the schema itself. The description adds no additional parameter semantics beyond what's in the schema (e.g., it doesn't explain the significance of the parameter types listed). With high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but also doesn't detract.

    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 states the tool's purpose with a specific verb ('Get information about') and resource ('valid parameter values for NOAA API requests'). It distinguishes itself from sibling tools that fetch actual data (e.g., get_current_predictions, get_tide_predictions) by focusing on metadata about parameter values. However, it doesn't explicitly name the sibling tools it differs from, which prevents a perfect score.

    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 by mentioning 'NOAA API requests' and the input schema suggests this tool helps understand valid values for other API calls. However, it lacks explicit guidance on when to use this tool versus alternatives (e.g., before making other NOAA API calls to validate parameters) or any exclusions. The context is clear but not fully articulated.

    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

Perigee-Tides MCP server

Copy to your README.md:

Score Badge

Perigee-Tides 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/RyanCardin15/Perigee-Tides'

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