Skip to main content
Glama
ambeelabs

mcp-ambee

Official
by ambeelabs

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool is clearly separated by data domain (air quality, weather, pollen) and temporal mode (latest vs. forecast). There is no overlap or ambiguity between tool purposes.

    Naming Consistency5/5

    All tool names follow the exact same pattern: domain_latest or domain_forecast. This is perfectly consistent and makes the tool set easy to navigate.

    Tool Count5/5

    Six tools is well-scoped for an environmental data server covering air quality, weather, and pollen for both current conditions and forecasts. Each tool serves a distinct and necessary purpose.

    Completeness4/5

    The server provides both latest and forecast data for all three environmental domains, which covers the core use case. Historical data or location search tools are not included, but those are not necessarily implied by the server's apparent purpose.

  • Average 3.9/5 across 6 of 6 tools scored.

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

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

  • 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. It does disclose meaningful traits: returns 'up to 48 hourly records,' handles the no-data case, and warns that per-species breakdown is conditional on regional support. It does not cover error behavior, data freshness, or any operational constraints, but for a simple read-oriented forecast tool the key edge cases are surfaced.

    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?

    Two sentences with no filler; the core purpose is front-loaded and the second sentence efficiently covers the maximum record count and the no-data case. Minor redundancy between '48 hours' and '48 hourly records' is the only blemish.

    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 moderate-complexity tool with five parameters, no output schema, and no annotations, the description covers the return content and the main edge cases adequately. It falls short of complete because it does not describe the record structure or units, and it leaves the distinction from pollen_latest to inference rather than stating it.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the baseline is 3. The schema already thoroughly documents each parameter, including mutual exclusivity ('Never send both place and lat/lng'), defaults, and required-if logic. The description adds only marginal context by linking speciesRisk to the per-species breakdown mentioned in the output.

    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 uses a specific verb and resource ('Returns an hourly pollen forecast for the next 48 hours') and details the content: tree, grass, and weed counts, risk levels, and per-species breakdown. It is clearly a forecast tool rather than a current-conditions tool, though it never explicitly names the sibling pollen_latest to draw the contrast.

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

    Usage Guidelines3/5

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

    Usage context is implied by the 'next 48 hours' framing, so an agent can infer this is for forward-looking pollen data. However, with five siblings including pollen_latest and air_quality_forecast, there is no explicit guidance on when to choose this tool over alternatives or when not to use it.

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

  • Behavior3/5

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

    With no annotations, the description carries the burden of behavioral disclosure. It does usefully mention that up to 48 records are returned and that no data is returned when unavailable. However, it does not describe behavior around missing or conflicting location parameters, invalid inputs, or response timezone/localization nuances, leaving some uncertainty.

    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 with no filler. The first sentence explains the core return value and scope, and the second succinctly caps the record count and addresses the empty-data case. Every sentence earns its place.

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

    Completeness4/5

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

    For a read-only forecast tool with no output schema and no annotations, the description gives a solid picture of the response contents and shape. It does not restate the lat/lng-or-place requirement (which is covered in the schema), but it could have added a brief note about how locale or aqiStandard affect the output. Overall, it is largely complete.

    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% parameter description coverage, documenting lat, lng, place, locale, and aqiStandard with constraints and defaults. The tool description adds no parameter-specific semantics beyond the general output content, so the baseline of 3 is appropriate.

    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 states a specific action ('returns an hourly air quality forecast'), a clear resource (air quality for the next 48 hours), and the contents (AQI, pollutant concentrations, dominant pollutant, category). It also naturally distinguishes itself from air_quality_latest by explicitly mentioning the forecast horizon and hourly granularity.

    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 conveys that this tool is for future-facing air quality data over a 48-hour window, which sets it apart from 'latest' siblings. However, it does not explicitly name alternatives like air_quality_latest or weather_forecast, nor does it state conditions such as 'use this when you need forecast rather than current conditions'.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the behavioral disclosure burden. It usefully discloses that the tool returns a single record for the current hour, may return no data, and includes dominant pollutant and category. It could add more detail about response shape or edge cases, but it covers the most important behavioral 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 two sentences with no filler. It front-loads the core purpose, then immediately lists the returned measurements and the single-record/no-data behavior. Every sentence earns its place.

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

    Completeness4/5

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

    There is no output schema, so a good description must convey what the tool returns; this one does, including pollutant set and cardinality. Combined with full parameter documentation in the schema, the definition gives an agent enough to select and call the tool correctly, though a bit more detail on response structure would be 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?

    Schema description coverage is 100%, so the schema already documents all five parameters including lat/lng/place mutual exclusivity, locale behavior, and aqiStandard enum. The description adds no parameter-level meaning, but the baseline of 3 is appropriate because the schema does the heavy lifting.

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

    Purpose5/5

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

    The description states a specific verb ('Returns') and resource ('latest air quality reading for a location'), enumerates the exact pollutants and derived fields, and clarifies it returns a single current-hour record or no data. This clearly distinguishes it from the forecast and weather/pollen siblings.

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

    Usage Guidelines3/5

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

    The 'latest' versus forecast distinction is implied by the sibling names and by the explicit 'current hour' phrasing, so an agent can infer when to use it. However, it does not explicitly state 'use this for current conditions, use air_quality_forecast for predictions' or list any exclusion criteria.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full burden, and it discloses several behavioral traits: it returns a single record rather than a series, it returns no data when none is available for the current hour, and per-species breakdown is conditional on regional support. These edge-case disclosures meaningfully shape agent expectations beyond a plain 'returns pollen data' statement.

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

    Conciseness5/5

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

    Two sentences, front-loaded with the primary purpose, followed by record-shape and edge-case behavior. Every sentence earns its place; there is no filler or redundancy with the schema.

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

    Completeness4/5

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

    Given there is no output schema and no annotations, the description adequately covers return contents, record count, and the empty-result case. Minor gaps remain, such as units, timezone handling, or how recent the 'current' hour's data is, but the core calling decision is well supported.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the baseline of 3 applies. The description adds minimal parameter-level meaning beyond the schema; the mention of per-species breakdown loosely echoes the speciesRisk parameter, but the schema already documents that behavior. No new parameter semantics are contributed.

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

    Purpose5/5

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

    The description uses a specific verb ('Returns'), a clear resource ('latest pollen data'), and concrete contents ('tree, grass, and weed pollen counts and risk levels'). The temporal qualifiers 'latest' and 'single record for the current hour' distinguish it from the pollen_forecast sibling without needing to name it.

    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 usage context is implied by 'latest' and 'current hour' — an agent can infer this is the snapshot/current-conditions tool versus pollen_forecast. However, there is no explicit guidance on when to choose this over the forecast sibling, and no exclusions or alternative routing stated.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full behavioral disclosure burden. It does well by stating it returns exactly one record for the current hour and may return no data if none is available, which is valuable beyond the schema. It could add more about data coverage or error behavior, but the core behavior is transparent.

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

    Conciseness5/5

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

    Two tightly written sentences with no filler. The main action and output fields are front-loaded, and the single-record/no-data behavior is stated at the end. Every sentence earns its place.

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

    Completeness4/5

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

    The description compensates for the absence of an output schema by listing all returned weather fields and clarifying the singular record/no-data behavior. Combined with a fully described schema, an agent has enough to select and invoke the tool correctly. It only misses explicit routing to forecast siblings, which is not essential for invocation.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the baseline is 3; the schema already documents lat, lng, place, units, locale, and the exclusivity of place versus lat/lng. The description does not add parameter-level meaning, but it does not need to because the schema is complete.

    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 opens with a specific verb and resource: 'Returns the latest weather observation for a location.' It enumerates the exact fields returned, making the tool's scope immediately clear. The 'current hour' phrasing distinguishes it from forecast and air-quality/pollen sibling tools even though none are named.

    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 this tool is for current observations rather than forecasts, but it never explicitly says when to use weather_latest versus weather_forecast or other siblings. There is no wnen-not guidance or alternative tool mention, so the agent must infer the boundary from the word 'latest' and sibling names.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full behavioral disclosure burden. It discloses the maximum number of records ('up to 48 hourly records'), the no-data case ('or no data if none is available'), and the full set of returned fields. This is substantial transparency for a read-only forecast 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 with no filler. The first sentence front-loads the core action and data scope, and the second covers the edge case of no available data. Every sentence earns its place.

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

    Completeness4/5

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

    Given the absence of an output schema, the description does a good job enumerating what the response contains and its limits. Combined with the fully documented input schema and clear divergence from sibling tools, an agent has enough to select and invoke the tool correctly. Minor gaps like exact response shape or timezone handling are not critical for this forecast tool.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the schema already explains every parameter, including lat/lng/place mutual requirements and the units enum. The tool description adds no parameter-level detail, but the baseline of 3 is appropriate when the schema fully documents parameters.

    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 states a specific verb ('Returns') and resource ('hourly weather forecast for the next 48 hours') and enumerates the returned fields. This clearly differentiates it from sibling tools like weather_latest, air_quality_forecast, and pollen_forecast.

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

    Usage Guidelines4/5

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

    The description establishes clear usage context: it is for the next 48 hours at hourly granularity, which distinguishes it from weather_latest and air quality/pollen tools. It does not explicitly name alternatives or state when not to use it, but the temporal and domain framing makes the intended use clear.

    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

ambee-mcp MCP server

Copy to your README.md:

Score Badge

ambee-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/ambeelabs/ambee-mcp'

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