protogrid

Search / org.openweathermap/agents

OpenWeather for agents

R0· no sign-in

OpenWeather data for AI agents: list feeds, sign up, check balance, get a top-up link, fetch data.

v0.3.0 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality100strong
Trust80of 100
Uptime, 30 days100%
Latency p50334 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "agents": {
      "type": "http",
      "url": "https://mcp.openweathermap.org/mcp",
      "headers": {
        "Authorization": "Bearer ${AGENTS_TOKEN}"
      }
    }
  }
}
claude mcp add --transport http agents https://mcp.openweathermap.org/mcp --header "Authorization: Bearer ${AGENTS_TOKEN}"
[mcp_servers.agents]
url = "https://mcp.openweathermap.org/mcp"
bearer_token_env_var = "AGENTS_TOKEN"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "agents": {
      "type": "remote",
      "url": "https://mcp.openweathermap.org/mcp",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:AGENTS_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "agents": {
      "type": "http",
      "url": "https://mcp.openweathermap.org/mcp",
      "headers": {
        "Authorization": "Bearer ${AGENTS_TOKEN}"
      }
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=agents&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLm9wZW53ZWF0aGVybWFwLm9yZy9tY3AiLCJoZWFkZXJzIjp7IkF1dGhvcml6YXRpb24iOiJCZWFyZXIgJHtBR0VOVFNfVE9LRU59In19"
}
{
  "servers": {
    "agents": {
      "type": "http",
      "url": "https://mcp.openweathermap.org/mcp",
      "headers": {
        "Authorization": "Bearer ${AGENTS_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "agents": {
      "httpUrl": "https://mcp.openweathermap.org/mcp",
      "headers": {
        "Authorization": "Bearer ${AGENTS_TOKEN}"
      }
    }
  }
}
extensions:
  "agents":
    enabled: true
    name: "agents"
    type: streamable_http
    uri: "https://mcp.openweathermap.org/mcp"
    headers:
      "Authorization": "Bearer ${AGENTS_TOKEN}"
    timeout: 300

Placeholders to fill from your own secret store: ${AGENTS_TOKEN}. The registry never accepts secret values.

Quality 100 / 100strong

protocol100 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • pass
    protocol.list_ttltool list is cacheable (ttlMs 3600000)
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations6 of 6 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 1,667 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changesno tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

6 tools, about 1,667 tokens to load them all · tool set 3793f12ad9f9 · checked 2026-10-19 10:20 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 80 / 100

no-repository
provenance55
liveness100
freshness85
hygiene80

+dns-namespace +website +reachable +uptime-100% ~updated-45d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://mcp.openweathermap.org/mcp streamable-httpnoneyes100%334 ms2026-07-282026-10-19

Tools (6)

account_statusread-onlyReads the account behind the secret: tier, accepted Terms version, the products it may call, the balance in credits the account bought minus the spend those credits funded, the last 30 days of usage per day, product and key, and the 50 latest balance movements. A product's own daily credits are spent before that balance and are no part of it, so a call can be served while it reads zero; list_products carries each product's credit account. Pass the secret sign_up returned as the secret argument; the data key your client configuration sends cannot read the account and answers 403 wrong_credential. Charges nothing; without a string the platform answers 401 invalid_key.
fetch_dataread-onlyFetches one data response: GET data.openweathermap.org/{product}/{route} with the query parameters you pass, using the data key from your client configuration's Authorization header or the data_key argument — never the secret, which fetches nothing. A successful call is billed the product's price per call; a refused call costs nothing. The result carries the payload with the platform's meta block (licence and attribution) and the rate-limit headers; the balance is read with account_status, never from a data response. Every refusal is the platform's error envelope unchanged — a code from https://agents.openweathermap.org/errors.json; 402 payment_required means the key is known but cannot pay for this product now, and 401 invalid_key means it is authorized for no product at all, most often because every credit is spent. Both carry an action_url: a human tops up there (get_topup_link returns the page) and the same key serves again within the engine's build interval plus the region's poll interval.
get_productread-onlyReturns one product by slug: its live catalogue entry (price, licence, lifecycle state, the specification address) together with the routes fetch_data can call and the parameters each route requires, taken from the platform's published product record. Needs no key and charges nothing. Use it before fetch_data — the route names come from here; an unknown slug answers with the slugs the catalogue serves.
get_topup_linkOpens a top-up for the account and returns the payment intent with hosted_url, the payment provider's short-lived page where a human completes the payment — no tool pays, and card details never touch the Forum. amount_minor is in cents; the platform accepts USD only and a minimum of 1000 (= $10). Pass the secret sign_up returned as the secret argument; the data key cannot open a payment. Asking again while a page is open returns the same page. Bought credits appear in account_status once the payment completes.
list_productsread-onlyLists every data product the Forum serves, as the platform's own catalogue answer: slug, title, lifecycle state, price in credits per call (1 credit = $0.001; the quoted price is the charged price), licence and attribution text, and the address of the product's route specification. Needs no key and charges nothing. Call get_product next for a product's routes and required parameters.
sign_upCreates a Forum account for an email address under the Terms version currently served, and returns the account, its secret — the one string that runs the account, shown exactly once — and its first data key, shown exactly once. It grants the account no credits of its own: a new account's free calls are the daily credit account of each product that gives one, spendable on that product alone and replaced every night, and list_products states which products give one and how much. The result's configure block is the client configuration entry that sends the data key from then on; until the client reconnects, pass data_key.key as data_key on fetch_data. Keep the secret with the owner and pass it as secret on account_status and get_topup_link. An address that already has an account answers 409 email_exists with next_action login_to_link.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "org.openweathermap/agents",
  "title": "OpenWeather for agents",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://mcp.openweathermap.org/mcp",
      "type": "streamable-http",
      "headers": [
        {
          "name": "Authorization",
          "isSecret": true,
          "description": "Bearer <your OpenWeather for agents data key>; optional — list_products, get_product and sign_up work without it; account_status and get_topup_link take the secret as an argument"
        }
      ]
    }
  ],
  "version": "0.3.0",
  "websiteUrl": "https://openweathermap.org/",
  "description": "OpenWeather data for AI agents: list feeds, sign up, check balance, get a top-up link, fetch data."
}