Skip to main content
greenerplatform-mcp

PyPI Python License

greenerplatform-mcp

An MCP server that exposes the GreenerPlatform command-line evidence tools to compatible MCP hosts. It is a thin adapter: it does not contain a model, verify causal claims, or enforce how a host uses the returned evidence.

Available on PyPI: pipx install greenerplatform-mcp

It wraps two CLIs:

  • sentinel_snapshot — a 15-dimension Kubernetes health report (kubectl-sentinel).
  • triage_incident — correlate a normalized alert with cluster observations and return ranked evidence and candidate response steps (incident-triage).

Neither tool carries an LLM. The schemas make observations, provenance, and evidence gaps available to the host, but the adapter cannot guarantee correct model behavior.

Prerequisites

  • Python 3.10+
  • Linux or a Linux environment such as WSL for the current kubectl-sentinel Bash CLI
  • kubectl-sentinel 1.3.2 and incident-triage 1.3.2 on your PATH (or set SENTINEL_BIN / TRIAGE_BIN)
  • kubectl, jq, cluster credentials, and the required Kubernetes RBAC for live reports

Install

pipx install greenerplatform-mcp
# or: pip install greenerplatform-mcp

Configure your agent

Cursor — ~/.cursor/mcp.json (or a project .cursor/mcp.json):

{
  "mcpServers": {
    "greenerplatform": { "command": "greenerplatform-mcp" }
  }
}

Claude Desktop — claude_desktop_config.json:

{
  "mcpServers": {
    "greenerplatform": { "command": "greenerplatform-mcp" }
  }
}

Other MCP hosts can run greenerplatform-mcp over stdio, but their configuration keys and security models differ. The examples above are configuration examples, not a universal compatibility guarantee.

Tools

Tool Arguments Returns
sentinel_snapshot namespace?, context? severity-ranked observations and collection status
triage_incident alert, sentinel_json?, namespace?, context? ranked evidence, gaps, and candidate response steps

If triage_incident is called without sentinel_json, it collects a fresh snapshot first (requires cluster access).

The resource argument remains reserved for API compatibility. Resource deep-dive modes in kubectl-sentinel currently emit text, not JSON, so the server returns an explicit unsupported_resource error instead of an incomplete tool result.

Version guard

A stale CLI can emit fewer checks. The server checks each CLI's --version and, if it is below the expected minimum, adds a non-destructive warnings array to the tool's JSON output:

{ "warnings": ["kubectl-sentinel 1.3.0 is older than the expected 1.3.2; output may be missing checks — install the current source version."] }

The findings are still returned; the warning just flags that they may be partial. Set MIN_SENTINEL_VERSION / MIN_TRIAGE_VERSION to change the expected minimums.

Environment

Variable Default Purpose
SENTINEL_BIN kubectl-sentinel on PATH path to the sentinel binary
TRIAGE_BIN incident-triage on PATH path to the triage binary
GP_MCP_TIMEOUT 90 per-command timeout (seconds)
MIN_SENTINEL_VERSION 1.3.2 warn if the installed sentinel is older
MIN_TRIAGE_VERSION 1.3.2 warn if the installed triage is older

Operational boundaries

  • The server executes the configured CLIs and returns their stdout. It does not execute commands included in recommendations.
  • Live collection contacts the selected Kubernetes API and may invoke credential plugins.
  • Sentinel reports can contain cluster, workload, image, Secret, event, and log details. Treat them as sensitive and redact them before sharing.
  • Rule-based output can be reproducible without being complete, correct, or causal.
  • The current W5 gate covers offline fixtures; broader live-cluster and historical-source validation remains in progress.

Releasing

Releases publish to PyPI automatically via GitHub Actions using Trusted Publishing (OIDC) — no API tokens are stored anywhere.

One-time setup (on pypi.org):

  1. Sign in → Your projects → Publishing → Add a pending publisher.
  2. Project name greenerplatform-mcp, owner GreenerPlatform, repo greenerplatform-mcp, workflow publish.yml, environment pypi.

To cut a release:

# bump version in pyproject.toml, commit, then:
git tag v0.1.2 && git push origin v0.1.2
gh release create v0.1.2 --generate-notes

The Publish to PyPI workflow builds, runs twine check, and publishes. After the first release, pipx install greenerplatform-mcp works for anyone.

License

Apache-2.0. See LICENSE, NOTICE, and the project trademark policy.

Metadata

Release files for greenerplatform-mcp 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for greenerplatform-mcp 0.1.2
File Size Uploaded
greenerplatform_mcp-0.1.2.tar.gz 11.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for greenerplatform-mcp 0.1.2
File Interpreter ABI Platform
greenerplatform_mcp-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 22.7 kB

Release files / greenerplatform_mcp-0.1.2.tar.gz

Download URL greenerplatform_mcp-0.1.2.tar.gz
Size 11.0 kB
Tags Source
SHA-256 checksum
How to use checksums
ad460655ed6b4dc126ab09c122105cd198ba4d60a90871064c6ceef3463ea0fe
BLAKE2b-256 checksum
How to use checksums
dd25a38810b932858d74824cbe71aa8e40b82e464a7152f3ce0e72d0ccf7a308
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / greenerplatform_mcp-0.1.2-py3-none-any.whl

Download URL greenerplatform_mcp-0.1.2-py3-none-any.whl
Size 11.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0280e4e3b5cc039a316cbb9ff23ac94b9031fbabaed4535c4793913335d32390
BLAKE2b-256 checksum
How to use checksums
239f2ab8b8cb9481c7f65f0894f861ea8f37384b472619b5e4df50bd0c5c0ba2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page