Skip to main content
Glama

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/HealthMCP

  • reports, если не задан параметр --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.xml

  • health_source: необязательный каталог отчетов для markdown-отчетов apache-health

  • as_of_date: необязательная дата в формате YYYY-MM-DD для представлений, зависящих от длительности

  • limit: необязательное максимальное количество результатов

  • severity_at_least: необязательный фильтр минимальной серьезности

  • include_reasons: необязательный список фильтров причин

graduation_readiness

Оценивает, готов ли подпроект, близок ли к готовности или еще не готов к выпуску.

Аргументы:

  • podling: обязательное имя подпроекта

  • podlings_source

  • health_source

  • as_of_date

  • include_evidence: необязательное логическое значение, по умолчанию true

  • strict_mode: необязательное логическое значение

podling_brief

Возвращает ориентированную на IPMC сводку по одному подпроекту.

Аргументы:

  • podling: обязательное имя подпроекта

  • podlings_source

  • health_source

  • as_of_date

  • focus: необязательный список областей

  • brief_format: необязательный формат summary (краткий) или detailed (подробный)

mentoring_attention_needed

Возвращает подпроекты, где, по-видимому, необходимо вмешательство менторов.

Аргументы:

  • podlings_source

  • health_source

  • as_of_date

  • limit: необязательное максимальное количество результатов

  • urgency_at_least: необязательный фильтр минимальной срочности

  • include_causes: необязательный список фильтров причин

community_health_summary

Возвращает сводку уровня IPMC о закономерностях состояния сообщества по подпроектам.

Аргументы:

  • podlings_source

  • health_source

  • as_of_date

  • scope: необязательный параметр all_podlings, active_podlings или reporting_podlings

  • group_by: необязательный параметр none, risk_band, mentor_load или age_band

  • include_examples: необязательное логическое значение

Значения по умолчанию

  • Если параметр podlings_source опущен, используется URL podlings.xml ASF.

  • Если параметр health_source опущен, используется --health-source или reports, если этот аргумент запуска не задан.

  • Представления надзора по умолчанию фокусируются на текущих подпроектах.

  • Анализ состояния отдает предпочтение самому свежему доступному окну в следующем порядке: 3m, 6m, 12m, to-date.

Модель мнений

Этот сервер отделяет исходные факты от производных мнений. Представления о рисках и готовности основаны на:

  • охвате менторами

  • надежности отчетности

  • сигналах одобрения менторов

  • активности сообщества

  • видимости релизов

  • длительности инкубации

  • широте участия

Полученные результаты предназначены для поддержки суждений IPMC, а не для их замены.

Available Tools

21 tools
community_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

    A3.5/5.0

    Scored across 21 tools

    Disambiguation5/5

    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.

    Naming Consistency5/5

    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.

    Tool Count4/5

    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.

    Completeness4/5

    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

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      An 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.
      22
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      An 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.
      9
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      MCP server for comprehensive PyPI package intelligence, providing tools for dependency analysis, security scanning, health scoring, license compliance, and trend tracking.
      MIT