Apache Health MCP
Этот репозиторий содержит небольшой MCP-сервер для запроса отчетов о состоянии Apache Incubator из tools/health/reports.
Он анализирует формат отчетов Markdown, используемый инструментами Apache для отслеживания состояния, и предоставляет MCP-инструменты для:
перечисления доступных отчетов по подпроектам
поиска названий подпроектов
получения сводки, проанализированной для одного подпроекта
возврата исходного отчета в формате Markdown
возврата метрик для конкретного периода
сравнения одного подпроекта по двум или трем периодам
перечисления поддерживаемых метрик и периодов
ранжирования подпроектов по метрике в рамках периода, например
3m,6mили12m
Ожидаемые входные данные
Укажите серверу локальный каталог, содержащий Markdown-файлы, такие как:
reports/
Amoro.md
Iggy.md
...Парсер разработан с учетом текущей структуры отчетов Apache, особенно раздела ## Window Details.
Related MCP server: IPMC MCP
Установка
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install .Для локальной разработки:
make install-devЗапуск
health-mcp --reports-dir /path/to/incubator/tools/health/reportsСервер использует stdio, поэтому он предназначен для запуска MCP-клиентом.
Для локальной разработки без предварительной установки вы все равно можете запустить stdio-сервер напрямую:
python3 server.pyПакет также сохраняет apache-health-mcp в качестве обратно совместимого псевдонима команды.
Claude Desktop
Отредактируйте ~/Library/Application Support/Claude/claude_desktop_config.json и добавьте:
{
"mcpServers": {
"apache-health": {
"command": "health-mcp",
"args": [
"--reports-dir",
"/path/to/incubator/tools/health/reports"
]
}
}
}Затем перезапустите Claude Desktop. Если вы установили пакет в виртуальную среду, которая отсутствует в вашем PATH, используйте абсолютный путь к команде health-mcp этой среды.
MCP-инструменты
health_overview
Возвращает каталог отчетов, количество отчетов, список подпроектов и дату последнего создания.
list_podlings
Возвращает названия подпроектов, доступные в каталоге отчетов.
search_podlings
Ищет названия подпроектов по подстроке без учета регистра с необязательным ограничением количества результатов.
get_report_summary
Возвращает проанализированные метрики периода для одного подпроекта.
get_report_markdown
Возвращает исходный Markdown для отчета по одному подпроекту.
get_window_metrics
Возвращает метрики для одного подпроекта и одного периода, такого как 3m, 6m, 12m или to-date, включая нормализованные слова трендов, такие как up, down и flat в разделе trends.
compare_windows
Возвращает метрики для одного подпроекта по двум или трем периодам для сравнения, включая нормализованные слова трендов в разделе trends для каждого периода.
query_metric_rankings
Ранжирует подпроекты по проанализированной метрике, такой как commits, prs_merged, dev_messages, bus50 или median_merge_days.
list_metrics
Возвращает названия поддерживаемых метрик и доступные периоды для запросов.
Примеры использования
Эти примеры показывают, какие вопросы пользователь может задать MCP-клиенту, подключенному к этому серверу.
Обзор снимка отчета
"Какие отчеты о состоянии Apache Incubator доступны в этом репозитории?"
"Сколько у нас отчетов о состоянии подпроектов и когда они были созданы?"
"Для каких подпроектов я могу запросить отчеты о состоянии?"
"О каких метриках состояния и периодах отчетов я могу спросить?"
Исследование одного подпроекта
"Покажи мне сводку состояния для Amoro."
"Что говорится в последнем отчете о состоянии Iggy?"
"Найди подпроекты с названиями, содержащими 'stream', и сделай сводку по лучшему совпадению."
"Для этого подпроекта покажи метрики состояния за последние 3 месяца."
"Покажи мне исходный отчет в формате Markdown для Amoro, чтобы я мог проверить источник."
Сравнение трендов по периодам
"Сравни активность Amoro за 3, 6 и 12 месяцев."
"Активность разработки Iggy улучшается или замедляется?"
"Сравни недавнюю активность в списке рассылки с долгосрочным трендом для этого подпроекта."
"Изменилась ли активность слияния PR для этого подпроекта между 3-месячным и 12-месячным периодами?"
"Улучшается или ухудшается фактор автобуса (bus factor) для этого подпроекта в разных периодах отчета?"
Поиск подпроектов по сигналам активности
"У каких подпроектов было больше всего сообщений в списке рассылки разработчиков за последние 3 месяца?"
"Покажи мне подпроекты, у которых не было коммитов за последние 3 месяца."
"У каких подпроектов самое долгое медианное время слияния PR?"
"Ранжируй подпроекты по слитым PR за 6-месячный период."
"Найди подпроекты с низким разнообразием рецензентов в недавнем периоде отчета."
Подготовка очереди для ручной проверки
"Дай мне краткий список подпроектов, которые могут потребовать внимания ментора, основываясь на недавней активности."
"Какие подпроекты выглядят неактивными по коммитам, PR и сообщениям в списке рассылки разработчиков?"
"Найди подпроекты с низкой недавней активностью и сравни их с их 12-месячным трендом."
"Какие подпроекты мне следует проверить вручную на предмет проблем с фактором автобуса или разнообразием рецензентов?"
Разработка
Общие задачи доступны через make:
make format
make lint
make typecheck
make test
make coverage
make checkПримечания
Этот сервер запрашивает уже созданные файлы отчетов. Он не запускает скрипт сбора данных Apache.
В данном рабочем пространстве не было локального каталога
reports/, поэтому сервер создан так, чтобы принимать любой локальный клон или скопированный снимок каталога отчетов Apache.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/justinmclean/HealthMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
