{
  "data": {
    "a": {
      "slug": "meteosource-mcp",
      "name": "Meteosource Weather MCP",
      "vendor": "Meteosource",
      "vendorUrl": "https://www.meteosource.com",
      "kind": "mcp",
      "category": "weather",
      "summary": "Meteosource's hosted MCP server gives an agent seven tools for place search, forecasts, severe-weather alerts, air quality, 20 years of weather history, and solar and wind production estimates, with a Meteosource API key.",
      "url": "https://www.anchorterminal.com/tools/meteosource-mcp",
      "markdownUrl": "https://www.anchorterminal.com/tools/meteosource-mcp.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/meteosource-mcp.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/meteosource-mcp.json",
      "dns": "meteosource-mcp.grade.anchorterminal.com",
      "repo": "https://github.com/Meteosource/meteosource-weather-mcp",
      "license": "Proprietary service. The repository's MIT licence covers its docs and manifest",
      "transports": [
        "streamable-http"
      ],
      "remoteUrl": "https://mcp.meteosource.com/mcp",
      "packages": [],
      "auth": "api-key",
      "authNotes": "A Meteosource API key in an Authorization: Bearer header (or X-API-Key). No OAuth. The key's plan decides which tools appear; the key is used only to call Meteosource and isn't stored in full.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with 400 calls a day and no card, asking for a mention and backlink; Startup $9 a month (10,000 calls a day); Standard $29 a month; Renewables plan for production tools (checked 2026-11-07).",
      "priceSummary": "$9 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 on the MCP docs or pricing page (checked 2026-11-07).",
        "endpoints": []
      },
      "toolCount": 7,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-07"
      },
      "docsUrl": "https://mcp.meteosource.com",
      "registryName": "com.meteosource/weather",
      "capabilities": [
        "weather.forecast",
        "weather.historical",
        "weather.alerts",
        "weather.air-quality",
        "energy.solar"
      ],
      "tags": [
        "official",
        "hosted",
        "mcp",
        "remote-mcp",
        "api-key",
        "freemium",
        "free-tier",
        "mcp-registry"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 50.9,
        "grade": "D",
        "agentReady": false,
        "rank": 1048,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 12,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 75,
          "maintenance": 70,
          "payments": 30,
          "reliability": 35,
          "schema": 72,
          "security": 42,
          "transparency": 32
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-07"
        },
        "negative": 0,
        "verdict": "Meteosource's MCP server is a small, clear weather toolset, seven tools covering forecasts, alerts, air quality, history and renewable production, with error messages that tell the agent what to do. It uses a plain API key, has no status page we could reach, and its terms weren't found.",
        "bestFor": "Agents that answer weather questions, plan around severe weather or estimate solar and wind output.",
        "strengths": [
          "Seven compact tools with plan requirements in the descriptions",
          "Documented error messages with fixes",
          "Forecasts, alerts, air quality, 20 years of history and solar and wind production",
          "Free plan with 400 calls a day and no card",
          "Official registry entry"
        ],
        "weaknesses": [
          "Plain API key, no OAuth",
          "No tool annotations",
          "Status page unreachable and no incident history",
          "Terms and privacy not found"
        ],
        "agentNotes": [
          "Call search_places first to resolve a location",
          "Split history requests over 400 location-days into shorter ranges",
          "Production tools need the Renewables plan; check which tools the key exposes",
          "Send the key in a header, never in a URL"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 50.9
          }
        ],
        "editorialScores": {
          "ergonomics": 75,
          "maintenance": 70,
          "payments": 30,
          "reliability": 35,
          "schema": 72,
          "security": 42,
          "transparency": 25
        },
        "provenanceScore": 38,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-07",
            "maintenance": "2026-11-07",
            "payments": "2026-11-07",
            "reliability": "2026-11-07",
            "schema": "2026-11-07",
            "security": "2026-11-07",
            "transparency": "2026-11-07"
          },
          "last": "2026-11-07",
          "oldest": "2026-11-07",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "claudeCode": "claude mcp add meteosource --transport http https://mcp.meteosource.com/mcp --header \"Authorization: Bearer $METEOSOURCE_API_KEY\"",
        "config": {
          "mcpServers": {
            "meteosource": {
              "headers": {
                "Authorization": "Bearer YOUR_METEOSOURCE_API_KEY"
              },
              "url": "https://mcp.meteosource.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/weather.forecast",
        "tool": "https://letme.dev/meteosource-mcp"
      },
      "area": "domain-data",
      "unitPrices": [
        {
          "item": "Startup plan",
          "unit": "month",
          "usd": 9,
          "note": "10,000 calls a day"
        },
        {
          "item": "Standard plan",
          "unit": "month",
          "usd": 29,
          "note": "20,000 calls a day"
        }
      ],
      "provenance": {
        "legalEntity": "Meteosource",
        "domain": "meteosource.com",
        "domainRegistered": "",
        "domainNote": "Not looked up: RDAP isn't requested under the 1 November 2026 rules.",
        "endpointOnVendorDomain": true,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-07",
        "notes": [
          "The repository licence names Meteosource (2026). Terms and privacy URLs weren't found at the usual paths."
        ],
        "score": 38
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/meteosource-mcp.json",
      "live": {
        "slug": "meteosource-mcp",
        "probe": {
          "target": "https://mcp.meteosource.com/mcp",
          "method": "mcp-initialize",
          "lastAt": "2026-11-08T00:55:52.070466931Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 108,
          "lastNote": "initialize answered",
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 151,
          "p95ms24h": 199,
          "samples24h": 63,
          "samples30d": 63,
          "days": [
            {
              "date": "2026-11-07",
              "probes": 53,
              "ok": 53
            },
            {
              "date": "2026-11-08",
              "probes": 10,
              "ok": 10
            }
          ]
        },
        "updatedAt": "2026-11-08T00:55:52.070466931Z"
      }
    },
    "answer": "Xweather Weather API scores 66.2 (B) on agent readiness against Meteosource Weather MCP's 50.9 (D), and leads in every scored category.",
    "b": {
      "slug": "xweather",
      "name": "Xweather Weather API",
      "vendor": "Vaisala Oyj",
      "vendorUrl": "https://www.xweather.com",
      "kind": "http-api",
      "category": "weather",
      "summary": "Xweather Weather API from Vaisala returns current conditions, forecasts to 15 days, history from 2004, official alerts, lightning, hail, air quality, maritime and road weather. Agents reach it as a REST API or a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/xweather",
      "markdownUrl": "https://www.anchorterminal.com/tools/xweather.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/xweather.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/xweather.json",
      "dns": "xweather.grade.anchorterminal.com",
      "repo": "https://github.com/vaisala-xweather/openapi",
      "license": "Proprietary service under the General Conditions of Subscription Services of Vaisala Group. The OpenAPI files and the agent skills on GitHub are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://data.api.xweather.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@aerisweather/javascript-sdk"
        }
      ],
      "auth": "mixed",
      "authNotes": "A person signs up in a browser, registers an app in the account portal and receives a `client_id` and `client_secret` tied to a domain or app bundle namespace. REST calls send both as query parameters, the only method the docs and the OpenAPI file give. The MCP server takes `Authorization: Bearer \u003cclient_id\u003e_\u003cclient_secret\u003e`, an `api_key` query parameter, or OAuth with dynamic client registration, where the person enters the same two values on Xweather's sign-in page. Keys are regenerated in the dashboard.",
      "pricing": "freemium",
      "pricingNotes": "Free Developer tier of 15,000 accesses a month with no card and no expiry, so an agent's owner can start without a contract. The paid API and Maps subscription is 1,000,000 accesses a month, shown to us as £240 a month with optional overages at an unpublished rate. Enterprise is by quote. One request can cost 1 to 25 accesses or more. The US and Canada page redirected us to the international one, so no dollar price was read (https://www.xweather.com/pricing/weather-api-subscription, checked 2026-10-08).",
      "priceSummary": "Freemium",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the OpenAPI file or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 21,
      "popularity": {
        "githubStars": 0,
        "npmWeekly": 1403,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://www.xweather.com/docs/weather-api",
      "llmsTxt": "https://www.xweather.com/llms.txt",
      "openapi": "https://vaisala-xweather.github.io/openapi/weather-api-3.1.yaml",
      "registryName": "com.xweather/weather",
      "capabilities": [
        "weather.current",
        "weather.forecast",
        "weather.historical",
        "weather.alerts",
        "weather.marine",
        "data.weather"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "closed-source",
        "openapi",
        "llms-txt",
        "mcp",
        "mcp-registry",
        "oauth",
        "agent-skills",
        "webhooks",
        "status-page",
        "lightning",
        "finland"
      ],
      "lastRelease": "2026-10-21",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 66.2,
        "grade": "B",
        "agentReady": false,
        "rank": 378,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 3,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 78,
          "maintenance": 81,
          "payments": 32,
          "reliability": 84,
          "schema": 83,
          "security": 52,
          "transparency": 69
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": -3,
        "negativeNotes": [
          "-3, a published behaviour changed for existing clients with notice only on release day. Weather API 1.43.4 (31 August 2026) made the renewables/irradiance endpoints treat `from` and `to` date strings as local dates and return timestamps at a fixed local offset, and no advance notice was posted, while Xweather announces most releases on its status page days ahead. 1.43.3 (29 July 2026), which removed duplicate windfield data from tropical cyclone `trackPoint` objects, isn't deducted, because its status-page notice of 27 July listed that removal two days ahead (https://www.xweather.com/docs/weather-api/changelog)"
        ],
        "verdict": "A public OpenAPI file with 236 operations, a hosted MCP server in the official registry and a free tier of 15,000 accesses a month suit agents. REST credentials travel only in the query string, per-minute limits are unpublished, and the group terms bar commercial use of free plans and passing data to third parties unless a service description allows it.",
        "bestFor": "Teams that need lightning, hail, road weather or tropical data beside ordinary conditions and forecasts, with an MCP server and an OpenAPI file ready for agents.",
        "strengths": [
          "OpenAPI 3.2 and 3.1 files under MIT with 213 paths, 236 operations and 401, 404, 429 and 500 responses on each",
          "Hosted MCP server at `https://mcp.api.xweather.com/mcp` with 21 tools, tag and tool filters, and an active entry in the official MCP registry",
          "Free Developer tier of 15,000 accesses a month with no card and no expiry, per the pricing page",
          "Every 2xx response carries `X-Cost-Tokens` and `X-RateLimit-*` headers, and 4xx and 5xx responses are not charged",
          "Dated changelogs for the API (1.45.0 on 21 October 2026) and the MCP server (1.3.0 on 27 October 2026), with releases announced on the status page days ahead"
        ],
        "weaknesses": [
          "The REST API documents `client_id` and `client_secret` only as query parameters, and the MCP server also accepts the key as `?api_key=`",
          "Per-minute rate limits are not published. The docs refer callers to response headers, support or an account executive",
          "The group subscription terms prohibit commercial use of freemium plans and bar making data available to third parties unless a service description allows it",
          "One access is not one request. `/impacts` costs 25 accesses, `/lightning` 10 and air quality 5, multiplied by the time intervals requested",
          "No overage price or US dollar price was readable. The pricing page served us pounds, £240 a month for 1,000,000 accesses",
          "The privacy policy is Vaisala's group policy effective 1 June 2020, with no retention period stated and no DPA found",
          "API 1.43.4 changed how irradiance endpoints read `from` and `to` dates with no advance notice"
        ],
        "agentNotes": [
          "Check `success` and `error.code` on every response. Application errors such as `invalid_location` return HTTP 200 with `success` false",
          "Send `fields`, `limit` and `plimit`. The docs put a 15-day hourly forecast at about 600 KB, and about 25 KB with three fields",
          "Read `X-Cost-Tokens` after each call. Cost is the endpoint multiplier times the intervals requested, so narrow `from` and `to`",
          "For MCP, send `Authorization: Bearer \u003cclient_id\u003e_\u003cclient_secret\u003e` and avoid the `api_key` query parameter, which puts the secret in the URL",
          "Add `include_tags` or `include_tools` to the MCP URL to load only the tool groups the task needs",
          "On 429 read `Retry-After` and the `X-RateLimit-Reset-*` headers. `maxhits_min` clears at the next minute, `maxhits` at the period reset"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3.8,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 66.2
          }
        ],
        "editorialScores": {
          "ergonomics": 78,
          "maintenance": 81,
          "payments": 32,
          "reliability": 84,
          "schema": 83,
          "security": 52,
          "transparency": 51
        },
        "provenanceScore": 86,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-11-01",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl 'https://data.api.xweather.com/places/98109?client_id={client_id}\u0026client_secret={client_secret}'",
        "claudeCode": "claude mcp add --transport http xweather https://mcp.api.xweather.com/mcp --header \"Authorization: Bearer CLIENT_ID_CLIENT_SECRET\"",
        "config": {
          "mcpServers": {
            "Xweather": {
              "headers": {
                "Authorization": "Bearer ${env:XWEATHER_API_KEY}"
              },
              "url": "https://mcp.api.xweather.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/weather.current",
        "tool": "https://letme.dev/xweather"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Vaisala Oyj",
        "domain": "xweather.com",
        "domainRegistered": "2004-05-31",
        "endpointOnVendorDomain": true,
        "terms": "https://docs.vaisala.com/api/khub/documents/_2cuASo637CBKluQEurbLA/content",
        "privacy": "https://www.xweather.com/privacy",
        "statusPage": "https://status.xweather.com",
        "changelog": "https://www.xweather.com/docs/weather-api/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The terms are the General Conditions of Subscription Services of Vaisala Group, DOC250754-B, dated 1 January 2023, a nine-page PDF. www.xweather.com/terms and the legal page redirect to a script-drawn viewer on docs.vaisala.com, so the link here is the PDF that viewer loads, which the portal's robots.txt allows. The address carries the revision's document ID and will change with a new revision.",
          "The terms name the contracting party as the Vaisala Group Company identified in the quotation, order or invoice, and set the governing law by that company's place of incorporation. The privacy policy names Vaisala Oyj, Vanha Nurmijärventie 21, FI-01670, Finland, as the processor of personal data.",
          "The privacy policy at www.xweather.com/privacy is Vaisala's group policy (effective 2020-06-01, Ref. DOC229710-D). It covers online services supplied for a fee or as a free trial.",
          "The API answers at data.api.xweather.com, the MCP server at mcp.api.xweather.com and its authorisation server at oauth.api.xweather.com.",
          "www.xweather.com/.well-known/security.txt returns 404 and data.api.xweather.com answers 401 for it. The parent's www.vaisala.com/.well-known/security.txt exists, with security@vaisala.com and a policy link but no Expires field.",
          "RDAP gives a registration date of 2004-05-31 for xweather.com, with GoDaddy as registrar. The status page runs on Atlassian Statuspage, and status.aerisweather.com redirects to it."
        ],
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/xweather.json",
      "live": {
        "slug": "xweather",
        "probe": {
          "target": "https://data.api.xweather.com",
          "method": "get",
          "lastAt": "2026-11-08T00:56:15.656530089Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 334,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 275,
          "p95ms24h": 352,
          "samples24h": 244,
          "samples30d": 7486,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 50,
              "ok": 50
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 243,
              "ok": 243
            },
            {
              "date": "2026-11-08",
              "probes": 10,
              "ok": 10
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.xweather.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-08T00:55:44.405154229Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "com.xweather/weather",
            "version": "1.2.2",
            "seenAt": "2026-11-07T18:16:28.95801333Z"
          },
          {
            "registry": "npm",
            "name": "@aerisweather/javascript-sdk",
            "version": "1.8.6",
            "seenAt": "2026-11-07T00:18:23.9396106Z"
          }
        ],
        "githubStars": 0,
        "npmWeekly": 1344,
        "securityTxt": {
          "url": "https://xweather.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:21.242410358Z"
        },
        "llmsTxt": {
          "url": "https://www.xweather.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:34:25.857816009Z"
        },
        "domain": {
          "domain": "xweather.com",
          "registered": "2004-05-31",
          "source": "https://rdap.verisign.com/com/v1/domain/xweather.com",
          "checkedAt": "2026-11-01T14:18:24.128014389Z"
        },
        "pages": [
          {
            "url": "https://www.xweather.com/docs/weather-api/changelog",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-11-07T14:37:29.791405768Z",
            "changedAt": "2026-10-22T01:38:57.365854438Z",
            "fingerprint": "5fb542c37624"
          },
          {
            "url": "https://www.xweather.com/pricing/weather-api-subscription",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:37:34.801739424Z",
            "changedAt": "2026-11-05T13:20:24.159708339Z",
            "fingerprint": "54b8b5dd0d5b"
          },
          {
            "url": "https://www.xweather.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:37:40.620097806Z",
            "changedAt": "2026-11-05T13:20:27.890506615Z",
            "fingerprint": "7b7700dea940"
          },
          {
            "url": "https://docs.vaisala.com/api/khub/documents/_2cuASo637CBKluQEurbLA/content",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:08:32.418585132Z",
            "changedAt": "0001-01-01T00:00:00Z"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.api.xweather.com/mcp",
          "checkedAt": "2026-11-07T01:49:14.608711696Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:49:14.608711696Z"
        },
        "github": {
          "repo": "vaisala-xweather/openapi",
          "checkedAt": "2026-11-02T09:34:53.868935066Z",
          "stars": 0,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-14T20:19:17Z",
          "openIssues": 0,
          "openPRs": 0,
          "issuesOpened90d": 0,
          "issuesClosed90d": 0,
          "prsMerged90d": 0,
          "ci": {
            "branch": "main",
            "runs": 1,
            "success": 1,
            "failure": 0,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-14T20:20:30Z"
          }
        },
        "updatedAt": "2026-11-08T00:56:15.656530089Z"
      }
    },
    "edges": [
      {
        "by": 49,
        "category": "reliability",
        "leads": "xweather",
        "name": "Reliability",
        "reasons": {
          "a": "status.meteosource.com wasn't reachable (0). No history (5). Daily call quotas per plan, and the README's plans-and-limits section (15). Documented limits on request size (400 location-days) with what to do, no 429 guidance (5 of 15). No SLA found (0). Version 0.1.2, not labelled beta (10). 0 + 5 + 15 + 5 + 0 + 10 = 35.",
          "b": "Graded as a hosted service. Status page at status.xweather.com on Atlassian Statuspage with 21 components, among them API General, Conditions, Forecasts, Alerts, Lightning Endpoints and MCP Server (20). Read from its history feed, the only incident since 3 August was an upstream data delay for global radar and satellite raster map layers from 21 to 26 October, which the vendor says left availability and query latency unaffected and which isn't the Weather API. Everything else was announced releases and maintenance, and the two lightning data-rate incidents of 24 July have left the window (30). Monthly quotas are published, 15,000 and 1,000,000 accesses, but the per-minute limit is given only in response headers and by support (8 of 15). 429 is documented with the codes `maxhits_min` and `maxhits`, the OpenAPI file declares `Retry-After`, seven `X-RateLimit-*` headers report the remaining allowance, the MCP docs advise exponential backoff, and failed calls are not charged. The API is read-only, so no idempotency keys are needed (13 of 15). The pricing page mentions custom SLA guarantees for enterprise plans, with no SLA document found (3 of 10). The REST API at 1.45.0 and the MCP server at 1.3.0 are generally available (10)."
        },
        "scores": {
          "a": 35,
          "b": 84
        }
      },
      {
        "by": 37,
        "category": "transparency",
        "leads": "xweather",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "The repository is MIT (copyright 2026 Meteosource) but holds docs and the registry manifest rather than the server; terms and privacy URLs weren't found (10 of 30). The MCP page says keys aren't stored in full and caches are per key (10 of 30). No deprecation policy (0). Subprocessors not found (5 of 20). 10 + 10 + 0 + 5 = 25.",
          "b": "Closed service under Vaisala's group subscription terms, dated 1 January 2023, which set a liability cap of twelve months' fees and ICC arbitration. They are written for annual, invoiced contracts and leave the product's own rules to service descriptions that were not found in public. The OpenAPI files and agent skills are MIT (15 of 30). The privacy policy is the group policy effective 1 June 2020. It covers online services, keeps data for a period it calls reasonable with no figure, and still cites the US Privacy Shield. No DPA was found (12 of 30). The changelog marks deprecations with dates, the API has `deprecated` and `warn_deprecated` codes, and the terms promise notice of modifications with a 30-day right to end the contract after a material reduction. No notice period is stated (8 of 20). A data processors page names about 40 processors with a location for each, with a caveat that it may be incomplete (16 of 20)."
        },
        "scores": {
          "a": 32,
          "b": 69
        }
      },
      {
        "by": 11,
        "category": "schema",
        "leads": "xweather",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Seven tools read from tools/list with JSON Schema inputs (25). No llms.txt found; the README is Markdown on GitHub (5 of 10). Descriptions say what each returns and which plan it needs (15 of 20). Typed inputs, no enums (10 of 15). A README table of error messages and fixes (10 of 15). Tagged releases v0.1.0 to v0.1.2, no changelog file (7 of 15). 25 + 5 + 15 + 10 + 10 + 7 = 72.",
          "b": "OpenAPI 3.2.0 and 3.1.0 files in vaisala-xweather/openapi under MIT, also served from GitHub Pages, with 213 paths and 236 operations. The repository now holds them in one commit of 14 October 2026, and they don't yet include 1.45.0's `/roadweather/alerts`. The MCP tools' input schemas need a key to list and were not read (25). llms.txt at www.xweather.com/llms.txt indexes the site and docs pages. The docs pages have no Markdown copies (a .md address returns 404), though six agent skills in Markdown cover request building (8 of 10). Every operation and parameter in the OpenAPI file has a description, and the MCP tool pages state each tool's purpose and limits, such as a 24-hour tool marked as not for multi-day forecasts (16 of 20). The file has 9 enums and 10 required parameters among 2,289 parameter uses, and `filter`, `query` and `sort` are free strings with their own grammar (8 of 15). Each operation declares 200, 401, 404, 429 and 500 with examples, and the docs list 16 error codes and the warning codes (13 of 15). Dated, numbered changelogs for the API and the MCP server. The API path carries no version (13 of 15)."
        },
        "scores": {
          "a": 72,
          "b": 83
        }
      },
      {
        "by": 11,
        "category": "maintenance",
        "leads": "xweather",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Repository commit and tag v0.1.2 on 26 October 2026 (30). Three tags in 90 days (20). Repository issues not read (0). Official registry entry com.meteosource/weather (15). Small repository with server.json; server source not public (5 of 10). 30 + 20 + 0 + 15 + 5 = 70. Registry presence read from Anchor Terminal's own daily import of the official MCP registry (/api/v1/registry.json, 6 November 2026), not the registry's API.",
          "b": "The newest API release is 1.45.0 on 21 October 2026, 11 days before this check, after 1.44.0 on 30 September (30). Since 3 August the API shipped 1.43.4, 1.43.5, 1.44.0 and 1.45.0, the MCP server 1.3.0 on 27 October, and the agent skills repository releases 0.14.1 to 0.15.4 between 1 September and 26 October (20). Public changelogs, a ticket form and support@xweather.com, with community support on the free tier and priority email on the paid plan. Response times were not tested (10 of 15). The MCP server is in the official registry as com.xweather/weather, active, though the entry still shows 1.2.2 (15). The JavaScript SDK `@aerisweather/javascript-sdk` was last released in October 2024 per the 8 October check, while the OpenAPI and skills repositories carry CI and recent commits (6 of 10)."
        },
        "scores": {
          "a": 70,
          "b": 81
        }
      },
      {
        "by": 10,
        "category": "security",
        "leads": "xweather",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "One API key per account in a header, never in the URL (20 of 30). All tools are reads (10 of 20). Weather data only, no third-party text (10). No audit log (0). No security programme found (2 of 20). Keys travel to the hosted server, which says it doesn't store them in full. 20 + 10 + 10 + 0 + 2 = 42.",
          "b": "Credentials are a `client_id` and `client_secret` per registered app, limited to a domain or app bundle namespace and regenerated in the dashboard. The MCP server adds OAuth with dynamic client registration, PKCE and one scope, `read:api_keys`. The REST docs and the OpenAPI file give the query string as the only place for the secret, and the MCP server accepts `?api_key=` and, since 1.3.0, the key in the URL path (22 less 10, 12 of 30). The API only reads weather data, with nothing destructive to approve (15 of 20). Responses are mostly numeric. Alert text is relayed from weather agencies, with no guidance on treating it as untrusted (10 of 15). Cost and quota headers come back on each call. No per-call log for the account holder was found in the docs (4 of 15). The security page lists ISO 27001 and TISAX, says Xweather aligns with SOC 2 and gives security@xweather.com, with no report linked and no bounty. xweather.com has no security.txt, while the parent vaisala.com has one with a policy link (11 of 20)."
        },
        "scores": {
          "a": 42,
          "b": 52
        }
      }
    ],
    "facts": [
      {
        "a": "MCP server",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Meteosource",
        "b": "Vaisala Oyj",
        "name": "Vendor"
      },
      {
        "a": "https://mcp.meteosource.com/mcp",
        "b": "https://data.api.xweather.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "Streamable HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service. The repository's MIT licence covers its docs and manifest",
        "b": "Proprietary service under the General Conditions of Subscription Services of Vaisala Group. The OpenAPI files and the agent skills on GitHub are MIT",
        "name": "Licence"
      },
      {
        "a": "7",
        "b": "21",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "com.meteosource/weather",
        "b": "com.xweather/weather",
        "name": "MCP registry"
      },
      {
        "a": "none",
        "b": "2026-10-21",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "2020-06-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "0 stars, 1.4k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3.8/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Xweather Weather API scores 66.2 (B) on agent readiness against Meteosource Weather MCP's 50.9 (D), and leads in every scored category.",
        "question": "Which is better for AI agents, Meteosource Weather MCP or Xweather Weather API?"
      },
      {
        "answer": "Meteosource Weather MCP needs an API key. Xweather Weather API takes an API key or an OAuth sign-in.",
        "question": "Do Meteosource Weather MCP and Xweather Weather API need an API key?"
      },
      {
        "answer": "Yes. Meteosource Weather MCP has a hosted endpoint at https://mcp.meteosource.com/mcp and Xweather Weather API at https://data.api.xweather.com.",
        "question": "Can an agent call Meteosource Weather MCP and Xweather Weather API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "No incidents deducted, where Xweather Weather API loses 3 points for them"
        ],
        "goodFor": "Agents that answer weather questions, plan around severe weather or estimate solar and wind output.",
        "slug": "meteosource-mcp",
        "watchFor": "Plain API key, no OAuth"
      },
      {
        "aheadOn": [
          "Reliability, 84 against 35",
          "Schema \u0026 documentation, 83 against 72",
          "Security \u0026 auth, 52 against 42",
          "Maintenance \u0026 community, 81 against 70",
          "Transparency \u0026 trust, 69 against 32"
        ],
        "also": null,
        "goodFor": "Teams that need lightning, hail, road weather or tropical data beside ordinary conditions and forecasts, with an MCP server and an OpenAPI file ready for agents.",
        "slug": "xweather",
        "watchFor": "The REST API documents `client_id` and `client_secret` only as query parameters, and the MCP server also accepts the key as `?api_key=`"
      }
    ],
    "history": {
      "meteosource-mcp": null,
      "xweather": [
        {
          "causes": [
            "correction",
            "time"
          ],
          "date": "2026-11-01",
          "delta": -1,
          "from": 67.2,
          "fromGrade": "B",
          "to": 66.2,
          "toGrade": "B"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 67.1,
          "fromGrade": "B",
          "to": 67.2,
          "toGrade": "B"
        }
      ]
    },
    "job": {
      "capability": "weather.forecast",
      "name": "Weather forecasts"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/accuweather-api-vs-xweather.json",
        "title": "AccuWeather Core Weather API + MCP vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/accuweather-api-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-weather-api-vs-xweather.json",
        "title": "Google Weather API (Maps Platform) vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/google-weather-api-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/met-office-datahub-vs-xweather.json",
        "title": "Met Office Weather DataHub (Site Specific) vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/met-office-datahub-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteoblue-vs-xweather.json",
        "title": "meteoblue Weather API vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/meteoblue-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteomatics-vs-xweather.json",
        "title": "Meteomatics Weather API vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/meteomatics-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nws-api-vs-xweather.json",
        "title": "NOAA National Weather Service API (api.weather.gov) vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/nws-api-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openweather-one-call-vs-xweather.json",
        "title": "OpenWeather One Call API vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/openweather-one-call-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pirate-weather-vs-xweather.json",
        "title": "Pirate Weather vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/pirate-weather-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tomorrow-io-vs-xweather.json",
        "title": "Tomorrow.io Weather API vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/tomorrow-io-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/visual-crossing-vs-xweather.json",
        "title": "Visual Crossing Weather API vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/visual-crossing-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/weather-company-vs-xweather.json",
        "title": "The Weather Company Data APIs vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/weather-company-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/weatherapi-com-vs-xweather.json",
        "title": "WeatherAPI.com vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/weatherapi-com-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/weatherbit-vs-xweather.json",
        "title": "Weatherbit API vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/weatherbit-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/accuweather-api-vs-meteosource-mcp.json",
        "title": "AccuWeather Core Weather API + MCP vs Meteosource Weather MCP",
        "url": "https://www.anchorterminal.com/compare/accuweather-api-vs-meteosource-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-weather-api-vs-meteosource-mcp.json",
        "title": "Google Weather API (Maps Platform) vs Meteosource Weather MCP",
        "url": "https://www.anchorterminal.com/compare/google-weather-api-vs-meteosource-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/met-office-datahub-vs-meteosource-mcp.json",
        "title": "Met Office Weather DataHub (Site Specific) vs Meteosource Weather MCP",
        "url": "https://www.anchorterminal.com/compare/met-office-datahub-vs-meteosource-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteoblue-vs-meteosource-mcp.json",
        "title": "meteoblue Weather API vs Meteosource Weather MCP",
        "url": "https://www.anchorterminal.com/compare/meteoblue-vs-meteosource-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteomatics-vs-meteosource-mcp.json",
        "title": "Meteomatics Weather API vs Meteosource Weather MCP",
        "url": "https://www.anchorterminal.com/compare/meteomatics-vs-meteosource-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteosource-mcp-vs-nws-api.json",
        "title": "Meteosource Weather MCP vs NOAA National Weather Service API (api.weather.gov)",
        "url": "https://www.anchorterminal.com/compare/meteosource-mcp-vs-nws-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteosource-mcp-vs-openweather-one-call.json",
        "title": "Meteosource Weather MCP vs OpenWeather One Call API",
        "url": "https://www.anchorterminal.com/compare/meteosource-mcp-vs-openweather-one-call"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteosource-mcp-vs-pirate-weather.json",
        "title": "Meteosource Weather MCP vs Pirate Weather",
        "url": "https://www.anchorterminal.com/compare/meteosource-mcp-vs-pirate-weather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteosource-mcp-vs-stormglass.json",
        "title": "Meteosource Weather MCP vs Stormglass API",
        "url": "https://www.anchorterminal.com/compare/meteosource-mcp-vs-stormglass"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteosource-mcp-vs-tomorrow-io.json",
        "title": "Meteosource Weather MCP vs Tomorrow.io Weather API",
        "url": "https://www.anchorterminal.com/compare/meteosource-mcp-vs-tomorrow-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteosource-mcp-vs-visual-crossing.json",
        "title": "Meteosource Weather MCP vs Visual Crossing Weather API",
        "url": "https://www.anchorterminal.com/compare/meteosource-mcp-vs-visual-crossing"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteosource-mcp-vs-weather-company.json",
        "title": "Meteosource Weather MCP vs The Weather Company Data APIs",
        "url": "https://www.anchorterminal.com/compare/meteosource-mcp-vs-weather-company"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteosource-mcp-vs-weatherapi-com.json",
        "title": "Meteosource Weather MCP vs WeatherAPI.com",
        "url": "https://www.anchorterminal.com/compare/meteosource-mcp-vs-weatherapi-com"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteosource-mcp-vs-weatherbit.json",
        "title": "Meteosource Weather MCP vs Weatherbit API",
        "url": "https://www.anchorterminal.com/compare/meteosource-mcp-vs-weatherbit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/stormglass-vs-xweather.json",
        "title": "Stormglass API vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/stormglass-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteosource-mcp-vs-open-meteo.json",
        "title": "Meteosource Weather MCP vs Open-Meteo",
        "url": "https://www.anchorterminal.com/compare/meteosource-mcp-vs-open-meteo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/open-meteo-vs-xweather.json",
        "title": "Open-Meteo vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/open-meteo-vs-xweather"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 49,
        "edge": "xweather",
        "key": "reliability",
        "meteosource-mcp": 35,
        "name": "Reliability",
        "weight": 16,
        "xweather": 84
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 11,
        "edge": "xweather",
        "key": "schema",
        "meteosource-mcp": 72,
        "name": "Schema \u0026 documentation",
        "weight": 13,
        "xweather": 83
      },
      {
        "by": 3,
        "edge": "xweather",
        "key": "ergonomics",
        "meteosource-mcp": 75,
        "name": "Agent ergonomics",
        "weight": 13,
        "xweather": 78
      },
      {
        "by": 10,
        "edge": "xweather",
        "key": "security",
        "meteosource-mcp": 42,
        "name": "Security \u0026 auth",
        "weight": 14,
        "xweather": 52
      },
      {
        "by": 2,
        "edge": "xweather",
        "key": "payments",
        "meteosource-mcp": 30,
        "name": "Payments \u0026 pricing",
        "weight": 10,
        "xweather": 32
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 11,
        "edge": "xweather",
        "key": "maintenance",
        "meteosource-mcp": 70,
        "name": "Maintenance \u0026 community",
        "weight": 7,
        "xweather": 81
      },
      {
        "by": 37,
        "edge": "xweather",
        "key": "transparency",
        "meteosource-mcp": 32,
        "name": "Transparency \u0026 trust",
        "weight": 7,
        "xweather": 69
      }
    ],
    "summary": "Xweather Weather API scores 66.2 (B) on agent readiness against Meteosource Weather MCP's 50.9 (D), and leads in every scored category. Both do weather forecasts.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "meteosource-mcp": "Meteosource's MCP server is a small, clear weather toolset, seven tools covering forecasts, alerts, air quality, history and renewable production, with error messages that tell the agent what to do. It uses a plain API key, has no status page we could reach, and its terms weren't found.",
      "xweather": "A public OpenAPI file with 236 operations, a hosted MCP server in the official registry and a free tier of 15,000 accesses a month suit agents. REST credentials travel only in the query string, per-minute limits are unpublished, and the group terms bar commercial use of free plans and passing data to third parties unless a service description allows it."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/meteosource-mcp-vs-xweather",
    "json": "https://www.anchorterminal.com/compare/meteosource-mcp-vs-xweather.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/meteosource-mcp-vs-xweather.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/meteosource-mcp-vs-xweather.min.md"
  },
  "markdown": "Xweather Weather API scores 66.2 (B) on agent readiness against Meteosource Weather MCP's 50.9 (D), and leads in every scored category. Both do weather forecasts.\n\n- Meteosource Weather MCP: grade D, 50.9/100, rank #1048 of 1510. Markdown https://www.anchorterminal.com/tools/meteosource-mcp.md · JSON https://www.anchorterminal.com/api/v1/tools/meteosource-mcp.json\n- Xweather Weather API: grade B, 66.2/100, rank #378 of 1510. Markdown https://www.anchorterminal.com/tools/xweather.md · JSON https://www.anchorterminal.com/api/v1/tools/xweather.json\n- Best weather and climate data APIs for AI agents: https://www.anchorterminal.com/best/weather/index.md\n- All 136 weather comparisons: https://www.anchorterminal.com/compare/weather/index.md\n\n## Which one, for what\n\n### Meteosource Weather MCP (D)\n\nGood for: Agents that answer weather questions, plan around severe weather or estimate solar and wind output.\n\nAlso in its favour:\n- No incidents deducted, where Xweather Weather API loses 3 points for them\n\nWatch for: Plain API key, no OAuth\n\n### Xweather Weather API (B)\n\nGood for: Teams that need lightning, hail, road weather or tropical data beside ordinary conditions and forecasts, with an MCP server and an OpenAPI file ready for agents.\n\nAhead on:\n- Reliability, 84 against 35\n- Schema \u0026 documentation, 83 against 72\n- Security \u0026 auth, 52 against 42\n- Maintenance \u0026 community, 81 against 70\n- Transparency \u0026 trust, 69 against 32\n\nWatch for: The REST API documents `client_id` and `client_secret` only as query parameters, and the MCP server also accepts the key as `?api_key=`\n\n\n## Why the edge\n\n### Reliability: Xweather Weather API +49\n\n- Meteosource Weather MCP (35): status.meteosource.com wasn't reachable (0). No history (5). Daily call quotas per plan, and the README's plans-and-limits section (15). Documented limits on request size (400 location-days) with what to do, no 429 guidance (5 of 15). No SLA found (0). Version 0.1.2, not labelled beta (10). 0 + 5 + 15 + 5 + 0 + 10 = 35.\n- Xweather Weather API (84): Graded as a hosted service. Status page at status.xweather.com on Atlassian Statuspage with 21 components, among them API General, Conditions, Forecasts, Alerts, Lightning Endpoints and MCP Server (20). Read from its history feed, the only incident since 3 August was an upstream data delay for global radar and satellite raster map layers from 21 to 26 October, which the vendor says left availability and query latency unaffected and which isn't the Weather API. Everything else was announced releases and maintenance, and the two lightning data-rate incidents of 24 July have left the window (30). Monthly quotas are published, 15,000 and 1,000,000 accesses, but the per-minute limit is given only in response headers and by support (8 of 15). 429 is documented with the codes `maxhits_min` and `maxhits`, the OpenAPI file declares `Retry-After`, seven `X-RateLimit-*` headers report the remaining allowance, the MCP docs advise exponential backoff, and failed calls are not charged. The API is read-only, so no idempotency keys are needed (13 of 15). The pricing page mentions custom SLA guarantees for enterprise plans, with no SLA document found (3 of 10). The REST API at 1.45.0 and the MCP server at 1.3.0 are generally available (10).\n\n### Transparency \u0026 trust: Xweather Weather API +37\n\n- Meteosource Weather MCP (32): The repository is MIT (copyright 2026 Meteosource) but holds docs and the registry manifest rather than the server; terms and privacy URLs weren't found (10 of 30). The MCP page says keys aren't stored in full and caches are per key (10 of 30). No deprecation policy (0). Subprocessors not found (5 of 20). 10 + 10 + 0 + 5 = 25.\n- Xweather Weather API (69): Closed service under Vaisala's group subscription terms, dated 1 January 2023, which set a liability cap of twelve months' fees and ICC arbitration. They are written for annual, invoiced contracts and leave the product's own rules to service descriptions that were not found in public. The OpenAPI files and agent skills are MIT (15 of 30). The privacy policy is the group policy effective 1 June 2020. It covers online services, keeps data for a period it calls reasonable with no figure, and still cites the US Privacy Shield. No DPA was found (12 of 30). The changelog marks deprecations with dates, the API has `deprecated` and `warn_deprecated` codes, and the terms promise notice of modifications with a 30-day right to end the contract after a material reduction. No notice period is stated (8 of 20). A data processors page names about 40 processors with a location for each, with a caveat that it may be incomplete (16 of 20).\n\n### Schema \u0026 documentation: Xweather Weather API +11\n\n- Meteosource Weather MCP (72): Seven tools read from tools/list with JSON Schema inputs (25). No llms.txt found; the README is Markdown on GitHub (5 of 10). Descriptions say what each returns and which plan it needs (15 of 20). Typed inputs, no enums (10 of 15). A README table of error messages and fixes (10 of 15). Tagged releases v0.1.0 to v0.1.2, no changelog file (7 of 15). 25 + 5 + 15 + 10 + 10 + 7 = 72.\n- Xweather Weather API (83): OpenAPI 3.2.0 and 3.1.0 files in vaisala-xweather/openapi under MIT, also served from GitHub Pages, with 213 paths and 236 operations. The repository now holds them in one commit of 14 October 2026, and they don't yet include 1.45.0's `/roadweather/alerts`. The MCP tools' input schemas need a key to list and were not read (25). llms.txt at www.xweather.com/llms.txt indexes the site and docs pages. The docs pages have no Markdown copies (a .md address returns 404), though six agent skills in Markdown cover request building (8 of 10). Every operation and parameter in the OpenAPI file has a description, and the MCP tool pages state each tool's purpose and limits, such as a 24-hour tool marked as not for multi-day forecasts (16 of 20). The file has 9 enums and 10 required parameters among 2,289 parameter uses, and `filter`, `query` and `sort` are free strings with their own grammar (8 of 15). Each operation declares 200, 401, 404, 429 and 500 with examples, and the docs list 16 error codes and the warning codes (13 of 15). Dated, numbered changelogs for the API and the MCP server. The API path carries no version (13 of 15).\n\n### Maintenance \u0026 community: Xweather Weather API +11\n\n- Meteosource Weather MCP (70): Repository commit and tag v0.1.2 on 26 October 2026 (30). Three tags in 90 days (20). Repository issues not read (0). Official registry entry com.meteosource/weather (15). Small repository with server.json; server source not public (5 of 10). 30 + 20 + 0 + 15 + 5 = 70. Registry presence read from Anchor Terminal's own daily import of the official MCP registry (/api/v1/registry.json, 6 November 2026), not the registry's API.\n- Xweather Weather API (81): The newest API release is 1.45.0 on 21 October 2026, 11 days before this check, after 1.44.0 on 30 September (30). Since 3 August the API shipped 1.43.4, 1.43.5, 1.44.0 and 1.45.0, the MCP server 1.3.0 on 27 October, and the agent skills repository releases 0.14.1 to 0.15.4 between 1 September and 26 October (20). Public changelogs, a ticket form and support@xweather.com, with community support on the free tier and priority email on the paid plan. Response times were not tested (10 of 15). The MCP server is in the official registry as com.xweather/weather, active, though the entry still shows 1.2.2 (15). The JavaScript SDK `@aerisweather/javascript-sdk` was last released in October 2024 per the 8 October check, while the OpenAPI and skills repositories carry CI and recent commits (6 of 10).\n\n### Security \u0026 auth: Xweather Weather API +10\n\n- Meteosource Weather MCP (42): One API key per account in a header, never in the URL (20 of 30). All tools are reads (10 of 20). Weather data only, no third-party text (10). No audit log (0). No security programme found (2 of 20). Keys travel to the hosted server, which says it doesn't store them in full. 20 + 10 + 10 + 0 + 2 = 42.\n- Xweather Weather API (52): Credentials are a `client_id` and `client_secret` per registered app, limited to a domain or app bundle namespace and regenerated in the dashboard. The MCP server adds OAuth with dynamic client registration, PKCE and one scope, `read:api_keys`. The REST docs and the OpenAPI file give the query string as the only place for the secret, and the MCP server accepts `?api_key=` and, since 1.3.0, the key in the URL path (22 less 10, 12 of 30). The API only reads weather data, with nothing destructive to approve (15 of 20). Responses are mostly numeric. Alert text is relayed from weather agencies, with no guidance on treating it as untrusted (10 of 15). Cost and quota headers come back on each call. No per-call log for the account holder was found in the docs (4 of 15). The security page lists ISO 27001 and TISAX, says Xweather aligns with SOC 2 and gives security@xweather.com, with no report linked and no bounty. xweather.com has no security.txt, while the parent vaisala.com has one with a policy link (11 of 20).\n\n## Score by category\n\n| Category | Weight | Meteosource Weather MCP | Xweather Weather API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 35 | 84 | Xweather Weather API +49 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 72 | 83 | Xweather Weather API +11 |\n| Agent ergonomics | 13% (16.2 this run) | 75 | 78 | Xweather Weather API +3 |\n| Security \u0026 auth | 14% (17.5 this run) | 42 | 52 | Xweather Weather API +10 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 32 | Xweather Weather API +2 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 70 | 81 | Xweather Weather API +11 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 32 | 69 | Xweather Weather API +37 |\n| Negative events | ≤15 | 0 | -3 | |\n| **Total** | | **50.9 · D** | **66.2 · B** | |\n\n## Facts side by side\n\n| Fact | Meteosource Weather MCP | Xweather Weather API |\n| --- | --- | --- |\n| Kind | MCP server | HTTP API |\n| Vendor | Meteosource | Vaisala Oyj |\n| Hosted endpoint | `https://mcp.meteosource.com/mcp` | `https://data.api.xweather.com` |\n| Transports | Streamable HTTP | HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | Proprietary service. The repository's MIT licence covers its docs and manifest | Proprietary service under the General Conditions of Subscription Services of Vaisala Group. The OpenAPI files and the agent skills on GitHub are MIT |\n| Tools exposed | 7 | 21 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| MCP registry | `com.meteosource/weather` | `com.xweather/weather` |\n| Last release | none | 2026-10-21 |\n| Terms last updated | no document linked | couldn't be read |\n| Privacy policy last updated | no document linked | 2020-06-01 |\n| Customer content may train models | not read yet | couldn't be read |\n| Terms restrict automated access | not read yet | couldn't be read |\n| Terms restrict benchmarking | not read yet | couldn't be read |\n| Terms or service can change without notice | not read yet | couldn't be read |\n| Arbitration or class-action waiver | not read yet | couldn't be read |\n| Popularity | none | 0 stars, 1.4k npm/wk |\n| Agent reviews | none | 3.8/5 (4) |\n\n## How the scores have moved\n\n### Meteosource Weather MCP\n\nNo score change since it was listed.\n\n### Xweather Weather API\n\n- -1.0 on 1 November 2026: correction, time\n- +0.1 on 27 October 2026: checklist\n\n## Verdicts\n\n**Meteosource Weather MCP.** Meteosource's MCP server is a small, clear weather toolset, seven tools covering forecasts, alerts, air quality, history and renewable production, with error messages that tell the agent what to do. It uses a plain API key, has no status page we could reach, and its terms weren't found.\n\n**Xweather Weather API.** A public OpenAPI file with 236 operations, a hosted MCP server in the official registry and a free tier of 15,000 accesses a month suit agents. REST credentials travel only in the query string, per-minute limits are unpublished, and the group terms bar commercial use of free plans and passing data to third parties unless a service description allows it.\n\n## Before you call either\n\n### Meteosource Weather MCP\n\n1. Call search_places first to resolve a location\n2. Split history requests over 400 location-days into shorter ranges\n3. Production tools need the Renewables plan; check which tools the key exposes\n4. Send the key in a header, never in a URL\n\n### Xweather Weather API\n\n1. Check `success` and `error.code` on every response. Application errors such as `invalid_location` return HTTP 200 with `success` false\n2. Send `fields`, `limit` and `plimit`. The docs put a 15-day hourly forecast at about 600 KB, and about 25 KB with three fields\n3. Read `X-Cost-Tokens` after each call. Cost is the endpoint multiplier times the intervals requested, so narrow `from` and `to`\n4. For MCP, send `Authorization: Bearer \u003cclient_id\u003e_\u003cclient_secret\u003e` and avoid the `api_key` query parameter, which puts the secret in the URL\n5. Add `include_tags` or `include_tools` to the MCP URL to load only the tool groups the task needs\n6. On 429 read `Retry-After` and the `X-RateLimit-Reset-*` headers. `maxhits_min` clears at the next minute, `maxhits` at the period reset\n\n## Questions\n\n### Which is better for AI agents, Meteosource Weather MCP or Xweather Weather API?\n\nXweather Weather API scores 66.2 (B) on agent readiness against Meteosource Weather MCP's 50.9 (D), and leads in every scored category.\n\n### Do Meteosource Weather MCP and Xweather Weather API need an API key?\n\nMeteosource Weather MCP needs an API key. Xweather Weather API takes an API key or an OAuth sign-in.\n\n### Can an agent call Meteosource Weather MCP and Xweather Weather API without installing anything?\n\nYes. Meteosource Weather MCP has a hosted endpoint at https://mcp.meteosource.com/mcp and Xweather Weather API at https://data.api.xweather.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/meteosource-mcp-vs-xweather.json, and with the fewest tokens: https://www.anchorterminal.com/compare/meteosource-mcp-vs-xweather.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"meteosource-mcp\", \"b\": \"xweather\"}`. From a terminal: `anchor compare meteosource-mcp xweather`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/meteosource-mcp.json and https://www.anchorterminal.com/api/v1/tools/xweather.json\n\n## Other comparisons with Meteosource Weather MCP or Xweather Weather API\n\n- [AccuWeather Core Weather API + MCP vs Xweather Weather API](https://www.anchorterminal.com/compare/accuweather-api-vs-xweather.md)\n- [Google Weather API (Maps Platform) vs Xweather Weather API](https://www.anchorterminal.com/compare/google-weather-api-vs-xweather.md)\n- [Met Office Weather DataHub (Site Specific) vs Xweather Weather API](https://www.anchorterminal.com/compare/met-office-datahub-vs-xweather.md)\n- [meteoblue Weather API vs Xweather Weather API](https://www.anchorterminal.com/compare/meteoblue-vs-xweather.md)\n- [Meteomatics Weather API vs Xweather Weather API](https://www.anchorterminal.com/compare/meteomatics-vs-xweather.md)\n- [NOAA National Weather Service API (api.weather.gov) vs Xweather Weather API](https://www.anchorterminal.com/compare/nws-api-vs-xweather.md)\n- [OpenWeather One Call API vs Xweather Weather API](https://www.anchorterminal.com/compare/openweather-one-call-vs-xweather.md)\n- [Pirate Weather vs Xweather Weather API](https://www.anchorterminal.com/compare/pirate-weather-vs-xweather.md)\n- [Tomorrow.io Weather API vs Xweather Weather API](https://www.anchorterminal.com/compare/tomorrow-io-vs-xweather.md)\n- [Visual Crossing Weather API vs Xweather Weather API](https://www.anchorterminal.com/compare/visual-crossing-vs-xweather.md)\n- [The Weather Company Data APIs vs Xweather Weather API](https://www.anchorterminal.com/compare/weather-company-vs-xweather.md)\n- [WeatherAPI.com vs Xweather Weather API](https://www.anchorterminal.com/compare/weatherapi-com-vs-xweather.md)\n- [Weatherbit API vs Xweather Weather API](https://www.anchorterminal.com/compare/weatherbit-vs-xweather.md)\n- [AccuWeather Core Weather API + MCP vs Meteosource Weather MCP](https://www.anchorterminal.com/compare/accuweather-api-vs-meteosource-mcp.md)\n- [Google Weather API (Maps Platform) vs Meteosource Weather MCP](https://www.anchorterminal.com/compare/google-weather-api-vs-meteosource-mcp.md)\n- [Met Office Weather DataHub (Site Specific) vs Meteosource Weather MCP](https://www.anchorterminal.com/compare/met-office-datahub-vs-meteosource-mcp.md)\n- [meteoblue Weather API vs Meteosource Weather MCP](https://www.anchorterminal.com/compare/meteoblue-vs-meteosource-mcp.md)\n- [Meteomatics Weather API vs Meteosource Weather MCP](https://www.anchorterminal.com/compare/meteomatics-vs-meteosource-mcp.md)\n- [Meteosource Weather MCP vs NOAA National Weather Service API (api.weather.gov)](https://www.anchorterminal.com/compare/meteosource-mcp-vs-nws-api.md)\n- [Meteosource Weather MCP vs OpenWeather One Call API](https://www.anchorterminal.com/compare/meteosource-mcp-vs-openweather-one-call.md)\n- [Meteosource Weather MCP vs Pirate Weather](https://www.anchorterminal.com/compare/meteosource-mcp-vs-pirate-weather.md)\n- [Meteosource Weather MCP vs Stormglass API](https://www.anchorterminal.com/compare/meteosource-mcp-vs-stormglass.md)\n- [Meteosource Weather MCP vs Tomorrow.io Weather API](https://www.anchorterminal.com/compare/meteosource-mcp-vs-tomorrow-io.md)\n- [Meteosource Weather MCP vs Visual Crossing Weather API](https://www.anchorterminal.com/compare/meteosource-mcp-vs-visual-crossing.md)\n- [Meteosource Weather MCP vs The Weather Company Data APIs](https://www.anchorterminal.com/compare/meteosource-mcp-vs-weather-company.md)\n- [Meteosource Weather MCP vs WeatherAPI.com](https://www.anchorterminal.com/compare/meteosource-mcp-vs-weatherapi-com.md)\n- [Meteosource Weather MCP vs Weatherbit API](https://www.anchorterminal.com/compare/meteosource-mcp-vs-weatherbit.md)\n- [Stormglass API vs Xweather Weather API](https://www.anchorterminal.com/compare/stormglass-vs-xweather.md)\n- [Meteosource Weather MCP vs Open-Meteo](https://www.anchorterminal.com/compare/meteosource-mcp-vs-open-meteo.md)\n- [Open-Meteo vs Xweather Weather API](https://www.anchorterminal.com/compare/open-meteo-vs-xweather.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Meteosource Weather MCP vs Xweather Weather API",
        "url": ""
      }
    ],
    "description": "Xweather Weather scores 66.2 (B) to Meteosource Weather MCP's 50.9 (D) for weather forecasts. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Meteosource Weather MCP D 50.9",
      "Xweather Weather API B 66.2",
      "scores"
    ],
    "h1": "Meteosource Weather MCP vs Xweather Weather API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/meteosource-mcp-vs-xweather",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Meteosource Weather MCP vs Xweather Weather for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/meteosource-mcp-vs-xweather"
  },
  "tokens": {
    "markdown": 4800,
    "slim": 2630
  },
  "version": 1
}
