OUTSEED / MCP Engineering Hub · Release 0.1.0

Red Hat OpenShift MCP

Correlate namespace pod readiness, services, PVCs and events; explicitly enabled cluster health reads use separate permissions.

Preview · Read-only tools. Real-platform lab compatibility not yet certified.

Use cases

  • Application readiness investigation
  • Service and workload correlation
  • Pending PVC and scheduling evidence
  • Optional ClusterOperator condition review

Access and permissions

Namespace-scoped get/list for pods, services, persistentvolumeclaims and events. Optional cluster health requires separately granted get/list on ClusterOperators and OUTSEED_CLUSTER_READ=true. No secrets, exec, logs or writes.

Available resources: overview, network, storage, events, health

Local environment variables: OUTSEED_TARGET_URL, OUTSEED_API_TOKEN, OUTSEED_NAMESPACE. Optional CA: OUTSEED_CA_FILE.

Download outseed-openshift-0.1.0.py

Python 3.10+ · MIT · stdio / outbound hosted connector · License

Downloads are logged with source IP/approximate country. No account required for independent local mode.

Tool reference

inventory.read

Collect bounded read-only evidence from the locally configured platform. Targets and credentials cannot be supplied by the AI client.

JSON Schema
{
  "type": "object",
  "properties": {
    "resource": {
      "type": "string",
      "enum": [
        "overview",
        "network",
        "storage",
        "events",
        "health"
      ]
    }
  },
  "additionalProperties": false
}

migration.assess

Review explicitly supplied VMware-to-Proxmox VM prerequisites. Missing evidence remains UNKNOWN. No migration is performed.

JSON Schema
{
  "type": "object",
  "properties": {
    "vms": {
      "type": "array",
      "maxItems": 100,
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 160
          },
          "firmware": {
            "type": "string",
            "enum": [
              "bios",
              "uefi"
            ]
          },
          "encrypted": {
            "type": "boolean"
          },
          "vtpm": {
            "type": "boolean"
          },
          "passthrough": {
            "type": "boolean"
          },
          "virtioReady": {
            "type": "boolean"
          },
          "backupVerified": {
            "type": "boolean"
          },
          "networkMapped": {
            "type": "boolean"
          },
          "applicationTested": {
            "type": "boolean"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "vms"
  ],
  "additionalProperties": false
}

evidence.compare

Compare two supplied JSON evidence objects; report changed top-level fields without claiming application acceptance.

JSON Schema
{
  "type": "object",
  "properties": {
    "before": {
      "type": "object"
    },
    "after": {
      "type": "object"
    }
  },
  "required": [
    "before",
    "after"
  ],
  "additionalProperties": false
}

Documentation and quick start

  1. 1. What is available in this release?
  2. 2. Download and verify
  3. 3. Local MCP client setup (stdio)
  4. 4. Credentials, targets and TLS
  5. 5. Hosted connection: pair an outbound connector
  6. 6. Connect an AI client to the hosted endpoint
  7. 7. Tool reference and evidence schema
  8. 8. Practical workflow: application or host incident
  9. 9. Troubleshooting and limitations
  10. 10. Data handling, telemetry and retention
  11. 11. Administration and malicious connections
  12. 12. Upgrade, remove and test

1. What is available in this release?

Four standalone Python 3.10+ source packages, one per platform, use the same read-only evidence tools. No third-party Python dependency is required. The Linux collector runs on the Linux host; VMware, Proxmox and OpenShift collectors run on a customer-controlled management host with access to the platform API.

Status: Preview. Protocol/fixture and permission-boundary tests are distinct from real infrastructure compatibility. No customer lab/platform version is claimed tested until evidence is published. Direct ESXi SOAP, kubeconfig exec plugins, arbitrary SSH commands, Docker images and automatic migration execution are not implemented.

2. Download and verify

Download the versioned .py file from the package page. The response includes X-Checksum-SHA256; obtain it with a HEAD request and compare it with a local SHA-256 calculation before execution. Downloads do not require an OUTSEED account.

Python 3.10+ is required. The package is MIT licensed; preserve its attribution. This license does not grant vendor trademark rights or imply VMware, Proxmox or Red Hat endorsement.

curl -I https://outseed.me/api/platform/mcp-hub/downloads/openshift/0.1.0
sha256sum outseed-openshift-0.1.0.py
python3 outseed-openshift-0.1.0.py --help

3. Local MCP client setup (stdio)

Configure the AI client to launch the downloaded script with python3, using an absolute path. The process receives newline-delimited JSON-RPC on stdin and writes only protocol messages to stdout. Diagnostic messages use stderr.

This is an example of the commonly used mcpServers stdio configuration. Client-specific configuration location, environment inheritance and tool permission prompts vary; consult the client documentation. Named third-party client compatibility is not certified by our protocol fixture tests.

{
  "mcpServers": {
    "outseed-openshift": {
      "command": "python3",
      "args": ["/absolute/path/outseed-openshift-0.1.0.py"]
    }
  }
}

4. Credentials, targets and TLS

Set platform credentials only in the local launch environment or an approved local secret store. They are never parameters accepted from the AI client. Do not place credentials in URLs, tickets, browser forms or source repositories.

OUTSEED_TARGET_URL must be a credential-free HTTPS origin, without a path/query/fragment. OUTSEED_CA_FILE optionally names a trusted PEM CA bundle. Certificate verification is always enabled, and HTTP redirects are refused to prevent forwarding credentials to another origin.

For VMware use OUTSEED_USERNAME and OUTSEED_PASSWORD; only API session creation/deletion mutate session state. For Proxmox use OUTSEED_API_TOKEN in user@realm!tokenid=secret format (the script supplies the PVEAPIToken= prefix). OpenShift uses an API bearer token and one OUTSEED_NAMESPACE. Do not reuse an administrator credential when read-only scope is sufficient.

5. Hosted connection: pair an outbound connector

Sign in and open Account → MCP connections. Create a platform/label, complete identity confirmation and save the one-time client token and pairing code. Only approved active accounts can create connections, with a maximum of ten current connections.

On the customer-controlled host, configure platform credentials locally, download the matching package and pair it. The code expires in ten minutes and is single-use. Connector credentials are written to a new local file with restrictive POSIX permissions; choose a different token file for each connection. Windows operators must apply equivalent ACL restrictions.

Pairing initiates no infrastructure operation. Start --connect explicitly to enable outbound polling. Idle polling is every ten seconds, busy polling every five seconds. Keep the process running under a supervisor you manage; inbound platform/API exposure is unnecessary.

python3 outseed-openshift-0.1.0.py --pair <one-use-code> --token-file ~/.config/outseed/openshift.json
python3 outseed-openshift-0.1.0.py --connect --token-file ~/.config/outseed/openshift.json

6. Connect an AI client to the hosted endpoint

Configure a client that supports stateless Streamable HTTP POST with a manually configured Authorization: Bearer header. Endpoint: https://outseed.me/api/platform/mcp-hub/rpc. Use the client token shown once in your account, not the connector token. OAuth discovery, browser-based OAuth grants and SSE subscriptions are not provided in this preview.

The service accepts initialize, ping, tools/list, tools/call and initialized/cancelled notifications for protocol 2025-03-26 and 2025-06-18. Each registered connection is a separately revocable client/connector pair. Tokens expire after thirty days; create a new pair to rotate.

Each connection permits one in-flight tool call. A result must arrive within 25 seconds; remote collection timeouts may exceed that bound, so retry only after reviewing connector health. Unknown tools, target overrides, malformed arguments and excessive traffic are rejected.

7. Tool reference and evidence schema

inventory.read accepts only resource: overview, storage, network, events or health. Supported resources differ per platform; an unsupported or unauthorized resource returns an error instead of an invented empty success. No secrets, pod logs, exec, arbitrary URL or shell tools are exposed.

migration.assess accepts up to 100 explicit VM records with name and optional firmware, encrypted, vtpm, passthrough, virtioReady, backupVerified, networkMapped and applicationTested. Missing facts remain UNKNOWN. True encryption/vTPM/passthrough flags require review; this planner does not migrate those devices. All prerequisites explicitly met yields PILOT_CANDIDATE, not production approval.

evidence.compare accepts before and after JSON objects and reports changed top-level fields. Nested objects count as a changed field; this is not a semantic application test.

Evidence is marked outseed.evidence/v1 with platform, tool, observedAt and readOnly. Platform APIs are capped at 128 KiB, inventory records are bounded, commands have fixed arguments/timeouts, and truncation/continuation is reported. A partial inventory cannot establish completeness.

{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"inventory.read","arguments":{"resource":"overview"}}}

8. Practical workflow: application or host incident

Capture overview and the relevant health/storage/network evidence. Preserve observation time, target identity and API permissions used. Identify failed readiness conditions, pending volumes, failed services or mismatched configuration before proposing changes.

OpenShift network collection covers Service configuration, not packet reachability or Route/Ingress probes. Events include reason/type/count/timestamps but not free-text message/log dumps. Cluster health is opt-in and checks ClusterOperator conditions, not a complete upgrade readiness certification.

Correlate results with approved application-owner tests and vendor guidance. Record unresolved questions, inaccessible resources and data age. Repeat collection after a separately approved change and compare the evidence.

9. Troubleshooting and limitations

HTTP 401/403: review token validity, account approval, connector state and target permissions. Revoked/quarantined hosted identities stop collecting new work; a revoked connector exits. Only a current quarantined pair can be restored; revoked credentials require a new pair.

TLS/connectivity failure: verify the final API origin, CA chain, DNS and firewall path from the local connector. Never solve this by disabling verification. VMware requires the vCenter /api REST interface, not direct ESXi; validate your installed version.

Missing commands or permissions: Linux reports unavailable commands; it never uses sudo automatically. OpenShift health needs explicit OUTSEED_CLUSTER_READ=true and separate cluster permissions. Large responses fail closed at 128 KiB; reduce scope.

Hosted timeout: check the process heartbeat, networking and local collection duration. One tool per connection is allowed; duplicate submissions can be rejected. Disconnecting a read-only session cannot undo an external operation already accepted elsewhere.

10. Data handling, telemetry and retention

Independent local mode makes no OUTSEED telemetry calls and has no remote kill switch. Your MCP/AI client may transmit tool output to its configured AI provider. The result scrubber removes fields with secret-like names but is not a guarantee that all sensitive content is detected. Review evidence and client settings.

Hosted mode is explicitly opted in. Tool arguments/results are temporarily queued in OUTSEED D1, deleted after delivery or expiry, and are not saved as assessment history. Expired queue data is removed by the 15-minute scheduled job. Infrastructure credentials stay local; avoid supplying secrets as evidence.

OUTSEED records download starts, package/version, trusted source IP and approximate country/region/city when available. A 10-minute IP/browser/package/version window deduplicates retries; HEAD is not counted, range requests are served as full downloads, known bots are separated. Completion and installation are not measured.

Raw IP and detailed activity are retained for 30 days; non-identifying download aggregates and administrator/security configuration audit for 365 days. Administrator raw-data access requires identity confirmation and is audited. Independent mirrors/downloads outside OUTSEED cannot be measured.

11. Administration and malicious connections

The sole administrator can review client/connector origins, last heartbeat, state, account, platform and request metadata in Account → MCP administrator operations. Stale/offline is distinct from an active stored credential.

Quarantine denies new calls and polling. Terminate and revoke invalidates both hosted sides and cancels queued work; in-flight result delivery is denied after revocation. Suspending MCP service access affects all of that user’s hosted connections, without modifying their general OUTSEED account.

Temporary IP blocks expire after one hour; the administrator cannot block their own current IP. IP/location changes alone do not imply malicious behavior. Rate limits and authorization reject prohibited requests automatically; ambiguous activity requires administrator review.

12. Upgrade, remove and test

Versioned downloads remain stable. Compare checksums, review release notes and test in a lab before replacing a client command path. Revoke old hosted connections and create fresh credentials for rotation.

To uninstall: stop the connector process, revoke the OUTSEED pair, remove the local token file, remove the MCP client entry, and revoke target API credentials if no longer needed. Local process control remains with the operator.

OUTSEED_FIXTURE is an explicit local synthetic-fixture mode for protocol testing. Its output is marked SYNTHETIC_FIXTURE and is not live platform evidence. Do not use fixture output to claim platform readiness. Release 0.1.0 provides assessment only; orchestration, infrastructure mutation and automatic upgrades/migrations are absent.

Release notes and compatibility

0.1.0 — Linux fixed local reads; vCenter /api inventory and health; Proxmox /api2/json resources/status; OpenShift namespace reads and optional ClusterOperators. Assessment/compare tools, checksummed downloads, outbound pairing, administrator controls and retention. No live platform versions are claimed verified. Test the exact vendor version and permissions in your lab before production.

Official references

Confirm your identity

This confirmation authorizes for five minutes in this session.