IPMC MCP
IPMC MCP
Небольшой MCP-сервер без зависимостей для представлений надзора PMC Apache Incubator.
Он объединяет:
данные о жизненном цикле подпроектов из
PodlingsMCPсигналы сообщества и отчеты из
apache-health
Он предоставляет специализированные инструменты уровня Incubator, помогающие IPMC:
выявлять подпроекты, требующие внимания
оценивать готовность к выпуску
создавать сводки по подпроектам
отмечать необходимость вмешательства менторов
обобщать закономерности состояния сообщества по подпроектам
Требования
Python 3.12+
Related MCP server: Podlings MCP
Запуск
python3 server.pyСервер использует stdio, поэтому он предназначен для запуска клиентом MCP.
Установка
python3 -m pip install -e .Для инструментов разработки:
python3 -m pip install -e .[dev]Пример конфигурации клиента MCP
{
"mcpServers": {
"ipmc": {
"command": "python3",
"args": [
"/Users/justinmclean/IncubatorMCP/server.py",
"--podlings-mcp-repo",
"/Users/justinmclean/PodlingsMCP",
"--health-mcp-repo",
"/Users/justinmclean/HealthMCP",
"--health-source",
"/Users/justinmclean/incubator/tools/health/reports"
]
}
}
}Среда выполнения по умолчанию предполагает, что исходные репозитории MCP и отчеты о состоянии доступны по следующим путям:
/Users/justinmclean/PodlingsMCP/Users/justinmclean/HealthMCPreports, если не задан параметр--health-source
Вызовы инструментов также могут переопределять пути к исходным данным с помощью podlings_source и health_source.
Настройте расположения исходных MCP и каталог отчетов о состоянии с помощью аргументов запуска:
--podlings-mcp-repo: путь к клонуPodlingsMCP--health-mcp-repo: путь к клонуHealthMCP--health-source: каталог отчетов apache-health по умолчанию
Тестирование
python3 -m unittest discover -s tests -vПокрытие
python3 -m coverage run -m unittest discover -s tests
python3 -m coverage report -mПокрытие ограничено локальным пакетом ipmc, поэтому импортированные дочерние MCP не размывают отчет.
Архитектура
См. docs/architecture.md для ознакомления со структурой модулей, потоком выполнения и структурой тестирования.
Инструменты
ipmc_watchlist
Возвращает подпроекты, которые больше всего нуждаются в внимании IPMC, на основе объединенных сигналов жизненного цикла и состояния.
Аргументы:
podlings_source: необязательный URL или локальный путь к файлуpodlings.xmlhealth_source: необязательный каталог отчетов для markdown-отчетов apache-healthas_of_date: необязательная дата в форматеYYYY-MM-DDдля представлений, зависящих от длительностиlimit: необязательное максимальное количество результатовseverity_at_least: необязательный фильтр минимальной серьезностиinclude_reasons: необязательный список фильтров причин
graduation_readiness
Оценивает, готов ли подпроект, близок ли к готовности или еще не готов к выпуску.
Аргументы:
podling: обязательное имя подпроектаpodlings_sourcehealth_sourceas_of_dateinclude_evidence: необязательное логическое значение, по умолчанию truestrict_mode: необязательное логическое значение
podling_brief
Возвращает ориентированную на IPMC сводку по одному подпроекту.
Аргументы:
podling: обязательное имя подпроектаpodlings_sourcehealth_sourceas_of_datefocus: необязательный список областейbrief_format: необязательный форматsummary(краткий) илиdetailed(подробный)
mentoring_attention_needed
Возвращает подпроекты, где, по-видимому, необходимо вмешательство менторов.
Аргументы:
podlings_sourcehealth_sourceas_of_datelimit: необязательное максимальное количество результатовurgency_at_least: необязательный фильтр минимальной срочностиinclude_causes: необязательный список фильтров причин
community_health_summary
Возвращает сводку уровня IPMC о закономерностях состояния сообщества по подпроектам.
Аргументы:
podlings_sourcehealth_sourceas_of_datescope: необязательный параметрall_podlings,active_podlingsилиreporting_podlingsgroup_by: необязательный параметрnone,risk_band,mentor_loadилиage_bandinclude_examples: необязательное логическое значение
Значения по умолчанию
Если параметр
podlings_sourceопущен, используется URLpodlings.xmlASF.Если параметр
health_sourceопущен, используется--health-sourceилиreports, если этот аргумент запуска не задан.Представления надзора по умолчанию фокусируются на текущих подпроектах.
Анализ состояния отдает предпочтение самому свежему доступному окну в следующем порядке:
3m,6m,12m,to-date.
Модель мнений
Этот сервер отделяет исходные факты от производных мнений. Представления о рисках и готовности основаны на:
охвате менторами
надежности отчетности
сигналах одобрения менторов
активности сообщества
видимости релизов
длительности инкубации
широте участия
Полученные результаты предназначены для поддержки суждений IPMC, а не для их замены.
Available Tools
21 toolscommunity_health_summaryC
Return an IPMC-level summary of community health across podlings, including strong patterns, risks, and mentoring-capacity signals.
Inputs: podlings_source, health_source, report_source, mail_source, +5 more.
configure_sourcesA
Set or inspect process-level source defaults so later IPMC tool calls can omit source override arguments.
Inputs: podlings_source, health_source, report_source, mail_source, +3 more.
cross_source_mismatchesB
Return concrete mismatches between cached report narrative and current health or release evidence.
Inputs: podlings_source, health_source, report_source, mail_source, +5 more.
current_podlings_overviewB
Return a factual overview of current Incubator podlings from podlings.xml lifecycle metadata.
Inputs: podlings_source, as_of_date, limit, include_descriptions.
graduation_readinessB
Assess whether a podling appears ready, near ready, or not yet ready for graduation.
Inputs: podling (required), podlings_source, health_source, report_source, +5 more.
ipmc_watchlistA
Return podlings that most need IPMC attention based on combined lifecycle and health signals.
Inputs: podlings_source, health_source, report_source, mail_source, +5 more.
mentoring_attention_neededA
Return podlings where mentoring intervention appears necessary, with urgency and likely causes.
Inputs: podlings_source, health_source, report_source, mail_source, +5 more.
podling_briefB
Return an IPMC-oriented briefing for a single podling, including status, trajectory, and attention areas.
Inputs: podling (required), podlings_source, health_source, report_source, +5 more.
recent_changesC
Return per-podling recent deltas the IPMC should scan, excluding unchanged or static fields.
Inputs: podlings_source, health_source, report_source, mail_source, +4 more.
refresh_mail_cacheC
Refresh cached general@incubator.apache.org message summaries used by IPMC mail evidence tools.
Inputs: mail_source, mail_api_base, mail_timespan, query, +1 more.
refresh_report_cacheB
Refresh cached ASF Incubator report data used by IPMC report-narrative tools.
Inputs: report_source, years, full_history, limit, +2 more.
release_artifact_evidenceB
Return ReleaseMCP artifact, sidecar, cadence, Incubator naming evidence, and optional release-page and GitHub/Docker Hub/PyPI/Maven distribution hints for one podling.
Inputs: podling (required), release_dist_base, release_archive_base, release_max_depth, +6 more.
release_visibilityB
Return release-governance visibility concerns, including no releases and activity/release mismatches.
Inputs: podlings_source, health_source, report_source, mail_source, +5 more.
release_vote_evidenceB
Return MailMCP release vote/result thread evidence for one podling alongside IPMC release visibility signals.
Inputs: podling (required), podlings_source, health_source, report_source, +5 more.
reporting_cohortB
Return current reporting podlings grouped into non-ranked IPMC review buckets: reporting issues, release visibility issues, recent significant changes, and no obvious concerns.
Inputs: podlings_source, health_source, report_source, mail_source, +3 more.
reporting_gapsB
Return podlings with Incubator reporting compliance gaps, excluding activity analysis.
Inputs: podlings_source, health_source, report_source, mail_source, +5 more.
reporting_reliabilityB
Return objective reporting reliability patterns over time, separating one-off late reporting from repeated late or missing reporting.
Inputs: podlings_source, health_source, report_source, mail_source, +5 more.
reporting_scheduleB
Return expected Incubator reporting cadence, due-this-month status, and next expected reporting period from PodlingsMCP.
Inputs: podlings_source, podling, as_of_date, report_month, +2 more.
report_narrative_signalsB
Return report-derived narrative signals such as latest reported issues, recurring issues, low observed mentor sign-off, and release visibility mismatches.
Inputs: podlings_source, health_source, report_source, mail_source, +5 more.
significant_changesC
Return a structured factual subset of recent changes: no 12-month releases, large activity shifts, and newly visible reporting or release transitions.
Inputs: podlings_source, health_source, report_source, mail_source, +5 more.
stalled_podlingsB
Return podlings that match the strict low-delivery, no-release stalled definition.
Inputs: podlings_source, health_source, report_source, mail_source, +3 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 21 tools
Each tool has a clearly defined and distinct purpose, focusing on specific aspects of IPMC oversight such as community health, podling status, releases, reporting, or mentoring. There is no ambiguity between tools.
All tool names follow a consistent pattern of descriptive phrases using underscores (e.g., community_health_summary, graduation_readiness). No mixing of camelCase or other conventions is observed.
With 21 tools, the server covers a broad domain of IPMC responsibilities. While the count is relatively high, each tool addresses a necessary function, and the scope justifies the number.
The tool set provides comprehensive coverage of IPMC information needs, including community health, podling lifecycle, releases, reporting, and mentoring. Minor gaps may exist for direct actions, but the analysis surface is thorough.
Maintenance
Related MCP Connectors
MCP server for VC pitch-deck scoring, thesis-fit matching, and deal-flow management.
MCP server for CertScore.ai public website risk-signal workflows.
Guarded MCP server for agent-readable business truth, provenance, readiness, and discovery.
MCP server for Riveter's enrichment, scraping, and monitoring API
Related MCP Servers
- FlicenseAqualityDmaintenanceA deterministic, network-free MCP server for validating repository release hygiene and version alignment in local projects. It enables automated repository health checks and generates standardized release checklists based on project state.1-
- AlicenseBqualityDmaintenanceAn MCP server for accessing and analyzing Apache Software Foundation Incubator podling data from podlings.xml. It provides tools to query podling metadata, generate statistics, and analyze incubation trends over time.22MIT
- AlicenseAqualityDmaintenanceAn MCP server for querying and analyzing Apache Incubator podling health reports. It provides tools to list, search, and compare podling metrics across different time windows from Apache's health report Markdown files.9MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for comprehensive PyPI package intelligence, providing tools for dependency analysis, security scanning, health scoring, license compliance, and trend tracking.MIT