Skip to main content
Glama

Rain Check

Удалённый MCP-сервер, который отвечает, можно ли выполнять полевые работы в Австралии в определённом месте и в определённый день для заданной профессии, на основе данных о погоде, световом дне и государственных праздниках.

Live: https://rain-check-mu.vercel.app MCP endpoint: https://rain-check-mu.vercel.app/mcp OpenAPI: https://rain-check-mu.vercel.app/openapi.json Health: https://rain-check-mu.vercel.app/health

Подключите его

claude mcp add --transport http rain-check https://rain-check-mu.vercel.app/mcp

Любой MCP-клиент, поддерживающий Streamable HTTP, может использовать тот же URL. Он работает только через POST: сервер не хранит состояние, поэтому GET и DELETE отвечают 405 по замыслу.

Для всего, что не поддерживает MCP, идентичные операции доступны по адресу /v1/<operation> и описаны в /openapi.json, который генерируется из тех же констант, что и инструменты MCP, поэтому они не могут расходиться.

Related MCP server: bizdays

Запустите его локально

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 evidence

Здесь нет моков. Их цель — поймать изменение формы вышестоящего сервиса, а мок этого никогда не сделает.

npm run adversarial — это тот, который находит проблемы. Он отправляет на развёрнутый сервер бессмысленные диапазоны, враждебные строки, неверные типы, повреждённые кадры протокола; отказ с понятным сообщением проходит, а 500 или уверенный ответ на вопрос, на который отвечать не следует, — проваливается. Он нашёл три реальных бага, которые пропустили сценарии счастливого пути.

Проверка без доверия этому репозиторию

npm run prove существует потому, что прохождение моих собственных тестов мало что доказывает тому, кто их не писал. Он подключается через официальный SDK MCP-клиента, затем берёт каждое число, сообщённое сервером, и повторно запрашивает тот же день напрямую у Open-Meteo, сравнивая поле за полем, и выводит URL вышестоящего сервиса, который использовал, чтобы вы могли открыть его сами.

Ещё три способа, не требующих ничего отсюда:

# 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 list

И версия, которой нужен только браузер: откройте оба и сравните даты. rain_mm в первом равно precipitation_sum во втором.

Развёртывание

vercel deploy --prod

Как он устроен

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 runs

Обе входные точки импортируют src/core.ts. Это единственный способ гарантировать, что пользовательский GPT и MCP-клиент дадут одинаковый ответ, а это значит, что порог, установленный один раз, действует везде.

Чего он не будет делать

  • Выдавать порог за допуск по безопасности. Это плановые значения по умолчанию, показанные в каждом ответе и переопределяемые при каждом вызове.

  • Угадывать за пределами шестнадцатидневного прогноза. Более поздние даты возвращаются в out_of_range с причиной и без данных.

  • Пропускать сторонние данные о праздниках как авторитетные. Это только уровень штата, без региональных или показательных дней, и каждый ответ ссылается на официальную страницу правительства штата.

  • Заполнять пробел догадкой. Когда вышестоящий сервис недоступен, инструмент сообщает, какой именно и что делать, и говорит модели не подменять ответ мнением.

  • Выбирать между двумя Ричмондами. Неоднозначность возвращается как кандидаты.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Provides LLMs with real-time, historical, and forecast Australian weather data via Open-Meteo, using plain-English location keys and fuzzy search.
    7
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Provides deterministic business-day calculations for AI agents, correctly handling country-specific weekends and public holidays.
    6
    90
    1
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides access to Australian weather data from the Bureau of Meteorology, enabling location search, forecasts, and current observations.
    2
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Aa-ronJS/rain-check'

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