Skip to main content
Glama
w00dbury

environment-mcp

by w00dbury

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool targets a unique combination of environmental domain (air quality, pollen, weather) and time dimension (current, forecast, history, alerts), making them clearly distinct. Even within the same domain, tools like weather_forecast_days and weather_forecast_hours are differentiated by granularity.

    Naming Consistency5/5

    All tool names follow a consistent lowercase_with_underscores pattern: domain_first (air_quality, pollen, weather) followed by a type modifier (current_conditions, forecast, history, alerts). There is no mixing of camelCase or other conventions.

    Tool Count5/5

    Nine tools is a well-scoped count for an environment API server covering three sub-domains. Each tool maps to a distinct Google API endpoint, and none are redundant or trivial, so the size feels appropriate.

    Completeness5/5

    The surface covers the full lifecycle of environmental data access for the included domains: current, forecast, and history for air quality; forecast for pollen; and current, forecast, history, and alerts for weather. No obvious dead ends or missing operations within the stated scope.

  • Average 3.3/5 across 9 of 9 tools scored. Lowest: 2.7/5.

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

    • No community issues in the last 6 months
    • 0 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
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It only repeats the schema limit of 240 hours and fails to mention pagination (pageToken/pageSize), units, or other operational behaviors, offering minimal 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 a single concise sentence plus a documentation link. It is appropriately sized and front-loaded, though the link could be considered supplementary rather than essential.

    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 too sparse. It omits details on pagination, units, language, and response structure, making it inadequate for effective use in complex scenarios.

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

    Parameters2/5

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

    Schema description coverage is 0%, and the description only adds value for the 'hours' parameter via the 240-hour limit. It does not explain unitsSystem, languageCode, pageToken, or pageSize, leaving most parameters semantically unexplained.

    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 provides 'up to 240 hours of hourly forecast', identifying the resource and scope. Although it lacks an explicit verb like 'get' or 'retrieve', it distinguishes from sibling tools like weather_forecast_days and weather_current_conditions by specifying 'hours'.

    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 given on when to use this tool versus alternatives like weather_forecast_days or weather_history_hours. The description only mentions the Google Weather API and the hour range, with no explicit 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?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It does mention the 'up to 24 hours' limitation, which is useful, but it fails to disclose pagination behavior, response format, required authentication, or any other operational constraints. The API link is a pointer, not a substitute for inline 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 a single sentence with a documentation link, making it concise and front-loaded. There is no redundant filler, though the link is not described in text. It is efficient but slightly too sparse to carry the necessary 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 seven parameters, no output schema, and no annotations, the description is not complete enough for an agent to use confidently. It provides a broad summary and a link, but leaves out essential operational details like required parameters, pagination, and return value structure.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description does not explain any of the seven parameters beyond implying that 'hours' is capped at 24. It does not mention latitude/longitude, pageToken, unitsSystem, or languageCode, so an agent cannot determine how to fill these parameters from the description alone.

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

    Purpose4/5

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

    The description clearly identifies the resource as historical hourly weather data limited to 24 hours, which distinguishes it from sibling tools like weather_forecast_hours and weather_current_conditions. However, it lacks an explicit verb such as 'retrieve' or 'get', making it slightly less direct.

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

    Usage Guidelines3/5

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

    The term 'historical' implicitly signals this is for past weather data rather than forecasts or current conditions, but there is no explicit guidance about when to choose this tool over alternatives or any exclusions. The sibling tool names help, but the description itself does not provide concrete usage direction.

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

  • Behavior2/5

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

    With no annotations, the description carries the full burden of behavioral disclosure. It only says 'public weather alerts intersecting a location' and provides a link, but it does not mention pagination behavior, response format, or any operational characteristics like rate limits or data freshness.

    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 sentence with no redundancy, plus a documentation link. It is front-loaded and efficient, with every word contributing to the core message.

    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?

    The tool has 5 parameters, no output schema, and no annotations, yet the description does not explain return values, pagination mechanics, or language handling. The external link may help, but the description itself is not self-sufficient for an agent to use the tool correctly without additional lookups.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description must compensate. It only hints that 'intersecting a location' relates to latitude/longitude, but says nothing about pageSize, pageToken, or languageCode semantics. The property names are self-explanatory, but the description adds minimal value beyond the schema.

    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 returns public weather alerts intersecting a location, which distinguishes it from sibling tools like current conditions or forecasts. The verb is implied rather than explicit ('public weather alerts intersecting a location' does not literally say 'retrieve'), but the resource and scope are clear.

    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 given on when to use this tool versus weather_forecast_days, weather_current_conditions, or other siblings. There are no exclusions, prerequisites, or alternative tool mentions.

    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?

    There are no annotations, so the description carries the full burden for behavioral disclosure. It names the API provider and gives a documentation URL, but does not disclose return format, units handling, rate limits, or whether the operation is read-only. This is minimal behavioral context beyond purpose.

    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 very concise and front-loaded, containing just the core purpose and a documentation link. It does not waste words, though it could be considered slightly under-specified for the tool's parameter and return complexity.

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

    Completeness2/5

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

    With no output schema and no annotations, the description should compensate by explaining what current conditions are returned (temperature, humidity, wind, etc.) and any caveats. It does not, leaving the agent with only a vague promise of 'current conditions' and an external URL.

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

    Parameters2/5

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

    Schema description coverage is 0%, and the description does not explain any parameters. 'At a location' vaguely implies latitude/longitude, but unitsSystem and languageCode are unaddressed, forcing the agent to rely only on the schema's names and enum values.

    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 returns 'current conditions at a location,' which is a specific resource and scope. It distinguishes from sibling forecast/history/air-quality tools by the word 'current,' though it lacks an explicit verb like 'get' or 'retrieve.'

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

    Usage Guidelines3/5

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

    The description implies use when current weather conditions are needed, and the sibling names help clarify alternatives. However, it does not explicitly state when to use this tool versus weather_forecast_days, weather_history_hours, or other weather-related tools.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the transparency burden. It does disclose a key behavioral trait: a limit of 'up to 10 days' and the daily nature of the forecast. However, it omits other behaviors like default units, pagination behavior, error handling, or authentication requirements. The external link may offer more details, but the description itself is sparse.

    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 highly concise: a single front-loaded sentence stating the core purpose and a link to official documentation. There is zero fluff or redundant content. Every word adds value, and the structure is optimal for quick scanning.

    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 (7 parameters, no output schema) and missing usage guidance, the description is incomplete. It provides a basic purpose but fails to contextualize parameters, clarify when to use it, or describe the return format. The external link might help, but the description should be self-sufficient for an AI agent to invoke the tool correctly.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description must compensate. It only adds meaning for the 'days' parameter by mentioning the 10-day limit. Parameters like pageSize, pageToken, unitsSystem, and languageCode are left unexplained. While the names are somewhat self-explanatory, the description does not clarify defaults or usage semantics, leaving a significant gap.

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

    Purpose4/5

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

    The description clearly states the tool provides 'up to 10 days of daily forecast,' identifying both the verb (provide/return) and resource (daily forecast). It distinguishes from siblings like weather_forecast_hours and weather_current_conditions by specifying daily granularity. A minor lack of an explicit verb like 'retrieve' 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 Guidelines2/5

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

    No guidance is given on when to use this tool versus alternatives such as weather_forecast_hours or weather_history_hours. The description does not mention any exclusions, prerequisites, or preferred scenarios. The only implicit hint is the tool's name and the phrase 'daily forecast,' but explicit usage direction is absent.

    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?

    There are no annotations, so the description must carry the full burden of behavioral disclosure. It only states 'daily pollen forecast' and a link, but does not describe the response format, pollen types, units, or any access requirements. The link may cover details, but the description itself is minimal.

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

    Conciseness5/5

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

    The description is a single concise sentence with an additional reference link. It is front-loaded with the most important information and contains no filler.

    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 simple numeric parameters and lack of output schema, the description is minimally complete: it explains the input scope (location, days) and the domain (pollen). However, it does not describe what the response contains, such as pollen types or severity indices, leaving some gaps.

    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 0% description coverage, so the description must compensate. It mentions 'at a location' (latitude/longitude) and '1–5 days' (days), which adds meaning, but it does not explain parameter names, formats, or constraints beyond what the schema already shows. This is adequate but not thorough.

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

    Purpose5/5

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

    The description clearly states the tool provides a daily pollen forecast for 1–5 days at a location, which distinguishes it from sibling tools for air quality and weather. The verb 'forecast' and resource 'pollen' make the purpose specific and unambiguous.

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

    Usage Guidelines4/5

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

    The description clearly implies use for pollen forecasting, which contrasts with the sibling tools for air quality and weather. It does not explicitly state when not to use it or name alternatives, but the domain is clear enough to guide selection.

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

  • Behavior3/5

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

    With no annotations, the description carries the full behavioral burden. It discloses that this is a POST lookup against a Google API and constrains `hours` to 1–720, but it does not mention authentication, rate limits, or response/error behavior, leaving important operational details implicit.

    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 dense sentence with no filler; it front-loads the purpose and packs in the endpoint, required parameter, and time-parameter options/range efficiently.

    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?

    For a tool with no output schema and an open additional-properties schema, the description gives enough to construct a basic request (endpoint, required param, time-filter options). Yet it omits response shape, pagination, units, and exact formats for `dateTime`/`period`, relying on the linked API docs, so completeness is adequate but not thorough.

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

    Parameters4/5

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

    The schema only defines `location` with `additionalProperties: true`, so the description adds critical semantics by naming the required `location` and optional time parameters (`period`, `dateTime`, `hours`) and the valid hours range. It compensates for the low schema coverage, though it does not specify formats for all params.

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

    Purpose4/5

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

    The description clearly identifies the tool as Google Air Quality API historical hourly data and names the exact history lookup endpoint, which distinguishes it from current conditions and forecast siblings. However, it lacks an explicit action verb (e.g., 'retrieves'), so it falls short of the top tier for verb+resource phrasing.

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

    Usage Guidelines4/5

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

    The description gives clear invocation context: it requires `location` and directs the agent to use `period`, `dateTime`, or `hours` (1–720) as time filters. It does not explicitly name sibling tools as alternatives, but 'historical hourly data' makes the appropriate use case clear.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the transparency burden. It discloses that the POST body matches a specific API reference and that optional fields are forwarded, but it doesn't explain the response format, error behavior, or any side effects. This is partial disclosure for a read-only query tool.

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

    Conciseness5/5

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

    The description is two sentences, front-loaded with purpose and immediately followed by the external API reference. It is concise, informative, and avoids redundancy with the schema.

    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 low schema coverage, no annotations, and no output schema, the description provides the essential required parameter and points to external documentation, but it omits a full list of optional parameters and details about the return structure. The external link helps, but the description alone is not fully self-contained for an agent to use correctly without additional research.

    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 no parameter descriptions, and the description compensates by clarifying that `location` must contain latitude and longitude. It also mentions `extraComputations` as an example of an optional field and provides an external API reference, but it does not enumerate all acceptable optional fields, leaving some ambiguity.

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

    Purpose5/5

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

    The description clearly identifies the tool as retrieving current air quality conditions at a location, specifying 'hourly indexes' and 'optional pollutants via extraComputations'. This distinguishes it from sibling tools like air_quality_forecast and air_quality_history, and the reference to the specific API endpoint adds precision.

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

    Usage Guidelines4/5

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

    The description states that a `location` with latitude and longitude is required, which is a clear usage prerequisite. It implies the tool is for current conditions, naturally distinguishing it from forecast/history tools, but it does not explicitly mention when to prefer this over siblings.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It adds useful context by indicating this is a POST request and linking to the official Google Air Quality API reference, which goes beyond the schema. However, it does not mention response format, authentication, rate limits, or side effects, leaving notable 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 one efficient sentence that leads with the core purpose and packs in the POST body reference, required parameter, and time-range options without filler. The long URL is justified as the authoritative API documentation link.

    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?

    Since there is no output schema and no annotations, the description should ideally explain return values and operational behavior. It gives enough to construct a request via the external docs and time selections, but it omits response structure, authentication needs, and error handling, making it only partially complete.

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

    Parameters4/5

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

    The schema only defines `location` with lat/long constraints but has no property descriptions (0% coverage). The description compensates by requiring `location` and naming the additional body fields (`period`, `dateTime`, `hours`) not present in the schema, which is essential because `additionalProperties: true` allows these fields.

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

    Purpose5/5

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

    The description clearly identifies the tool as an hourly air quality forecast for a time range or specific hour. It names the exact resource and verb, and the temporal scope distinguishes it from sibling tools like air_quality_current_conditions and air_quality_history.

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

    Usage Guidelines4/5

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

    The description states that `location` is required and explains the three time-selection options (`period`, `dateTime`, `hours`), giving clear guidance on how to adjust the forecast window. However, it does not explicitly state when to prefer this over the current-conditions or history alternatives, nor does it list exclusions.

    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

environment-mcp MCP server

Copy to your README.md:

Score Badge

environment-mcp MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/w00dbury/environment-mcp'

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