xmpuspus/ph-civic-data-mcp

xmpuspus/ph-civic-data-mcp

от xmpuspus
MCP-сервер, объединяющий филиппинские открытые данные: землетрясения, погода, тайфуны, госзакупки, население, бедность, экономические показатели. Работает без API-ключей. Полезен AI-агентам, журнал...

ph-civic-data-mcp

The multi-source MCP server for Philippine civic data. PSGC codes, infra spending accountability, earthquakes, weather, typhoons, procurement, population, poverty, solar radiation, air quality, satellite vegetation indices, and macro indicators — all in your AI agent, no API keys required.

PyPI Python 3.11+ License: MIT Glama AAA MCP Registry

One-click install: Add to Cursor Add to VS Code Install via Smithery Add via Claude Code

ph-civic-data-mcp is a zero-cost, stdio-transport MCP server. v0.5.0 is a reliability + agent-UX pass from a full product audit: list tools now return an explicit {results: [], upstream_error: true, caveats} envelope on upstream failure instead of an empty list (an outage can no longer read as "no earthquakes"), failures are never cached, the PSGC resolver understands nicknames (QC, Gensan, CDO) and surfaces alternatives for ambiguous names, volcano alert levels are stitched into both multi-hazard composites, and the server now ships MCP resources + prompts. v0.4.0 expands the PSA OpenSTAT layer beyond population/poverty into the live economy — get_inflation_stats (regional CPI), get_labor_stats (Labor Force Survey), get_health_indicators — and adds the auto-stitch differentiator get_area_profile: name a place once and get the resolved PSGC spine plus demographics, economy, procurement, hazard, and weather composed in a single agent turn, with infrastructure notices already normalized per 100k residents. v0.3.1 was a correctness pass on the v0.3.0 accountability layer (no fabricated PAGASA advisories, stoplisted hazard tokens, "City of Manila" coordinate bridge, province/agency-alias infra search). v0.3.0 added the PH Accountability layer: PSGC location resolver, infra spending search, and one cross-source heuristic that flags procurement notices for further review by cross-referencing PHIVOLCS earthquakes and PAGASA typhoon footprints. v0.2.0 added six no-auth scientific + open-data sources (NASA POWER, Open-Meteo Air Quality, NASA MODIS, USGS FDSN, NOAA IBTrACS, World Bank Open Data) on top of the original four Philippine government feeds (PHIVOLCS, PAGASA, PhilGEPS, PSA). 29 tools total. Boots and runs with zero API keys.

Инструменты были проиндексированы:
assess_area_riskтолько чтениеидемпотентныйвнешний мир

Оценка риска множественных угроз на основе данных PHIVOLCS + PAGASA. Выполняет параллельные вызовы к PHIVOLCS (землетрясения, уровни вулканической тревоги) и PAGASA (активные тайфуны, погодные предупреждения). Время отклика: 3-6 секунд. earthquake_risk_level - эвристическая интерпретация недавней сейсмической активности, а не официальная оценка опасности от PHIVOLCS. Примеры: assess_area_risk("Manila") assess_area_risk("Batangas") При сбое: этот инструмент никогда не выбрасывает исключений. Неудачный подвызов к PHIVOLCS или PAGASA отображается в caveats как запись с указанием источника, а остальные источники по-прежнему возвращают данные. data_status принимает значение "success", когда все подвызовы завершились успешно, "indeterminate", когда часть завершилась с ошибкой, и "unavailable", когда не удался ни один; в двух последних случаях upstream_error равен true.

Снимок риска множественных опасностей для места.

Параметры
  • locationstringобязательный

    Municipality, city, or province name.

browse_psa_catalogтолько чтениеидемпотентныйвнешний мир

Перечисляет один уровень статистического каталога PSA OpenSTAT. OpenSTAT публикует около 2 900 таблиц по 27 темам. Инструмент обходит это дерево по одному уровню за раз, поэтому агент может найти набор данных, не угадывая идентификатор таблицы. Запись dataset означает таблицу .px. Передайте её path в describe_psa_dataset перед вызовом query_psa_dataset. Глубина папок зависит от темы, поэтому продолжайте просмотр, пока записи не начнут возвращаться как dataset. Примеры: browse_psa_catalog() 27 тем верхнего уровня browse_psa_catalog("1F") один уровень вглубь по теме Poverty browse_psa_catalog("1F/FY") таблицы Full Year Poverty Statistics При сбое: data_status принимает значение "invalid_request" при отклонённом аргументе и "unavailable" при недоступности OpenSTAT. Неверный path устанавливает validation_error в true до отправки запроса. Недоступный каталог устанавливает upstream_error в true, а настоящая ошибка попадает в caveats. В обоих случаях возвращается пустой список entries, и это никогда не означает, что папка пуста.

Просматривает каталог PSA OpenSTAT.

Параметры
  • pathstring | null

    Relative catalog path such as "1F" or "1F/FY". None or "" returns the 27 top-level subjects. Use the path field of an entry from a previous call to go one level deeper.

compare_areasтолько чтениеидемпотентныйвнешний мир

Сравнивает показатели двух-пяти филиппинских населённых пунктов в одной таблице. Вызывает get_area_profile для каждого населённого пункта и формирует по одной строке для каждого пункта, так что агенту не приходится вызывать get_area_profile отдельно для каждого пункта и самостоятельно объединять результаты. Параметр locations должен содержать от 2 до 5 записей. Параметр metrics, если он задан, должен браться только из фиксированного разрешённого списка из восьми имён, а по умолчанию в него входят все восемь. Параметр format может быть равен "json" или "csv". При значении "csv" в поле export добавляется CSV-строка. Примеры: compare_areas(["Cebu City", "Davao City"]) compare_areas(["Cebu City", "Davao City"], metrics=["population"]) При сбое: отклонённый запрос, например, с неверным количеством locations, слишком большим числом или дубликатами metrics, неизвестной метрикой или неверным форматом, никогда не приводит к вызову get_area_profile. Такой запрос возвращает validation_error: true и data_status "invalid_request". Населённый пункт, который не удаётся распознать, всё равно получает строку с resolved_name None, общий data_status становится "indeterminate" или "unavailable", а comparable становится false с предупреждением, в котором указан нераспознанный пункт.

Сравнивает показатели гражданской активности в разных местах.

Параметры
  • formatstring

    "json" (default) or "csv".

  • locationsstring[]обязательный

    2 to 5 place names, e.g. ["Cebu City", "Davao City"].

  • metricsstring[] | null

    Names to compare, from population, population_year, poverty_incidence_pct, poverty_year, headline_inflation_pct, employment_rate_pct, infra_notice_count, earthquake_risk_level. Defaults to all eight.

describe_psa_datasetтолько чтениеидемпотентныйвнешний мир

Получает измерения и допустимые коды значений одного набора данных PSA OpenSTAT. Вызывайте это перед query_psa_dataset. Инструменту запроса нужен явный код значения для каждого измерения, и эти коды находятся здесь. total_cells - это размер полного куба. Запрос должен выбирать не больше max_cells_per_query ячеек, поэтому указывайте явные коды для каждого измерения. Примеры: describe_psa_dataset("1F/FY/0241F3DF013.px") измерения и коды значений для одной таблицы При сбое: data_status принимает значение "invalid_request" при отклонённом аргументе и "unavailable" при недоступности OpenSTAT. Путь, который не является набором данных .px, устанавливает validation_error true до отправки любого запроса. Нечитаемый набор данных устанавливает upstream_error true, а реальная ошибка содержится в caveats. Оба случая возвращают пустой список измерений.

Описывает набор данных PSA OpenSTAT.

Параметры
  • dataset_pathstringобязательный

    Relative path to a .px dataset, for example "1F/FY/0241F3DF013.px". Take it from the path field of a browse_psa_catalog dataset entry.

flag_infra_anomaliesтолько чтениеидемпотентныйвнешний мир

Помечает инфраструктурные проекты PhilGEPS, которые заслуживают дальнейшей проверки, сверяя их с данными о землетрясениях PHIVOLCS и следах тайфунов PAGASA. Этот инструмент выдаёт эвристические индикаторы аномалий, а не обвинения. Каждый помеченный элемент сопровождается сработавшим правилом и оговоркой, что у паттернов могут быть разумные объяснения. Эвристические правила: - duplicate_titles_same_agency: одно и то же агентство подаёт несколько уведомлений с практически одинаковыми названиями (без учёта регистра) в пределах окна - high_cost_no_published_progress: cost_php превышает min_cost_php. Открытый список PhilGEPS не публикует данных о ходе выполнения НИ для одного уведомления, поэтому это флаг прозрачности, срабатывающий по порогу стоимости, а не вывод «прогресс отсутствует» по конкретному проекту. - hazard_overlap: ключевые слова местоположения проекта пересекаются с недавним землетрясением PHIVOLCS (>=M4.0 за последние 30 дней) или активным следом тайфуна PAGASA, что указывает на срочность или на контекст восстановления после стихийного бедствия. Примеры: flag_infra_anomalies() flag_infra_anomalies(min_cost_php=100_000_000) При сбое: этот инструмент никогда не выбрасывает исключений. data_status равен "success", когда загружаются PhilGEPS, PHIVOLCS и PAGASA, "indeterminate", когда один или два источника не загружаются, и "unavailable", когда не загружаются все три. В последних двух случаях upstream_error равен true. Неудачный вложенный вызов появляется в caveats как запись с указанием источника, а список помеченных элементов по-прежнему возвращает данные из каждого источника, который ответил.

Отмечает аномалии в расходах на инфраструктуру.

Параметры
  • min_cost_phpnumber

    Threshold for the high_cost_no_published_progress rule (default 50,000,000 PHP).

  • provincestring | null

    Province filter (partial match).

  • regionstring | null

    PH region filter for the project list.

get_active_typhoonsтолько чтениеидемпотентныйвнешний мир

Получает активные тропические циклоны в зоне ответственности Филиппин (PAR) или рядом с ней. Возвращает пустой список, когда нет активного циклона. Этот инструмент разбирает текущую страницу бюллетеней PAGASA с помощью регулярных выражений. Изменение формулировок в бюллетене может пропустить циклон, но само состояние «нет активных» определяется надежно. Примеры: get_active_typhoons() # только форма вызова, без аргументов При сбое: Когда страница бюллетеней PAGASA недоступна, этот инструмент возвращает data_status "unavailable", upstream_error: true, results: [], а реальную ошибку в caveats. Такая форма никогда не совпадает с настоящим ответом «нет активных тайфунов», который на самом деле просто пустой список. Когда страница загружается, но ни маркер «нет активного циклона», ни имя циклона не совпадают, этот инструмент возвращает data_status "indeterminate" вместо того чтобы угадывать «нет активных тайфунов». Возвращает: список тайфунов, каждый с полями local_name, international_name, category, max_winds_kph, within_par, signal_numbers, bulletin_number, source, bulletin_url, data_retrieved_at. Или указанный выше словарь сбоя.

Активные тропические циклоны в PAR

Параметры

Без параметров.

get_air_qualityтолько чтениеидемпотентныйвнешний мир

Возвращает качество воздуха в реальном времени для города на Филиппинах через Open-Meteo (без API-ключа). Возвращает PM2.5, PM10, CO, NO2, SO2 и O3, а также европейский AQI и американский AQI с интерпретацией категорий. Охватывает около 80 крупных городов Филиппин через локальную таблицу координат. measured_at всегда в UTC, никогда не в часовом поясе Asia/Manila. Примеры: get_air_quality("Manila") # current readings for Metro Manila get_air_quality("Cebu City") # current readings for Cebu City get_air_quality("Davao") # current readings for Davao City При сбое: если местоположение отсутствует в таблице координат, возвращается data_status "invalid_request", с validation_error true и caveat, указывающим местоположение. При сбое запроса к Open-Meteo возвращается data_status "unavailable", с upstream_error true и текстом реальной ошибки в caveats. Если в ответе нет времени, время не удаётся разобрать или отсутствует поле с данными о загрязняющих веществах, возвращается data_status "indeterminate", с upstream_error true и caveat, описывающим проблему.

Качество воздуха в филиппинской локации

Параметры
  • locationstringобязательный

    City or municipality name, such as "Manila", "Cebu City", or "Davao".

get_area_profileтолько чтениеидемпотентныйвнешний мир

Формирует связанный профиль населённого пункта Филиппин за один вызов. Однократно сопоставляет место со стандартным географическим кодом PSA, затем собирает демографию (население, бедность), экономику (региональная инфляция, национальный рынок труда), активность закупок, риски множественных опасностей и краткосрочный прогноз погоды за один ход агента вместо восьми. Добавляет производный контекст из разных источников (например, уведомления об инфраструктуре на 100 000 жителей), чтобы вызывающему коду не приходилось самостоятельно нормализовать сырые числа. Примеры: get_area_profile("Cebu City") демография, опасности, погода на уровне города get_area_profile("NCR") уровень региона, без провинции в цепочке get_area_profile("Tacloban") город в составе определённой провинции При сбое: каждый блок (population, poverty, inflation, labor, hazard, weather, infra, resolve) получает собственный статус в blocks. Неудавшийся соседний блок отображается там и в caveats, но никогда не возвращается как молчаливый null. Верхнеуровневый upstream_error равен true только тогда, когда блок действительно недоступен, а не когда соседний блок отклонил аргумент или вернул настоящий пустой ответ.

Гражданский профиль для места по одному звонку

Параметры
  • locationstringобязательный

    Municipality, city, province, or region name. e.g. "Leyte", "Cebu City", "Davao Region", "NCR".

get_data_freshnessтолько чтениеидемпотентный

Проверяет состояние сервера и каталог источников данных. Также работает как эндпоинт версии и состояния: возвращает server_version, чтобы агент мог подтвердить, с каким релизом он общается. Кроме того, возвращает полный каталог вышестоящих источников: TTL кэша, ожидания свежести и лицензии. Используйте его, чтобы оценить, достаточно ли устаревшего кэшированного ответа или нужен повторный запрос. Примеры: get_data_freshness() # единственный вызов, аргументов не принимает При сбое: этот инструмент сам не обращается к вышестоящему источнику, поэтому всегда возвращает dict. source_health - это локальный для процесса реестр в памяти, а не база данных. При холодном запуске он пуст и заполняется по мере выполнения вызовов fetch_with_retry, поэтому сразу после перезапуска здесь всегда будет пустой dict. Возвращает: server_version, server_name, transport, tool_count, asof, sources (список {source, source_url, freshness, cache_ttl_seconds, license}), source_health (для каждого хоста {last_success_at, last_failure_at, last_error, last_latency_ms, success_count, failure_count}), cache_age (для каждого кэша {size, ttl_seconds}), note.

Состояние сервера и каталог источников данных

Параметры

Без параметров.

get_earthquake_bulletinтолько чтениеидемпотентныйвнешний мир

Получает полный бюллетень о событии землетрясения PHIVOLCS. Разбирает страницу бюллетеня, которую PHIVOLCS публикует для одного события: магнитуда, глубина, местоположение, дата и время, а также отчёты об интенсивности по муниципалитетам. Принимает bulletin_url, который вернул предыдущий вызов get_latest_earthquakes. Отклоняет URL, собранный вручную или ведущий на сторонний хост, до любой попытки запроса. Примеры: get_earthquake_bulletin("https://phivolcs.dost.gov.ph/index.php") # реальная форма URL бюллетеня При сбое: пустой, некорректный или не относящийся к PHIVOLCS bulletin_url либо 404 на самой странице возвращает dict только с полями url, source, caveats и data_retrieved_at, без полей data_status, upstream_error, magnitude и location. Если запрос вызывает исключение, функция устанавливает data_status 'unavailable' и upstream_error true.

Бюллетень землетрясений PHIVOLCS

Параметры
  • bulletin_urlstringобязательный

    Full URL returned by get_latest_earthquakes.bulletin_url.

get_health_indicatorsтолько чтениеидемпотентныйвнешний мир

Национальные индикаторы здоровья из PSA OpenSTAT (раздел 1D). Без аргументов возвращает отобранный национальный набор ключевых показателей: коэффициент материнской смертности и суммарный коэффициент рождаемости. Передайте свободный текст indicator, чтобы по нечёткому совпадению найти любую таблицу, опубликованную в разделе Health. Список доступных таблиц определяется обзором каталога и не зашит в код. Примеры: get_health_indicators() коэффициент материнской смертности и коэффициент рождаемости get_health_indicators(indicator="fertility") одна подходящая таблица При сбое: ошибка просмотра каталога устанавливает data_status "unavailable" и upstream_error true, а список indicators остаётся пустым. Ключевое слово, не соответствующее ни одной таблице, устанавливает data_status "success" с пустым списком indicators и примечанием, а не флагом ошибки. Частичный сбой при получении данных по совпавшим таблицам устанавливает data_status "indeterminate" и upstream_error true. validation_error всегда остаётся false.

Филиппинские показатели здоровья

Параметры
  • indicatorstring | null

    Optional free-text indicator name, for example "maternal mortality", "fertility". None returns the default headline set.

get_historical_typhoons_phтолько чтениеидемпотентныйвнешний мир

Исторические траектории тропических циклонов, проходивших через Филиппинскую зону ответственности. Источник: NOAA IBTrACS (International Best Track Archive), авторитетный глобальный архив траекторий тропических циклонов. Данные отфильтрованы по бассейну западной части Тихого океана и координатам внутри Филиппинской зоны ответственности, агрегированы по отдельным штормам. Функция построчно читает исходный CSV и возвращает самые недавние штормы, пересекшие PAR, отсортированные по времени начала. Возвращает пиковую интенсивность, минимальное давление и период траектории. Примеры: get_historical_typhoons_ph() # последние 3 года, до 30 штормов get_historical_typhoons_ph(year=2024) # сезон 2024, до 30 штормов get_historical_typhoons_ph(year=2024, limit=10) # сезон 2024, до 10 штормов В случае сбоя (ошибка потока, ответ без строк данных или заголовок CSV без обязательной колонки) возвращается dict. data_status равен "unavailable", upstream_error равен true, results пуст, а текст реальной ошибки указан в caveats.

Исторические траектории тайфунов через PAR

Параметры
  • limitinteger

    Max storms to return (default 30).

  • yearinteger | null

    Season year. None returns recent (last 3 years).

get_inflation_statsтолько чтениеидемпотентныйвнешний мир

Возвращает общую инфляцию потребительских цен (в годовом выражении, все позиции) из PSA. Источник: индекс потребительских цен PSA OpenSTAT, база 2018 года. Инструмент находит актуальный ряд CPI по текстовому названию, никогда не используя жёстко заданный идентификатор таблицы, и возвращает изменение в годовом выражении за последний опубликованный месяц. PSA публикует с задержкой, поэтому отчётный период - это самый свежий период, который есть у PSA, а не всегда текущий месяц. Примеры: get_inflation_stats() общая инфляция по стране, последний месяц get_inflation_stats(area="NCR") один регион При сбое: любой сбой, в том числе название региона, которого нет в списке PSA, устанавливает data_status "unavailable" и upstream_error true, а реальное сообщение об ошибке или сообщение о ненахождении попадает в caveats. validation_error остаётся false в любом случае, потому что некорректное название региона здесь считается сбоем источника, а не ошибкой вызывающего.

Филиппинская инфляция потребительских цен

Параметры
  • areastring | null

    Region or "Philippines". None returns the national figure. For example "NCR", "Region VII", "Davao Region".

get_infra_projectтолько чтениеидемпотентныйвнешний мир

Возвращает полную запись инфраструктурного проекта по project_id. Этот инструмент ищет project_id в том же последнем окне PhilGEPS примерно на 100 уведомлений, которое читает search_infra_projects. Идентификатор из более старого окна возвращает matched: false, а не ошибку, потому что окно уже сдвинулось. Примеры: get_infra_project("PHILGEPS-INF-003") get_infra_project("DOES-NOT-EXIST") При сбое: пустой project_id или проект, отсутствующий в текущем окне, оба возвращают matched: false с caveat, без upstream_error и без data_status. Сбой при обращении к PhilGEPS возвращает matched: false, data_status "unavailable", upstream_error true и текст реальной ошибки в caveats.

Детали уведомления об инфраструктуре

Параметры
  • project_idstringобязательный

    Reference number from search_infra_projects.

get_labor_statsтолько чтениеидемпотентныйвнешний мир

Ключевые показатели рабочей силы из Обследования рабочей силы PSA. Возвращает показатели участия в рабочей силе, занятости, безработицы и неполной занятости за последний опубликованный отчетный период. Серия ключевых показателей PSA включает только национальные данные. Передача region не фильтрует показатель. Она лишь добавляет пояснительное примечание, потому что в этой таблице нет разбивки по регионам. Примеры: get_labor_stats() национальные показатели, последний отчетный период get_labor_stats(region="Cebu") те же национальные показатели, плюс примечание При сбое: ошибка обнаружения или запроса OpenSTAT устанавливает data_status "unavailable" и upstream_error true, а реальная ошибка записывается в caveats. validation_error всегда остаётся false.

Показатели рабочей силы Филиппин

Параметры
  • regionstring | null

    Accepted for API symmetry. The LFS key-indicator table is national only. Passing a region adds an explanatory caveat.

get_latest_earthquakesтолько чтениеидемпотентныйвнешний мир

Получает последние события землетрясений от PHIVOLCS. Читает актуальный список землетрясений PHIVOLCS, ту же таблицу, что показана на earthquake.phivolcs.dost.gov.ph. Принимает center_lat, center_lon и radius_km вместе, чтобы отфильтровать события рядом с одним местом, и каждое подходящее событие получает поле distance_km. Все три параметра передаются вместе или не передаются вовсе. Примеры: get_latest_earthquakes() последние события, стандартные фильтры get_latest_earthquakes(min_magnitude=4.0, limit=10) только сильные события get_latest_earthquakes(center_lat=14.5995, center_lon=120.9842, radius_km=50) рядом с Манилой При сбое: некорректная тройка параметров или любой из параметров radius_km, center_lat или center_lon вне допустимого диапазона даёт validation_error true и data_status "invalid_request". Недоступный или не поддающийся разбору список PHIVOLCS даёт upstream_error true и data_status "unavailable". Оба случая возвращают results: [] с настоящей ошибкой в поле caveats.

Последние землетрясения PHIVOLCS

Параметры
  • center_latnumber | null

    Latitude of a search point. Give with center_lon and radius_km to filter to events near one place instead of the full recent-events list.

  • center_lonnumber | null

    Longitude of a search point. Give with center_lat and radius_km.

  • limitinteger

    Max events to return (default 20, max 100).

  • min_magnitudenumber

    Minimum magnitude to include (default 1.0).

  • radius_kmnumber | null

    Keep only events within this distance of (center_lat, center_lon). Give all three of center_lat, center_lon, and radius_km together, or none of them. Each returned event then carries a distance_km field.

  • regionstring | null

    Filter by PH region/province/city name (partial match).

get_location_hierarchyтолько чтениеидемпотентныйвнешний мир

Возвращает полную цепочку регион -> провинция -> город/муниципалитет -> барангай для одного кода PSGC. Этот инструмент проверяет, что psgc_code имеет корректный формат, прежде чем отправлять любой запрос. Некорректный код никогда не доходит до сети. Неизвестный, но корректный код или сбой зеркала PSGC дают пустую цепочку вместо совпадения. Чтобы различить эти два случая, проверьте поля, перечисленные ниже. Примеры: get_location_hierarchy("072217000") Себу-Сити, цепочка поднимается через провинцию и регион get_location_hierarchy("999999999") корректный, но неизвестный код get_location_hierarchy("not-a-code") некорректный, отклоняется до обращения к сети При сбое некорректный код возвращает validation_error: true, data_status "invalid_request" и chain: [], сетевой вызов при этом не выполняется. Настоящий сбой зеркала во время поиска или обхода иерархии возвращает chain: [], upstream_error: true и реальную ошибку в caveats. Обычный ответ для неизвестного кода возвращает chain: [] и caveats, и ни один из ключей не установлен.

Полная иерархия PSGC для места

Параметры
  • psgc_codestringобязательный

    9-digit PSGC code (leading zeros optional).

get_population_statsтолько чтениеидемпотентныйвнешний мир

Данные о населении из переписи PSA, получаемые в реальном времени из OpenSTAT. По умолчанию используется последняя перепись, которую публикует PSA: перепись населения 2024 года, референсная дата 2024-07-01, по состоянию на 2026-09. Для более ранней переписи (2010, 2015, 2020) передайте year. Каждый результат указывает перепись, референсную дату и уровень географии, а для таблиц 2024 года также код PSGC, который PSA использовала в качестве ключа строки. Примеры: get_population_stats() национальный итог, последняя перепись get_population_stats(region="NCR") один регион, провинция или HUC по метке PSA get_population_stats(region="Cebu", year=2020) get_population_stats(psgc_code="0831600000") город Таклобан, перепись 2024 года get_population_stats(psgc_code="083747000") то же место, 9-значный код get_population_stats(psgc_code="1380100001") один барангай, перепись 2024 года При сбое: data_status равен "unavailable", когда PSA недоступна, при этом upstream_error равен true. data_status равен "invalid_request" для неизвестного региона, года или кода PSGC, при этом validation_error равен true. data_status равен "empty", когда для допустимого кода PSGC нет строки в выбранной таблице переписи. caveats всегда содержит текст реальной ошибки. population равно None при любом сбое. Сбои никогда не кэшируются.

Статистика населения Филиппин

Параметры
  • psgc_codestring | null

    A 9- or 10-digit PSGC code from resolve_ph_location. Reaches cities, municipalities and barangays (2024 Census only). Not combined with region.

  • regionstring | null

    Region, province or highly urbanized city as PSA labels it, such as "NCR", "Region VII", "CAR", "BARMM", "Leyte", "City of Manila". None returns the national total.

  • yearinteger | null

    Census year. None picks the latest. A year PSA has no census for returns validation_error with available_vintages.

get_poverty_statsтолько чтениеидемпотентныйвнешний мир

Уровень бедности из таблицы PSA Full Year Poverty Statistics. PSA публикует эти данные раз в год, с задержкой. По состоянию на 2026-09 последний опубликованный год - 2023. Инструмент находит текущую таблицу на лету, поэтому более поздний выпуск появляется без изменения кода. Он также возвращает уровень нищеты, если PSA публикует обе таблицы за один и тот же год. Примеры: get_poverty_stats() национальный уровень бедности, последний год get_poverty_stats(region="Bicol") один регион, метка PSA get_poverty_stats(region="NCR") Национальный столичный регион При ошибке: сбой обнаружения, отсутствующее измерение Incidence, неразбираемая метка года или сбой запроса устанавливают data_status "unavailable" и upstream_error true. Регион, отсутствующий в списке PSA, устанавливает data_status "invalid_request" и validation_error true. Таблица без соответствующего показателя уровня бедности или ячейка, у которой поле values не имеет тип списка, устанавливают data_status "indeterminate" и upstream_error true. Опубликованная ячейка ".." для региона и года не устанавливает ни флага ошибки, ни data_status. Вместо этого проверяйте оговорки. Сбой таблицы уровня нищеты устанавливает upstream_error true при в остальном корректном показателе бедности, но оставляет data_status "success".

Уровень бедности на Филиппинах

Параметры
  • regionstring | null

    PH region (None returns national).

get_procurement_summaryтолько чтениеидемпотентныйвнешний мир

Агрегирует статистику закупок по последним извещениям из кэша PhilGEPS. Этот инструмент агрегирует то же окно последних ~100 извещений, которое читает search_procurement (кэш 6 часов). rules_evaluated показывает, какие разбивки выполнялись: by_mode и by_region. rules_not_computable объясняет, почему total_value_php остаётся null: открытые извещения PhilGEPS не публикуют утверждённые суммы бюджета. Примеры: get_procurement_summary() get_procurement_summary(agency="DPWH", year=2025) При сбое: data_status "unavailable", upstream_error true, суммы нулевые, а by_mode/by_region/top_agencies пустые; реальная ошибка PhilGEPS приводится в caveats. Если год задан не обычным целым числом, возвращается validation_error: true и data_status "invalid_request" до выполнения запроса, с указанием неверного значения.

Обобщает информацию о закупках PhilGEPS.

Параметры
  • agencystring | null

    Partial agency match filter.

  • regionstring | null

    PH region filter.

  • yearinteger | null

    Filter publish date to this year. Drops an undated record and notes the dropped count in caveats.

get_solar_and_climateтолько чтениеидемпотентныйвнешний мир

Суточная солнечная радиация и климатические переменные из NASA POWER для любых координат. Возвращает суточную солнечную радиацию, температуру на высоте 2 м, скорректированные осадки и скорость ветра на высоте 2 м, в кВт·ч на м², градусах Цельсия, мм и м/с соответственно. Полезно для отбора площадок под солнечные станции, планирования сельскохозяйственных работ и проверки исторических климатических данных. Примеры: get_solar_and_climate(14.5995, 120.9842) # Манила, последние 14 дней get_solar_and_climate(14.5995, 120.9842, "2026-04-01", "2026-04-02") # фиксированное окно в 2 дня При сбое: если не удалось получить данные от вышестоящего источника или тело ответа не объект, возвращается data_status "unavailable", с upstream_error true, days [] и реальным текстом ошибки в caveats. Если поле properties или parameter отсутствует, равно null или не объект, возвращается data_status "indeterminate", с upstream_error true и days []. Если start_date или end_date не разбирается как YYYY-MM-DD, end_date раньше start_date, период более 366 дней или широта или долгота вне допустимого диапазона, возвращается data_status "invalid_request", с validation_error true и days [].

Солнечное излучение и климат в точке

Параметры
  • end_datestring | null

    ISO date string (YYYY-MM-DD). Defaults to today. The span from start_date to end_date cannot exceed 366 days.

  • latitudenumberобязательный

    Decimal degrees, WGS84.

  • longitudenumberобязательный

    Decimal degrees, WGS84.

  • start_datestring | null

    ISO date string (YYYY-MM-DD). Defaults to 14 days ago.

get_usgs_earthquakes_phтолько чтениеидемпотентныйвнешний мир

Землетрясения Филиппинского региона по данным USGS, сверка с PHIVOLCS. Возвращает события в ограничивающем прямоугольнике PH (широта 4..22, долгота 115..130) из каталога USGS, включая магнитуды Mww/Mwc по международному стандарту и решения по глубине. Дополняет данные PHIVOLCS анализом по глобальной сети. Передайте center_lat, center_lon и radius_km вместе, чтобы отфильтровать события по одной точке, и тогда у каждого подходящего события появится поле distance_km. Передавайте все три параметра вместе или не передавайте ни одного. Примеры: get_usgs_earthquakes_ph() последние 30 дней, магнитуда 4.0+ get_usgs_earthquakes_ph(start_date="2026-08-01", end_date="2026-08-31") get_usgs_earthquakes_ph(center_lat=14.5995, center_lon=120.9842, radius_km=50) рядом с Манилой При сбое: некорректная тройка параметров или любой из параметров radius_km, center_lat, center_lon вне допустимого диапазона даёт validation_error true и data_status "invalid_request". То же самое происходит, если start_date или end_date указаны не в формате YYYY-MM-DD. Недоступный API USGS или ответ не в формате GeoJSON FeatureCollection даёт upstream_error true и data_status "unavailable". Непустой список features, в котором не удаётся разобрать ни один feature, даёт upstream_error true и data_status "indeterminate"; такой список никогда не кэшируется. Во всех трёх случаях возвращается [] с реальной ошибкой в caveats.

Землетрясения USGS рядом с Филиппинами

Параметры
  • center_latnumber | null

    Latitude of a search point. Give with center_lon and radius_km to filter to events near one place instead of the whole PH bbox.

  • center_lonnumber | null

    Longitude of a search point. Give with center_lat and radius_km.

  • end_datestring | null

    ISO date (YYYY-MM-DD). Defaults to today.

  • limitinteger

    Max events to return (default 50, USGS hard-caps at 20000).

  • min_magnitudenumber

    Minimum magnitude (default 4.0 to keep noise low).

  • radius_kmnumber | null

    Keep only events within this distance of (center_lat, center_lon). Give all three of center_lat, center_lon, and radius_km together, or none of them. Each returned event then carries a distance_km field.

  • start_datestring | null

    ISO date (YYYY-MM-DD). Defaults to 30 days ago.

get_vegetation_indexтолько чтениеидемпотентныйвнешний мир

Вегетационные индексы NDVI и EVI NASA MODIS MOD13Q1 для любой координаты. NDVI (Normalized Difference Vegetation Index) принимает значения от -1 до 1. Более высокие значения указывают на более густую здоровую растительность. EVI более чувствителен в районах с высокой биомассой. Композитный период составляет 16 дней при разрешении 250 метров. Полезен для мониторинга ферм, отслеживания вырубки лесов и проверки засух. Примеры: get_vegetation_index(15.58, 121.0) # последние ~90 дней в точке в Исабеле get_vegetation_index(15.58, 121.0, "2026-08-01", "2026-08-15") # фиксированное окно 15 дней При сбое: если оба канала MODIS не сработали, возвращается data_status "unavailable", upstream_error true, samples [] и ошибки обоих каналов в caveats. Если отказывает один канал, samples другого канала все равно возвращаются, но data_status остается "unavailable" при upstream_error true. Канал, в строках которого нет числовых значений, считается отказавшим. Пиксель без композита в диапазоне, например над водой, считается успешным результатом с samples []. Выход широты или долготы за пределы диапазона возвращает data_status "invalid_request" с validation_error true и samples []. start_date или end_date, которые не разбираются как YYYY-MM-DD, или период более 366 дней, также возвращают data_status "invalid_request"; проверка происходит до любого запроса.

MODIS вегетационный индекс в точке

Параметры
  • end_datestring | null

    ISO date (YYYY-MM-DD). Defaults to today.

  • latitudenumberобязательный

    Decimal degrees, WGS84.

  • longitudenumberобязательный

    Decimal degrees, WGS84.

  • start_datestring | null

    ISO date (YYYY-MM-DD). Defaults to ~90 days ago. The span from start_date to end_date cannot exceed 366 days.

get_volcano_statusтолько чтениеидемпотентныйвнешний мир

Получает текущий уровень оповещения для филиппинских вулканов. Читает список бюллетеней WOVODAT, которые PHIVOLCS публикует для отслеживаемых вулканов: Mayon, Taal, Kanlaon, Bulusan, Pinatubo, Hibok-Hibok и Parker. Если получение бюллетеня для какого-либо вулкана завершается ошибкой, соответствующая запись содержит upstream_error: true и примечание с реальной ошибкой, а не alert_level со значением null. Примеры: get_volcano_status() все отслеживаемые вулканы, один вызов get_volcano_status("Mayon") один вулкан по имени get_volcano_status("Taal") При сбое: если список WOVODAT недоступен или пуст, возвращается data_status: "unavailable", upstream_error: true, results: [] и реальная ошибка в caveats. Если volcano_name не найден, возвращается список из одного элемента с alert_level: null и примечанием, а не обёртка ошибки.

Филиппинские уровни тревоги вулканов

Параметры
  • volcano_namestring | null

    e.g. "Mayon", "Taal", "Kanlaon", "Bulusan". None returns all monitored volcanoes with recent bulletins.

get_weather_alertsтолько чтениеидемпотентныйвнешний мир

Получает активные погодные предупреждения и оповещения PAGASA. На домашней странице PAGASA названия предупреждений, например "Heavy Rainfall Warning", встроены в навигационное меню и хлебные крошки, а также в разделы действующих предупреждений. Этот инструмент надёжно определяет состояние "No Active Warnings", но пока не может выделить реальное активное предупреждение из этого навигационного текста. Чтобы не выдумывать предупреждение, этот инструмент возвращает пустой список только при подтверждённом маркере "no active warnings". За актуальными предупреждениями обращайтесь напрямую к bagong.pagasa.dost.gov.ph. Примеры: get_weather_alerts() без аргумента региона get_weather_alerts(region="NCR") регион меняет только ключ кэша При сбое, когда домашняя страница PAGASA недоступна, этот инструмент возвращает data_status "unavailable", upstream_error: true, results: [] и реальную ошибку в caveats. Когда страница доступна, но маркер "no active warnings" не совпадает, этот инструмент возвращает data_status "indeterminate" вместо того, чтобы гадать, и никогда не кэширует этот ответ.

Предупреждения о погоде PAGASA

Параметры
  • regionstring | null

    For example "NCR", "Region VII", "CALABARZON". None returns all.

get_weather_forecastтолько чтениеидемпотентныйвнешний мир

Получает прогноз погоды для местности на Филиппинах. Использует PAGASA TenDay API, когда задан PAGASA_API_TOKEN, и переключается на Open-Meteo, если токен отсутствует или вызов PAGASA завершается сбоем. Этот инструмент не задаёт поле data_status при успешном результате или при неизвестном местоположении. Вместо этого проверяйте data_source и caveats. Примеры: get_weather_forecast("Manila") прогноз по умолчанию на 3 дня get_weather_forecast("Cebu City", days=2) прогноз на 2 дня get_weather_forecast("Wakanda") неизвестное местоположение, координаты не найдены При сбое местоположение без известных координат возвращает days: [] и предупреждение, без ключей data_status и upstream_error. Сбой получения данных от Open-Meteo или отключение PSGC при определении местоположения возвращает data_status "unavailable", upstream_error: true, days: [] и реальную ошибку в caveats. Ответ Open-Meteo без записей дневного прогноза вместо этого возвращает data_status "indeterminate" и никогда не кэшируется.

Прогноз погоды в Филиппинах

Параметры
  • daysinteger

    Forecast days (1-10, default 3).

  • locationstringобязательный

    Municipality, city, or province name.

get_world_bank_indicatorтолько чтениеидемпотентныйвнешний мир

Макроэкономический и социальный индикатор Всемирного банка для Филиппин. Принимает код индикатора Всемирного банка, например "NY.GDP.MKTP.CD", или понятный псевдоним, например "gdp", "poverty_ratio", "inflation" или "urban_population_pct". Инструмент проверяет форму кода индикатора до обращения к URL, поэтому некорректное значение не может перенаправить запрос к данным другой страны. Примеры: get_world_bank_indicator("gdp") # ВВП, последние 20 лет get_world_bank_indicator("NY.GDP.MKTP.CD", per_page=5) # тот же индикатор, 5 лет get_world_bank_indicator("poverty_ratio") # коэффициент бедности При сбое: код или псевдоним индикатора, не прошедший проверку формы, возвращает data_status "invalid_request" с validation_error true и observations []. Сбой при получении данных от источника возвращает data_status "unavailable" с upstream_error true, observations [] и текстом реальной ошибки в caveats. Строка с нечисловым или неконечным значением (NaN, inf) пропускается и учитывается в caveats. Если в ответе каждая строка содержит нечисловое или неконечное значение, возвращается data_status "unavailable" вместо ложного пустого ответа.

Показатель World Bank для Филиппин

Параметры
  • indicatorstringобязательный

    WB code or alias. See INDICATOR_ALIASES in source for the curated list of common indicators.

  • per_pageinteger

    Number of observations to return (latest first, default 20).

list_admin_unitsтолько чтениеидемпотентныйвнешний мир

Возвращает дочерние элементы узла PSGC или регионы верхнего уровня, когда parent_code равен None. Нераспознанный parent_code или фильтр level не находит ни одного дочернего элемента и возвращает пустой список. Этот инструмент никогда не возвращает validation_error. Некорректный аргумент сводится к пустому результату, а не к ошибке. Примеры: list_admin_units() регионы верхнего уровня list_admin_units(parent_code="072200000") дочерние элементы провинции Себу list_admin_units(level="city-municipality", limit=10) первые 10 городов и муниципалитетов При сбое только недоступность PSGC API возвращает обёртку ошибки: data_status "unavailable", upstream_error: true, results: [] и реальную ошибку в caveats. Некорректный parent_code или level возвращает пустой список вместо этой формы ошибки.

Перечисляет административные единицы Филиппин.

Параметры
  • levelstring | null

    Filter children by level (region|province|city|municipality|district|barangay).

  • limitinteger

    Max units to return (default 50, capped at 500).

  • offsetinteger

    Skip this many matching units before returning results. Page past 500 children (for example, Manila has 897 barangays) by calling again with offset=500.

  • parent_codestring | null

    Parent PSGC code. None returns the regions list.

query_psa_datasetтолько чтениеидемпотентныйвнешний мир

Выполняет один ограниченный запрос к набору данных PSA OpenSTAT. Для каждого измерения нужен явный список кодов значений из describe_psa_dataset. Это жёсткое требование, а не рекомендация. PXWeb расширяет невыбранное измерение до всех его значений, и PSA отвечает на полученный запрос полного куба ошибкой HTTP 403. PSA записывает отсутствующую ячейку как "..", и такие значения возвращаются как null, никогда как ноль. Примеры: # один набор данных, каждому измерению задан явный список кодов query_psa_dataset( "1F/FY/0241F3DF013.px", {"Year": ["2"], "Major Island Group": ["0", "2"], "Among Families/Population": ["0"]}, ) В случае ошибки: неверный путь, неверный max_rows или отклонённый выбор (отсутствующее измерение, неизвестный код или "all"/"*") устанавливает validation_error в true и data_status в "invalid_request" до отправки запроса. Сбой OpenSTAT устанавливает upstream_error в true и data_status в "unavailable". Ответ с нулевым числом строк для ненулевого выбора или строка, ключ которой не сопоставляется с объявленными столбцами, устанавливает data_status в "indeterminate" и upstream_error в true при реальном HTTP 200. Во всех четырёх случаях возвращается пустой список rows.

Запрашивает набор данных PSA OpenSTAT.

Параметры
  • dataset_pathstringобязательный

    Relative .px path, for example "1F/FY/0241F3DF013.px".

  • max_rowsinteger

    Cap on returned rows (1-5000, default 500).

  • selectionsobjectобязательный

    Dimension code -> list of value codes, covering every dimension the dataset declares. "all" and "*" are rejected. Example: {"Year": ["2"], "Major Island Group": ["0", "2"], "Among Families/Population": ["0"]}.

resolve_ph_locationтолько чтениеидемпотентныйвнешний мир

Нечётко сопоставляет название филиппинского населённого пункта с его канонической записью PSGC. Напрямую обрабатывает распространённые прозвища, такие как "QC", "Gensan", "CDO" и "Metro Manila". Неоднозначное название вроде "San Juan" по-прежнему возвращает одно лучшее совпадение, плюс список alternatives с остальными кандидатами. Этот инструмент не задаёт поле data_status ни в одном сценарии. Вместо этого проверяйте matched и upstream_error. Примеры: resolve_ph_location("Cebu City") точное совпадение с городом resolve_ph_location("QC") прозвище разрешается в Quezon City resolve_ph_location("San Juan") неоднозначное название, возвращает alternatives При сбое чистое отсутствие совпадения возвращает matched: false и caveats, вообще без ключа upstream_error. Когда сам API PSGC недоступен, возвращается matched: false, upstream_error: true и настоящая ошибка в caveats.

Преобразует филиппинский топоним в PSGC.

Параметры
  • querystringобязательный

    Free-text place name. Examples: "Sta. Mesa, Manila", "Cebu City", "NCR", "Pampanga", "Tagaytay".

search_infra_projectsтолько чтениеидемпотентныйвнешний мир

Ищет правительственные инфраструктурные проекты Филиппин. Использует открытый список уведомлений PhilGEPS, отфильтрованный по инфраструктурным работам (строительство / дороги / мосты / защита от наводнений / дренаж / школьные здания / гражданские работы). Источник: https://www.philgeps.gov.ph/. Утвержденные суммы бюджета не публикуются в открытом списке уведомлений, поэтому cost_php равно null в большинстве записей. min_cost_php почти никогда не совпадает, потому что в открытом списке утвержденный бюджет отсутствует почти для каждой записи. API портала прозрачности DPWH в настоящее время блокируется Cloudflare и не используется. Примеры: search_infra_projects(keyword="flood control") search_infra_projects(region="ncr") search_infra_projects(min_cost_php=100_000_000) При сбое: возвращает {results: [], upstream_error: true, data_status: "unavailable", caveats: [...]} вместо простого списка, с реальной ошибкой вышестоящего сервиса в поле caveats. Этот инструмент никогда не проверяет аргумент перед выполнением запроса к PhilGEPS, поэтому validation_error всегда false.

Ищет уведомления инфраструктуры

Параметры
  • keywordstring | null

    Title/agency substring (e.g. 'flood control', 'bridge').

  • limitinteger

    Max results (default 25, capped at 100).

  • min_cost_phpnumber | null

    Minimum approved cost in PHP. The open notice listing does not publish approved budget for almost any record, so setting this today returns few or no results rather than a true cost-ranked subset.

  • provincestring | null

    Province name filter (partial match).

  • regionstring | null

    PH region filter (partial match against agency text).

  • statusstring | null

    Status filter (partial match, e.g. 'open', 'awarded').

  • yearinteger | null

    Filter publish date to this calendar year. Excludes records with no publish date, so a year filter never returns an undated record.

search_procurementтолько чтениеидемпотентныйвнешний мир

Ищет государственные закупки Филиппин по открытым данным PhilGEPS. Примечание: публичный портал PhilGEPS не предоставляет серверный поиск для внешних клиентов, поэтому этот инструмент загружает последние ~100 извещений о торгах и фильтрует их в памяти. Данные кэшируются в течение 6 часов. Фильтры по ключевому слову, ведомству и региону применяются на стороне клиента (совпадение по подстроке без учёта регистра). Примеры: search_procurement(keyword="flood") search_procurement(keyword="", agency="DPWH", limit=10) При сбое возвращает {results: [], upstream_error: true, data_status: "unavailable", caveats: [...]} вместо простого списка, поэтому сбой никогда не воспринимается как «нет подходящих извещений». Если date_from или date_to не удаётся разобрать, возвращает {results: [], validation_error: true, data_status: "invalid_request"} ещё до загрузки данных и указывает некорректное значение.

Ищет уведомления о закупках PhilGEPS

Параметры
  • agencystring | null

    Partial match on procuring entity name.

  • date_fromstring | null
  • date_tostring | null
  • keywordstringобязательный

    Search term matched against title + agency + classification.

  • limitinteger

    Max results (default 20, max 100).

  • regionstring | null

    PH region filter (partial match).

search_psa_catalogтолько чтениеидемпотентныйвнешний мир

Находит набор данных PSA OpenSTAT по ключевому слову, без просмотра по уровням. Сопоставляет подстроку без учёта регистра с каждым заголовком и путём набора данных в каталоге. Первый вызов после холодного старта обходит всё дерево из примерно 2 900 таблиц и может занять несколько минут. Затем плоский индекс кэшируется на 24 часа, и последующий поиск отвечает из памяти. Примеры: search_psa_catalog("fertility") наборы данных со словом "fertility" в заголовке или пути search_psa_catalog("poverty incidence", limit=5) не более 5 совпадений В случае сбоя: data_status принимает значение "invalid_request" при пустом ключевом слове или некорректном limit, и "unavailable" при недоступности OpenSTAT во время обхода каталога. validation_error или upstream_error устанавливается соответствующим образом. Настоящая ошибка содержится в caveats. Ни один из этих сбоев не кэшируется.

Ищет в каталоге PSA OpenSTAT.

Параметры
  • keywordstringобязательный

    Case-insensitive substring to match against a dataset title or path, for example "fertility", "poverty incidence", "CPI".

  • limitinteger

    Maximum number of matches to return (1-100, default 20).

summarize_infra_spendingтолько чтениеидемпотентныйвнешний мир

Агрегирует статистику инфраструктурных закупок за последнее окно PhilGEPS. Этот инструмент агрегирует то же окно уведомлений, отобранных по инфра-ключевым словам, которое читает search_infra_projects (кэш 6 часов). rules_evaluated указывает, какие разбивки выполнялись: сегодня это by_category и by_region. rules_not_computable перечисляет by_funding_source, который выведен из использования и заменен на всегда пустой словарь, потому что уведомления PhilGEPS не содержат поля источника финансирования. sample_size и sufficient_for_per_capita показывают, достаточно ли окно, которое сегодня находится ниже порога в 500 уведомлений, для расчета коэффициента на 100 тыс. населения. Примеры: summarize_infra_spending() summarize_infra_spending(region="ncr", year=2025) При сбое: data_status "unavailable", upstream_error true, итоги нулевые, а by_category/by_region/top_agencies пустые; реальная ошибка PhilGEPS попадает в caveats. Путь validation_error не существует.

Суммирует расходы на инфраструктуру.

Параметры
  • funding_sourcestring | null

    Reserved for future DPWH integration; PhilGEPS notices do not expose funding source, so this filter is a no-op today.

  • regionstring | null

    PH region filter (partial match).

  • yearinteger | null

    Filter publish date to this calendar year. Drops an undated record and notes the dropped count in caveats.

Похожие MCP-сервера

louiscklaw/hko-mcp

louiscklaw/hko-mcp

MCP сервер предоставляет доступ к данным Гонконгской обсерватории: прогноз погоды, информация о землетрясениях, приливах, астрономические данные и многое другое. Полезен для получения актуальной метеорологической информации о Гонконге.

TypeScript2
vikramgorla/mcp-swiss

vikramgorla/mcp-swiss

MCP сервер для доступа к швейцарским открытым данным: транспорт, погода, компании - без API-ключей и регистрации. Включает 76 готовых инструментов для AI-ассистентов и разработчиков, с нулевой наст...

TypeScript22
SidneyBissoli/bcb-br-mcp

SidneyBissoli/bcb-br-mcp

MCP сервер для доступа к временным рядам Центрального банка Бразилии (BCB/SGS). С его помощью ИИ-ассистенты могут запрашивать экономические индикаторы: Selic, IPCA, курсы валют, ВВП и более 150 других показателей из проверенного источника. Включает инструменты для поиска и сравнения данных.

TypeScript8
bamwor-dev/bamwor-mcp-server

bamwor-dev/bamwor-mcp-server

MCP сервер с глобальными географическими данными: 261 страна, 13,4 млн городов. Инструменты для поиска, сравнения стран и городов, ранжирования по 20+ показателям. Помогает AI-агентам работать с реальными данными о странах и городах.

TypeScript2
Погода MCP

Погода MCP

MCP сервер для погоды, подключающий AI-ассистентов к 16 инструментам: прогнозы, оповещения и историческую погоду с 1940 года. Бесплатно, без API ключей и регистрации, на открытых данных NOAA и Open-Meteo.

TypeScript44
paulieb89/govuk-mcp

paulieb89/govuk-mcp

MCP сервер для работы с открытыми данными правительства Великобритании через GOV.UK: поиск по 700k+ страницам, получение контента по секциям, сведения об организациях и разрешение почтовых индексов. Никаких API-ключей не нужно.

Python3
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин