compatible.systems MCP hub and Codex plugin
  • JavaScript 98.9%
  • Nix 1.1%
Find a file
2026-06-22 01:44:18 -07:00
mcp-hub plugins: use browser pkce auth 2026-06-22 01:44:18 -07:00
plugins/compatible-systems plugins: use browser pkce auth 2026-06-22 01:44:18 -07:00
.gitignore Initial compatible.systems MCP hub 2026-06-21 23:50:41 -07:00
README.md plugins: use browser pkce auth 2026-06-22 01:44:18 -07:00

compatible.systems MCP

This repository contains the compatible.systems MCP hub and a reusable Codex plugin for accessing it through Authentik OAuth.

Layout

  • mcp-hub/: Node/Bun MCP aggregation hub. It exposes a streamable HTTP MCP endpoint, OAuth protected-resource metadata, health/status routes, and backend adapters for configured MCP services.
  • plugins/compatible-systems/: Codex plugin. It runs a local stdio proxy that performs Authentik browser sign-in once with authorization code + PKCE, caches only local OAuth tokens, and forwards MCP requests to https://compatible.systems/mcp.

Hub Runtime

The hub is configured entirely with environment variables. Do not commit secrets.

Minimum public deployment shape:

MCP_HUB_PORT=8098
MCP_HUB_LISTEN_HOST=127.0.0.1
MCP_HUB_BASE_PATH=/mcp
MCP_HUB_PUBLIC_BASE_URL=https://compatible.systems/mcp
MCP_HUB_ALLOW_ANONYMOUS=false
MCP_HUB_AUTH_DISCOVERY_URL=https://idp.compatible.systems/application/o/mcp/.well-known/openid-configuration
MCP_HUB_AUTH_ISSUER=https://idp.compatible.systems/application/o/mcp/
MCP_HUB_AUTH_CLIENT_ID=mcp.compatible.systems

Run locally:

cd mcp-hub
npm install
MCP_HUB_ALLOW_ANONYMOUS=true npm start

Codex Plugin

Install or add plugins/compatible-systems in Codex. On first tool use, the proxy opens Authentik in the browser, listens on a localhost callback for the OAuth authorization-code + PKCE response, and stores the resulting OAuth token at:

~/.cache/compatible-systems-mcp/token.json

Useful plugin environment overrides:

MCP_COMPATIBLE_SYSTEMS_REMOTE_URL=https://compatible.systems/mcp
MCP_COMPATIBLE_SYSTEMS_CLIENT_ID=mcp.compatible.systems
MCP_COMPATIBLE_SYSTEMS_AUTHORIZATION_ENDPOINT=https://idp.compatible.systems/application/o/authorize/
MCP_COMPATIBLE_SYSTEMS_REQUIRED_EMAIL=you@example.com
MCP_COMPATIBLE_SYSTEMS_OPEN_BROWSER=1

No UniFi, Home Assistant, iMessage, or other backend API credentials belong in this repository. Put deployment secrets in the host secret manager and pass them to the hub as environment variables.