Rain Check
Rain Check
Un servidor MCP remoto que responde si un trabajo de servicio de campo australiano se puede realizar en un lugar y un día determinados, para un oficio dado, a partir de datos en vivo de previsión meteorológica, luz diurna y días festivos.
En vivo: https://rain-check-mu.vercel.app Punto de conexión MCP: https://rain-check-mu.vercel.app/mcp OpenAPI: https://rain-check-mu.vercel.app/openapi.json Estado: https://rain-check-mu.vercel.app/health
Conéctalo
claude mcp add --transport http rain-check https://rain-check-mu.vercel.app/mcpCualquier cliente MCP que hable Streamable HTTP puede usar la misma URL. Solo es POST: el servidor no tiene estado, por lo que GET y DELETE responden 405 por diseño.
Para cualquier cosa que no hable MCP, las operaciones idénticas están en /v1/<operation> y se describen en /openapi.json, que se genera a partir de las mismas constantes que usan las herramientas MCP, de modo que no pueden divergir.
Related MCP server: anz-schedule-brain
Ejecútalo localmente
npm install
npm run typecheck # tsc, no emit
npm run smoke # every operation against the real upstreams
npm run smoke:mcp # every endpoint over a real node:http server
npm run smoke:live -- https://rain-check-mu.vercel.app # the deployed server
npm run adversarial -- https://rain-check-mu.vercel.app # tries to break it
npm run prove -- https://rain-check-mu.vercel.app # independent evidenceNo hay mocks en ninguna parte. El objetivo de estos es detectar si un proveedor aguas arriba cambia de forma, y un mock nunca lo hará.
npm run adversarial es el que encuentra cosas. Lanza rangos sin sentido, cadenas hostiles, tipos incorrectos, coordenadas extranjeras y tramas de protocolo malformadas al servidor desplegado; una negativa con un mensaje utilizable pasa, un 500 o una respuesta segura a una pregunta que no debería responder falla. Encontró tres errores reales que las suites del camino feliz habían pasado por alto.
Comprobarlo sin confiar en este repositorio
npm run prove existe porque que mis propios tests pasen demuestra muy poco a quien no los ha escrito. Se conecta con el SDK oficial del cliente MCP, luego toma cada número que el servidor informó y vuelve a obtener el mismo día directamente de Open-Meteo, comparando campo por campo, e imprime la URL del proveedor que usó para que puedas abrirla tú mismo.
Tres formas más, que no necesitan nada de aquí:
# Anthropic's own inspector, not my code
npx @modelcontextprotocol/inspector --cli https://rain-check-mu.vercel.app/mcp --transport http --method tools/list
# raw JSON-RPC, no client, no session, because it is stateless
curl -s -X POST https://rain-check-mu.vercel.app/mcp -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
# let your own client run its health check against it
claude mcp add --transport http rain-check https://rain-check-mu.vercel.app/mcp
claude mcp listY la versión que solo necesita un navegador: abre ambas y compara las fechas. rain_mm en la primera equivale a precipitation_sum en la segunda.
Desplegar
vercel deploy --prodCómo está organizado
src/core.ts the six operations, with no transport in them
src/mcpServer.ts the MCP tool surface
src/lib/ http, dates, geocoding, forecast, holidays, thresholds, verdicts
api/mcp.ts Streamable HTTP, stateless
api/v1/[op].ts the same operations over REST
api/openapi.ts the OpenAPI document, generated from the same constants
api/health.ts calls every upstream and reports real latency
public/index.html the landing page, including the build log
scripts/ the three verification runsAmbas puertas de entrada importan src/core.ts. Es la única forma de que el GPT personalizado y el cliente MCP se pueda confiar en que den la misma respuesta, y significa que un umbral fijado una vez queda fijado en todas partes.
Lo que no hará
Presentar un umbral como una autorización de seguridad. Son valores predeterminados de planificación, que se muestran en cada respuesta y se pueden anular en cada llamada.
Adivinar más allá de la previsión de dieciséis días. Las fechas posteriores se devuelven en
out_of_rangecon el motivo y sin datos.Permitir que los datos de días festivos de terceros se tomen como autoritativos. Son solo a nivel estatal, no incluyen días regionales ni de feria, y cada respuesta enlaza con la página oficial del gobierno estatal.
Rellenar un vacío con una suposición. Cuando un proveedor no está disponible, la herramienta dice cuál es y qué hacer, y le indica al modelo que no sustituya una opinión.
Elegir entre dos Richmond. La ambigüedad se devuelve como candidatos.
Fuentes de datos
Clima y geocodificación: Open-Meteo, CC BY 4.0.
Días festivos: Nager.Date, terceros, solo a nivel estatal.
La API de la Oficina de Meteorología no se utiliza: sus propios términos dicen "You must not use, copy or share it".
This server cannot be deployed
Maintenance
Related MCP Connectors
Reliable Australian business-day, public-holiday and deadline tools for AI agents.
Field service management for trades: clients, jobs, estimates, invoices, schedule and reports.
Field service management: find customers, read the schedule, create and book jobs, add notes.
- JobkeeprOAuthcom.jobkeepr
Manage jobs, customers, scheduling, estimates and invoices for a field service business.
Related MCP Servers
- AlicenseAqualityFmaintenanceOne-call Australian weather plumbing for current and historical data — cited responses for practical analysis, not a data broker.757 PyPIMIT
- FlicenseAqualityDmaintenanceProvides verified ANZ public holidays, school terms, and business-day calculations for all 9 regions of Australia and New Zealand, backed by data for 2026 and 2027.3-
- AlicenseAqualityDmaintenanceProvides farm and land decision support tools (irrigation advice, frost risk, growing degree days, dry spell status) using free public weather and soil data, without requiring any API keys.78 npm2MIT
- FlicenseAqualityBmaintenanceEnables scheduling of construction works against weather forecasts, using deterministic tools to check weather suitability, estimate curing times, and place dependent tasks into the earliest non-prohibited time windows.4-