pick.tools

OpenWeather openweather

Weather data for agents.

Auth
keyless
Health
up probed
Vendor
openweathermap.org
Categories
weather, data

Endpoint

https://mcp.openweathermap.org/mcp (streamable-http)

Authentication

Keyless: the server answers without a credential.

From an agent (picker mode): call_tool with server=openweather

Tools (6)

Name Title Description
account_status – Reads 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 ...
Input schema
{
  "type": "object",
  "properties": {
    "secret": {
      "type": "string",
      "minLength": 1,
      "description": "the account's secret — the string sign_up returned as secret; the client configuration's header holds the data key, which this tool cannot use; when both are present the argument wins"
    }
  },
  "additionalProperties": false
}
fetch_data – Fetches one data response: GET data.openweathermap.org/{product}/{route} with the query parameters you pass, using the data key from your client configuratio...
Input schema
{
  "type": "object",
  "required": [
    "product",
    "route"
  ],
  "properties": {
    "route": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]+(/[A-Za-z0-9_-]+)*$",
      "maxLength": 128,
      "description": "a route from get_product, without the product prefix — e.g. current or timeline/1h"
    },
    "params": {
      "type": "object",
      "description": "query parameters, sent as given; the parameters a route requires are in get_product",
      "additionalProperties": {
        "type": [
          "string",
          "number",
          "integer",
          "boolean"
        ]
      }
    },
    "product": {
      "type": "string",
      "pattern": "^[a-z0-9][a-z0-9_-]{0,63}$",
      "description": "a product slug from list_products"
    },
    "data_key": {
      "type": "string",
      "minLength": 1,
      "description": "only when the client cannot send an Authorization header — the data_key.key sign_up returned in this session; when both are present the argument wins"
    }
  },
  "additionalProperties": false
}
get_product – Returns one product by slug: its live catalogue entry (price, licence, lifecycle state, the specification address) together with the routes fetch_data can ca...
Input schema
{
  "type": "object",
  "required": [
    "product"
  ],
  "properties": {
    "product": {
      "type": "string",
      "pattern": "^[a-z0-9][a-z0-9_-]{0,63}$",
      "description": "a product slug from list_products"
    }
  },
  "additionalProperties": false
}
get_topup_link – Opens 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 — ...
Input schema
{
  "type": "object",
  "required": [
    "amount_minor"
  ],
  "properties": {
    "secret": {
      "type": "string",
      "minLength": 1,
      "description": "the account's secret — the string sign_up returned as secret; the data key in the client configuration cannot open a payment; when both are present the argument wins"
    },
    "currency": {
      "type": "string",
      "default": "USD",
      "description": "USD is the only currency the platform accepts; the platform refuses any other"
    },
    "amount_minor": {
      "type": "integer",
      "minimum": 1,
      "description": "the amount in the currency's minor unit (cents); the platform's minimum is 1000 = $10 and the platform checks it"
    }
  },
  "additionalProperties": false
}
list_products – Lists 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...
Input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
sign_up – Creates 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 acc...
Input schema
{
  "type": "object",
  "required": [
    "email"
  ],
  "properties": {
    "email": {
      "type": "string",
      "format": "email",
      "maxLength": 254,
      "description": "the owner's email address — the account's identity; one account per address"
    }
  },
  "additionalProperties": false
}

Calls, last 30 days

2026-10-07 to 2026-11-05 · 0 calls

No relayed calls in the last 30 days.

Probes

Last 7, newest at the top. Probes carry no credential.
Probed at Outcome HTTP Latency ms
ok 200 494
ok 200 499
ok 200 492
ok 200 498
ok 200 490
ok 200 537
ok 200 492

Connect via pick.tools

Claude Code

claude mcp add --transport http pick https://pick.tools/mcp

JSON config (mcpServers)

{
  "mcpServers": {
    "pick": {
      "type": "http",
      "url": "https://pick.tools/mcp"
    }
  }
}

One pick.tools connection reaches every keyless and API-key server in the catalog.

For OpenWeather

pick.tools probes this server hourly, without a credential, as pick.tools-probe/1 (+https://pick.tools/docs/for-vendors). Calls relayed for agents arrive as pick.tools/1 (+https://pick.tools/docs/for-vendors). For vendors lists the egress IPs and how to opt out.