Skip to main content
Glama

IPMC MCP

A small dependency-free MCP server for Apache Incubator PMC oversight views.

It composes:

  • podling lifecycle data from PodlingsMCP

  • community and report signals from apache-health

It exposes opinionated Incubator-level tools to help the IPMC:

  • identify podlings needing attention

  • assess graduation readiness

  • generate podling briefings

  • flag mentoring intervention needs

  • summarize community-health patterns across podlings

Requirements

  • Python 3.12+

Run

python3 server.py

The server uses stdio, so it is intended to be launched by an MCP client.

Install

python3 -m pip install -e .

For development tools:

python3 -m pip install -e .[dev]

Example MCP client config

{
  "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"
      ]
    }
  }
}

The default runtime assumes the sibling source MCP repositories and health reports are available at:

  • /Users/justinmclean/PodlingsMCP

  • /Users/justinmclean/HealthMCP

  • reports, unless --health-source is set

Tool calls can also override the source data paths with podlings_source and health_source.

Configure source MCP locations and the health reports directory with startup arguments:

  • --podlings-mcp-repo: path to the PodlingsMCP checkout

  • --health-mcp-repo: path to the HealthMCP checkout

  • --health-source: default apache-health reports directory

Test

python3 -m unittest discover -s tests -v

Coverage

python3 -m coverage run -m unittest discover -s tests
python3 -m coverage report -m

Coverage is scoped to the local ipmc package so imported sibling MCPs do not dilute the report.

Architecture

See docs/architecture.md for the module layout, runtime flow, and testing structure.

Tools

ipmc_watchlist

Return podlings that most need IPMC attention based on combined lifecycle and health signals.

Arguments:

  • podlings_source: optional URL or local file path for podlings.xml

  • health_source: optional reports directory for apache-health markdown reports

  • as_of_date: optional YYYY-MM-DD date for duration-sensitive views

  • limit: optional max number of results

  • severity_at_least: optional minimum severity filter

  • include_reasons: optional reason filter list

graduation_readiness

Assess whether a podling appears ready, near ready, or not yet ready for graduation.

Arguments:

  • podling: required podling name

  • podlings_source

  • health_source

  • as_of_date

  • include_evidence: optional boolean, defaults to true

  • strict_mode: optional boolean

podling_brief

Return an IPMC-oriented briefing for one podling.

Arguments:

  • podling: required podling name

  • podlings_source

  • health_source

  • as_of_date

  • focus: optional area list

  • brief_format: optional summary or detailed

mentoring_attention_needed

Return podlings where mentoring intervention appears necessary.

Arguments:

  • podlings_source

  • health_source

  • as_of_date

  • limit: optional max number of results

  • urgency_at_least: optional minimum urgency filter

  • include_causes: optional cause filter list

community_health_summary

Return an IPMC-level summary of community-health patterns across podlings.

Arguments:

  • podlings_source

  • health_source

  • as_of_date

  • scope: optional all_podlings, active_podlings, or reporting_podlings

  • group_by: optional none, risk_band, mentor_load, or age_band

  • include_examples: optional boolean

Defaults

  • When omitted, podlings_source defaults to the ASF podlings.xml URL.

  • When omitted, health_source uses --health-source, or reports if that startup argument is unset.

  • Oversight views focus on current podlings by default.

  • Health analysis prefers the freshest available window in this order: 3m, 6m, 12m, to-date.

Opinion Model

This server keeps source facts separate from derived opinions. Risk and readiness views are derived from:

  • mentor coverage

  • reporting reliability

  • mentor sign-off signals

  • community activity

  • release visibility

  • incubation duration

  • participation breadth

The resulting outputs are intended to support IPMC judgment, not replace it.

F
license - not found
-
quality - not tested
C
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/IncubatorMCP'

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