Dynamic pod spawner & proxy for ephemeral AI agent workspaces on Kubernetes without CRDs
Connect Runs on your machine
claude mcp add no-crd -e KUBECONFIG=<KUBECONFIG> -e BASE_URL=<BASE_URL> -e STATELESS=<STATELESS> -e TLS_CERT=<TLS_CERT> -e TLS_KEY=<TLS_KEY> -e TLS_CA=<TLS_CA> -e NODE_TLS_REJECT_UNAUTHORIZED=<NODE_TLS_REJECT_UNAUTHORIZED> -e REGISTRY_URL=<REGISTRY_URL> -e TEMPLATES_DIR=<TEMPLATES_DIR> -e BUILTIN_TEMPLATES=<BUILTIN_TEMPLATES> -e AUTH_ENABLED=<AUTH_ENABLED> -e JWT_VERIFICATION_REQUIRED=<JWT_VERIFICATION_REQUIRED> -e JWT_SECRET=<JWT_SECRET> -e JWT_PUBLIC_KEY=<JWT_PUBLIC_KEY> -e JWKS_URI=<JWKS_URI> -e INTROSPECTION_ENDPOINT=<INTROSPECTION_ENDPOINT> -e OAUTH_CLIENT_ID=<OAUTH_CLIENT_ID> -e OAUTH_CLIENT_SECRET=<OAUTH_CLIENT_SECRET> -e JWT_AUDIENCE=<JWT_AUDIENCE> -e AUTH_ISSUER=<AUTH_ISSUER> -e AUTH_SUB_JSONPATH=<AUTH_SUB_JSONPATH> -e AUTH_ADMIN_ROLE=<AUTH_ADMIN_ROLE> -e AUTH_ADMIN_USERS=<AUTH_ADMIN_USERS> -e PROXY_SESSION_TTL=<PROXY_SESSION_TTL> -e PROXY_SESSION_SECRET=<PROXY_SESSION_SECRET> -e UI_ENABLED=<UI_ENABLED> -e THEMES_DIR=<THEMES_DIR> -e THEMES_CONFIGMAP=<THEMES_CONFIGMAP> -e DOCS_DIR=<DOCS_DIR> -e OAUTH_DISCOVERY_URL=<OAUTH_DISCOVERY_URL> -e OAUTH_LOGIN_METHOD=<OAUTH_LOGIN_METHOD> -e UI_TITLE=<UI_TITLE> -e UI_SUBTITLE=<UI_SUBTITLE> -- npx -y @nogoo9/[email protected]
{
"mcpServers": {
"no-crd": {
"command": "npx",
"args": [
"-y",
"@nogoo9/[email protected]"
],
"env": {
"KUBECONFIG": "<KUBECONFIG>",
"BASE_URL": "<BASE_URL>",
"STATELESS": "<STATELESS>",
"TLS_CERT": "<TLS_CERT>",
"TLS_KEY": "<TLS_KEY>",
"TLS_CA": "<TLS_CA>",
"NODE_TLS_REJECT_UNAUTHORIZED": "<NODE_TLS_REJECT_UNAUTHORIZED>",
"REGISTRY_URL": "<REGISTRY_URL>",
"TEMPLATES_DIR": "<TEMPLATES_DIR>",
"BUILTIN_TEMPLATES": "<BUILTIN_TEMPLATES>",
"AUTH_ENABLED": "<AUTH_ENABLED>",
"JWT_VERIFICATION_REQUIRED": "<JWT_VERIFICATION_REQUIRED>",
"JWT_SECRET": "<JWT_SECRET>",
"JWT_PUBLIC_KEY": "<JWT_PUBLIC_KEY>",
"JWKS_URI": "<JWKS_URI>",
"INTROSPECTION_ENDPOINT": "<INTROSPECTION_ENDPOINT>",
"OAUTH_CLIENT_ID": "<OAUTH_CLIENT_ID>",
"OAUTH_CLIENT_SECRET": "<OAUTH_CLIENT_SECRET>",
"JWT_AUDIENCE": "<JWT_AUDIENCE>",
"AUTH_ISSUER": "<AUTH_ISSUER>",
"AUTH_SUB_JSONPATH": "<AUTH_SUB_JSONPATH>",
"AUTH_ADMIN_ROLE": "<AUTH_ADMIN_ROLE>",
"AUTH_ADMIN_USERS": "<AUTH_ADMIN_USERS>",
"PROXY_SESSION_TTL": "<PROXY_SESSION_TTL>",
"PROXY_SESSION_SECRET": "<PROXY_SESSION_SECRET>",
"UI_ENABLED": "<UI_ENABLED>",
"THEMES_DIR": "<THEMES_DIR>",
"THEMES_CONFIGMAP": "<THEMES_CONFIGMAP>",
"DOCS_DIR": "<DOCS_DIR>",
"OAUTH_DISCOVERY_URL": "<OAUTH_DISCOVERY_URL>",
"OAUTH_LOGIN_METHOD": "<OAUTH_LOGIN_METHOD>",
"UI_TITLE": "<UI_TITLE>",
"UI_SUBTITLE": "<UI_SUBTITLE>"
}
}
}
}
{
"mcpServers": {
"no-crd": {
"command": "npx",
"args": [
"-y",
"@nogoo9/[email protected]"
],
"env": {
"KUBECONFIG": "<KUBECONFIG>",
"BASE_URL": "<BASE_URL>",
"STATELESS": "<STATELESS>",
"TLS_CERT": "<TLS_CERT>",
"TLS_KEY": "<TLS_KEY>",
"TLS_CA": "<TLS_CA>",
"NODE_TLS_REJECT_UNAUTHORIZED": "<NODE_TLS_REJECT_UNAUTHORIZED>",
"REGISTRY_URL": "<REGISTRY_URL>",
"TEMPLATES_DIR": "<TEMPLATES_DIR>",
"BUILTIN_TEMPLATES": "<BUILTIN_TEMPLATES>",
"AUTH_ENABLED": "<AUTH_ENABLED>",
"JWT_VERIFICATION_REQUIRED": "<JWT_VERIFICATION_REQUIRED>",
"JWT_SECRET": "<JWT_SECRET>",
"JWT_PUBLIC_KEY": "<JWT_PUBLIC_KEY>",
"JWKS_URI": "<JWKS_URI>",
"INTROSPECTION_ENDPOINT": "<INTROSPECTION_ENDPOINT>",
"OAUTH_CLIENT_ID": "<OAUTH_CLIENT_ID>",
"OAUTH_CLIENT_SECRET": "<OAUTH_CLIENT_SECRET>",
"JWT_AUDIENCE": "<JWT_AUDIENCE>",
"AUTH_ISSUER": "<AUTH_ISSUER>",
"AUTH_SUB_JSONPATH": "<AUTH_SUB_JSONPATH>",
"AUTH_ADMIN_ROLE": "<AUTH_ADMIN_ROLE>",
"AUTH_ADMIN_USERS": "<AUTH_ADMIN_USERS>",
"PROXY_SESSION_TTL": "<PROXY_SESSION_TTL>",
"PROXY_SESSION_SECRET": "<PROXY_SESSION_SECRET>",
"UI_ENABLED": "<UI_ENABLED>",
"THEMES_DIR": "<THEMES_DIR>",
"THEMES_CONFIGMAP": "<THEMES_CONFIGMAP>",
"DOCS_DIR": "<DOCS_DIR>",
"OAUTH_DISCOVERY_URL": "<OAUTH_DISCOVERY_URL>",
"OAUTH_LOGIN_METHOD": "<OAUTH_LOGIN_METHOD>",
"UI_TITLE": "<UI_TITLE>",
"UI_SUBTITLE": "<UI_SUBTITLE>"
}
}
}
}
{
"servers": {
"no-crd": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@nogoo9/[email protected]"
],
"env": {
"KUBECONFIG": "<KUBECONFIG>",
"BASE_URL": "<BASE_URL>",
"STATELESS": "<STATELESS>",
"TLS_CERT": "<TLS_CERT>",
"TLS_KEY": "<TLS_KEY>",
"TLS_CA": "<TLS_CA>",
"NODE_TLS_REJECT_UNAUTHORIZED": "<NODE_TLS_REJECT_UNAUTHORIZED>",
"REGISTRY_URL": "<REGISTRY_URL>",
"TEMPLATES_DIR": "<TEMPLATES_DIR>",
"BUILTIN_TEMPLATES": "<BUILTIN_TEMPLATES>",
"AUTH_ENABLED": "<AUTH_ENABLED>",
"JWT_VERIFICATION_REQUIRED": "<JWT_VERIFICATION_REQUIRED>",
"JWT_SECRET": "<JWT_SECRET>",
"JWT_PUBLIC_KEY": "<JWT_PUBLIC_KEY>",
"JWKS_URI": "<JWKS_URI>",
"INTROSPECTION_ENDPOINT": "<INTROSPECTION_ENDPOINT>",
"OAUTH_CLIENT_ID": "<OAUTH_CLIENT_ID>",
"OAUTH_CLIENT_SECRET": "<OAUTH_CLIENT_SECRET>",
"JWT_AUDIENCE": "<JWT_AUDIENCE>",
"AUTH_ISSUER": "<AUTH_ISSUER>",
"AUTH_SUB_JSONPATH": "<AUTH_SUB_JSONPATH>",
"AUTH_ADMIN_ROLE": "<AUTH_ADMIN_ROLE>",
"AUTH_ADMIN_USERS": "<AUTH_ADMIN_USERS>",
"PROXY_SESSION_TTL": "<PROXY_SESSION_TTL>",
"PROXY_SESSION_SECRET": "<PROXY_SESSION_SECRET>",
"UI_ENABLED": "<UI_ENABLED>",
"THEMES_DIR": "<THEMES_DIR>",
"THEMES_CONFIGMAP": "<THEMES_CONFIGMAP>",
"DOCS_DIR": "<DOCS_DIR>",
"OAUTH_DISCOVERY_URL": "<OAUTH_DISCOVERY_URL>",
"OAUTH_LOGIN_METHOD": "<OAUTH_LOGIN_METHOD>",
"UI_TITLE": "<UI_TITLE>",
"UI_SUBTITLE": "<UI_SUBTITLE>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
KUBECONFIGOptional | Path to the Kubernetes API credentials configuration file |
BASE_URLOptional | Hosting URL subpath prefix for gateways and reverse proxies |
STATELESSOptional | Disable in-memory session tracking for stateless execution |
TLS_CERTOptional | Local file path containing TLS public certificate (HTTPS) |
TLS_KEYOptional, secret | Local file path containing TLS private key (HTTPS) |
TLS_CAOptional | Local file path containing trusted client Certificate Authority |
NODE_TLS_REJECT_UNAUTHORIZEDOptional | Set to '0' to allow connection to unverified TLS endpoints |
REGISTRY_URLOptional | Default container registry for workspace image resolution |
TEMPLATES_DIROptional | Local filesystem directory containing custom YAML/JSON templates |
BUILTIN_TEMPLATESOptional | Enable loading of standard pre-configured templates (default: true) |
AUTH_ENABLEDOptional | Enforce JWT verification and user tenant isolation (default: false) |
JWT_VERIFICATION_REQUIREDOptional | Set to 'false' to skip OIDC cryptographic signature checks |
JWT_SECRETOptional, secret | HMAC-SHA symmetric secret key to sign/verify JWT tokens |
JWT_PUBLIC_KEYOptional, secret | PEM public key to verify asymmetric OIDC signatures |
JWKS_URIOptional | Discovery URI to fetch keys from OIDC provider dynamically |
INTROSPECTION_ENDPOINTOptional | RFC 7662 compliant token introspection validation endpoint |
OAUTH_CLIENT_IDOptional | Client identifier for OAuth2 authentication flows |
OAUTH_CLIENT_SECRETOptional, secret | Client secret credentials used for token introspection |
JWT_AUDIENCEOptional | Target audience check value for incoming OIDC tokens |
AUTH_ISSUEROptional | Expected token issuer authority check value (e.g. Keycloak) |
AUTH_SUB_JSONPATHOptional | JSONPath pattern to extract user identity subject from token |
AUTH_ADMIN_ROLEOptional | Bypass role name that grants admin access (default: nogoo9-admin) |
AUTH_ADMIN_USERSOptional | Comma-separated list of user subject IDs (sub) granted admin privileges without OIDC scope/role claims |
PROXY_SESSION_TTLOptional | Active lifetime in seconds for signed proxy session cookies |
PROXY_SESSION_SECRETOptional, secret | Secret key for session cookie signing |
UI_ENABLEDOptional | Serve the built-in HTML dashboard (default: true) |
THEMES_DIROptional | Filesystem directory to scan for custom CSS themes |
THEMES_CONFIGMAPOptional | ConfigMap name storing dynamic CSS theme overrides |
DOCS_DIROptional | Directory containing static documentation web files to serve |
OAUTH_DISCOVERY_URLOptional | Standard OIDC .well-known configuration discovery endpoint |
OAUTH_LOGIN_METHODOptional | UI SSO flow login method: 'redirect' or silent 'iframe' |
UI_TITLEOptional | Custom dashboard header title for white-label branding |
UI_SUBTITLEOptional | Custom dashboard subtitle text below the header title |
Details
| Package | @nogoo9/[email protected] (NPM, stdio) |
| First published | 12 Aug 2026 |
| Last updated | 12 Aug 2026 |
| Registry name | io.github.nogoo9/no-crd |
More cloud and devops servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
