What is the io.github.nogoo9/no-crd MCP server?
Dynamic pod spawner & proxy for ephemeral AI agent workspaces on Kubernetes without CRDs
How to install io.github.nogoo9/no-crd
Copy-paste configuration for popular MCP clients.
KUBECONFIGPath to the Kubernetes API credentials configuration file
BASE_URLHosting URL subpath prefix for gateways and reverse proxies
STATELESSDisable in-memory session tracking for stateless execution
TLS_CERTLocal file path containing TLS public certificate (HTTPS)
TLS_KEYsecretLocal file path containing TLS private key (HTTPS)
TLS_CALocal file path containing trusted client Certificate Authority
NODE_TLS_REJECT_UNAUTHORIZEDSet to '0' to allow connection to unverified TLS endpoints
REGISTRY_URLDefault container registry for workspace image resolution
TEMPLATES_DIRLocal filesystem directory containing custom YAML/JSON templates
BUILTIN_TEMPLATESEnable loading of standard pre-configured templates (default: true)
AUTH_ENABLEDEnforce JWT verification and user tenant isolation (default: false)
JWT_VERIFICATION_REQUIREDSet to 'false' to skip OIDC cryptographic signature checks
JWT_SECRETsecretHMAC-SHA symmetric secret key to sign/verify JWT tokens
JWT_PUBLIC_KEYsecretPEM public key to verify asymmetric OIDC signatures
JWKS_URIDiscovery URI to fetch keys from OIDC provider dynamically
INTROSPECTION_ENDPOINTRFC 7662 compliant token introspection validation endpoint
OAUTH_CLIENT_IDClient identifier for OAuth2 authentication flows
OAUTH_CLIENT_SECRETsecretClient secret credentials used for token introspection
JWT_AUDIENCETarget audience check value for incoming OIDC tokens
AUTH_ISSUERExpected token issuer authority check value (e.g. Keycloak)
AUTH_SUB_JSONPATHJSONPath pattern to extract user identity subject from token
AUTH_ADMIN_ROLEBypass role name that grants admin access (default: nogoo9-admin)
PROXY_SESSION_TTLActive lifetime in seconds for signed proxy session cookies
PROXY_SESSION_SECRETsecretSecret key for session cookie signing
UI_ENABLEDServe the built-in HTML dashboard (default: true)
THEMES_DIRFilesystem directory to scan for custom CSS themes
THEMES_CONFIGMAPConfigMap name storing dynamic CSS theme overrides
DOCS_DIRDirectory containing static documentation web files to serve
OAUTH_DISCOVERY_URLStandard OIDC .well-known configuration discovery endpoint
OAUTH_LOGIN_METHODUI SSO flow login method: 'redirect' or silent 'iframe'
UI_TITLECustom dashboard header title for white-label branding
UI_SUBTITLECustom dashboard subtitle text below the header title
{
"mcpServers": {
"no-crd": {
"command": "bunx",
"args": [
"-y",
"@nogoo9/no-crd",
"--transport",
"--mode",
"--namespace",
"--port",
"--host",
"--log-level",
"--disable-permission-checks",
"--cors-origin",
"--cors-methods",
"--cors-headers",
"--cors-allow-credentials",
"--auth-required-read-scope",
"--auth-required-write-scope",
"--auth-scope-jsonpath",
"--auth-required-read-role",
"--auth-required-write-role",
"--auth-roles-jsonpath"
],
"env": {
"KUBECONFIG": "<YOUR_KUBECONFIG>",
"BASE_URL": "<YOUR_BASE_URL>",
"STATELESS": "<YOUR_STATELESS>",
"TLS_CERT": "<YOUR_TLS_CERT>",
"TLS_KEY": "<YOUR_TLS_KEY>",
"TLS_CA": "<YOUR_TLS_CA>",
"NODE_TLS_REJECT_UNAUTHORIZED": "<YOUR_NODE_TLS_REJECT_UNAUTHORIZED>",
"REGISTRY_URL": "<YOUR_REGISTRY_URL>",
"TEMPLATES_DIR": "<YOUR_TEMPLATES_DIR>",
"BUILTIN_TEMPLATES": "<YOUR_BUILTIN_TEMPLATES>",
"AUTH_ENABLED": "<YOUR_AUTH_ENABLED>",
"JWT_VERIFICATION_REQUIRED": "<YOUR_JWT_VERIFICATION_REQUIRED>",
"JWT_SECRET": "<YOUR_JWT_SECRET>",
"JWT_PUBLIC_KEY": "<YOUR_JWT_PUBLIC_KEY>",
"JWKS_URI": "<YOUR_JWKS_URI>",
"INTROSPECTION_ENDPOINT": "<YOUR_INTROSPECTION_ENDPOINT>",
"OAUTH_CLIENT_ID": "<YOUR_OAUTH_CLIENT_ID>",
"OAUTH_CLIENT_SECRET": "<YOUR_OAUTH_CLIENT_SECRET>",
"JWT_AUDIENCE": "<YOUR_JWT_AUDIENCE>",
"AUTH_ISSUER": "<YOUR_AUTH_ISSUER>",
"AUTH_SUB_JSONPATH": "<YOUR_AUTH_SUB_JSONPATH>",
"AUTH_ADMIN_ROLE": "<YOUR_AUTH_ADMIN_ROLE>",
"PROXY_SESSION_TTL": "<YOUR_PROXY_SESSION_TTL>",
"PROXY_SESSION_SECRET": "<YOUR_PROXY_SESSION_SECRET>",
"UI_ENABLED": "<YOUR_UI_ENABLED>",
"THEMES_DIR": "<YOUR_THEMES_DIR>",
"THEMES_CONFIGMAP": "<YOUR_THEMES_CONFIGMAP>",
"DOCS_DIR": "<YOUR_DOCS_DIR>",
"OAUTH_DISCOVERY_URL": "<YOUR_OAUTH_DISCOVERY_URL>",
"OAUTH_LOGIN_METHOD": "<YOUR_OAUTH_LOGIN_METHOD>",
"UI_TITLE": "<YOUR_UI_TITLE>",
"UI_SUBTITLE": "<YOUR_UI_SUBTITLE>"
}
}
}
}{
"mcpServers": {
"no-crd": {
"command": "bunx",
"args": [
"-y",
"@nogoo9/no-crd",
"--transport",
"--mode",
"--namespace",
"--port",
"--host",
"--log-level",
"--disable-permission-checks",
"--cors-origin",
"--cors-methods",
"--cors-headers",
"--cors-allow-credentials",
"--auth-required-read-scope",
"--auth-required-write-scope",
"--auth-scope-jsonpath",
"--auth-required-read-role",
"--auth-required-write-role",
"--auth-roles-jsonpath"
],
"env": {
"KUBECONFIG": "<YOUR_KUBECONFIG>",
"BASE_URL": "<YOUR_BASE_URL>",
"STATELESS": "<YOUR_STATELESS>",
"TLS_CERT": "<YOUR_TLS_CERT>",
"TLS_KEY": "<YOUR_TLS_KEY>",
"TLS_CA": "<YOUR_TLS_CA>",
"NODE_TLS_REJECT_UNAUTHORIZED": "<YOUR_NODE_TLS_REJECT_UNAUTHORIZED>",
"REGISTRY_URL": "<YOUR_REGISTRY_URL>",
"TEMPLATES_DIR": "<YOUR_TEMPLATES_DIR>",
"BUILTIN_TEMPLATES": "<YOUR_BUILTIN_TEMPLATES>",
"AUTH_ENABLED": "<YOUR_AUTH_ENABLED>",
"JWT_VERIFICATION_REQUIRED": "<YOUR_JWT_VERIFICATION_REQUIRED>",
"JWT_SECRET": "<YOUR_JWT_SECRET>",
"JWT_PUBLIC_KEY": "<YOUR_JWT_PUBLIC_KEY>",
"JWKS_URI": "<YOUR_JWKS_URI>",
"INTROSPECTION_ENDPOINT": "<YOUR_INTROSPECTION_ENDPOINT>",
"OAUTH_CLIENT_ID": "<YOUR_OAUTH_CLIENT_ID>",
"OAUTH_CLIENT_SECRET": "<YOUR_OAUTH_CLIENT_SECRET>",
"JWT_AUDIENCE": "<YOUR_JWT_AUDIENCE>",
"AUTH_ISSUER": "<YOUR_AUTH_ISSUER>",
"AUTH_SUB_JSONPATH": "<YOUR_AUTH_SUB_JSONPATH>",
"AUTH_ADMIN_ROLE": "<YOUR_AUTH_ADMIN_ROLE>",
"PROXY_SESSION_TTL": "<YOUR_PROXY_SESSION_TTL>",
"PROXY_SESSION_SECRET": "<YOUR_PROXY_SESSION_SECRET>",
"UI_ENABLED": "<YOUR_UI_ENABLED>",
"THEMES_DIR": "<YOUR_THEMES_DIR>",
"THEMES_CONFIGMAP": "<YOUR_THEMES_CONFIGMAP>",
"DOCS_DIR": "<YOUR_DOCS_DIR>",
"OAUTH_DISCOVERY_URL": "<YOUR_OAUTH_DISCOVERY_URL>",
"OAUTH_LOGIN_METHOD": "<YOUR_OAUTH_LOGIN_METHOD>",
"UI_TITLE": "<YOUR_UI_TITLE>",
"UI_SUBTITLE": "<YOUR_UI_SUBTITLE>"
}
}
}
}{
"mcpServers": {
"no-crd": {
"command": "bunx",
"args": [
"-y",
"@nogoo9/no-crd",
"--transport",
"--mode",
"--namespace",
"--port",
"--host",
"--log-level",
"--disable-permission-checks",
"--cors-origin",
"--cors-methods",
"--cors-headers",
"--cors-allow-credentials",
"--auth-required-read-scope",
"--auth-required-write-scope",
"--auth-scope-jsonpath",
"--auth-required-read-role",
"--auth-required-write-role",
"--auth-roles-jsonpath"
],
"env": {
"KUBECONFIG": "<YOUR_KUBECONFIG>",
"BASE_URL": "<YOUR_BASE_URL>",
"STATELESS": "<YOUR_STATELESS>",
"TLS_CERT": "<YOUR_TLS_CERT>",
"TLS_KEY": "<YOUR_TLS_KEY>",
"TLS_CA": "<YOUR_TLS_CA>",
"NODE_TLS_REJECT_UNAUTHORIZED": "<YOUR_NODE_TLS_REJECT_UNAUTHORIZED>",
"REGISTRY_URL": "<YOUR_REGISTRY_URL>",
"TEMPLATES_DIR": "<YOUR_TEMPLATES_DIR>",
"BUILTIN_TEMPLATES": "<YOUR_BUILTIN_TEMPLATES>",
"AUTH_ENABLED": "<YOUR_AUTH_ENABLED>",
"JWT_VERIFICATION_REQUIRED": "<YOUR_JWT_VERIFICATION_REQUIRED>",
"JWT_SECRET": "<YOUR_JWT_SECRET>",
"JWT_PUBLIC_KEY": "<YOUR_JWT_PUBLIC_KEY>",
"JWKS_URI": "<YOUR_JWKS_URI>",
"INTROSPECTION_ENDPOINT": "<YOUR_INTROSPECTION_ENDPOINT>",
"OAUTH_CLIENT_ID": "<YOUR_OAUTH_CLIENT_ID>",
"OAUTH_CLIENT_SECRET": "<YOUR_OAUTH_CLIENT_SECRET>",
"JWT_AUDIENCE": "<YOUR_JWT_AUDIENCE>",
"AUTH_ISSUER": "<YOUR_AUTH_ISSUER>",
"AUTH_SUB_JSONPATH": "<YOUR_AUTH_SUB_JSONPATH>",
"AUTH_ADMIN_ROLE": "<YOUR_AUTH_ADMIN_ROLE>",
"PROXY_SESSION_TTL": "<YOUR_PROXY_SESSION_TTL>",
"PROXY_SESSION_SECRET": "<YOUR_PROXY_SESSION_SECRET>",
"UI_ENABLED": "<YOUR_UI_ENABLED>",
"THEMES_DIR": "<YOUR_THEMES_DIR>",
"THEMES_CONFIGMAP": "<YOUR_THEMES_CONFIGMAP>",
"DOCS_DIR": "<YOUR_DOCS_DIR>",
"OAUTH_DISCOVERY_URL": "<YOUR_OAUTH_DISCOVERY_URL>",
"OAUTH_LOGIN_METHOD": "<YOUR_OAUTH_LOGIN_METHOD>",
"UI_TITLE": "<YOUR_UI_TITLE>",
"UI_SUBTITLE": "<YOUR_UI_SUBTITLE>"
}
}
}
}{
"servers": {
"no-crd": {
"type": "stdio",
"command": "bunx",
"args": [
"-y",
"@nogoo9/no-crd",
"--transport",
"--mode",
"--namespace",
"--port",
"--host",
"--log-level",
"--disable-permission-checks",
"--cors-origin",
"--cors-methods",
"--cors-headers",
"--cors-allow-credentials",
"--auth-required-read-scope",
"--auth-required-write-scope",
"--auth-scope-jsonpath",
"--auth-required-read-role",
"--auth-required-write-role",
"--auth-roles-jsonpath"
],
"env": {
"KUBECONFIG": "<YOUR_KUBECONFIG>",
"BASE_URL": "<YOUR_BASE_URL>",
"STATELESS": "<YOUR_STATELESS>",
"TLS_CERT": "<YOUR_TLS_CERT>",
"TLS_KEY": "<YOUR_TLS_KEY>",
"TLS_CA": "<YOUR_TLS_CA>",
"NODE_TLS_REJECT_UNAUTHORIZED": "<YOUR_NODE_TLS_REJECT_UNAUTHORIZED>",
"REGISTRY_URL": "<YOUR_REGISTRY_URL>",
"TEMPLATES_DIR": "<YOUR_TEMPLATES_DIR>",
"BUILTIN_TEMPLATES": "<YOUR_BUILTIN_TEMPLATES>",
"AUTH_ENABLED": "<YOUR_AUTH_ENABLED>",
"JWT_VERIFICATION_REQUIRED": "<YOUR_JWT_VERIFICATION_REQUIRED>",
"JWT_SECRET": "<YOUR_JWT_SECRET>",
"JWT_PUBLIC_KEY": "<YOUR_JWT_PUBLIC_KEY>",
"JWKS_URI": "<YOUR_JWKS_URI>",
"INTROSPECTION_ENDPOINT": "<YOUR_INTROSPECTION_ENDPOINT>",
"OAUTH_CLIENT_ID": "<YOUR_OAUTH_CLIENT_ID>",
"OAUTH_CLIENT_SECRET": "<YOUR_OAUTH_CLIENT_SECRET>",
"JWT_AUDIENCE": "<YOUR_JWT_AUDIENCE>",
"AUTH_ISSUER": "<YOUR_AUTH_ISSUER>",
"AUTH_SUB_JSONPATH": "<YOUR_AUTH_SUB_JSONPATH>",
"AUTH_ADMIN_ROLE": "<YOUR_AUTH_ADMIN_ROLE>",
"PROXY_SESSION_TTL": "<YOUR_PROXY_SESSION_TTL>",
"PROXY_SESSION_SECRET": "<YOUR_PROXY_SESSION_SECRET>",
"UI_ENABLED": "<YOUR_UI_ENABLED>",
"THEMES_DIR": "<YOUR_THEMES_DIR>",
"THEMES_CONFIGMAP": "<YOUR_THEMES_CONFIGMAP>",
"DOCS_DIR": "<YOUR_DOCS_DIR>",
"OAUTH_DISCOVERY_URL": "<YOUR_OAUTH_DISCOVERY_URL>",
"OAUTH_LOGIN_METHOD": "<YOUR_OAUTH_LOGIN_METHOD>",
"UI_TITLE": "<YOUR_UI_TITLE>",
"UI_SUBTITLE": "<YOUR_UI_SUBTITLE>"
}
}
}
}claude mcp add no-crd --env KUBECONFIG=<YOUR_KUBECONFIG> --env BASE_URL=<YOUR_BASE_URL> --env STATELESS=<YOUR_STATELESS> --env TLS_CERT=<YOUR_TLS_CERT> --env TLS_KEY=<YOUR_TLS_KEY> --env TLS_CA=<YOUR_TLS_CA> --env NODE_TLS_REJECT_UNAUTHORIZED=<YOUR_NODE_TLS_REJECT_UNAUTHORIZED> --env REGISTRY_URL=<YOUR_REGISTRY_URL> --env TEMPLATES_DIR=<YOUR_TEMPLATES_DIR> --env BUILTIN_TEMPLATES=<YOUR_BUILTIN_TEMPLATES> --env AUTH_ENABLED=<YOUR_AUTH_ENABLED> --env JWT_VERIFICATION_REQUIRED=<YOUR_JWT_VERIFICATION_REQUIRED> --env JWT_SECRET=<YOUR_JWT_SECRET> --env JWT_PUBLIC_KEY=<YOUR_JWT_PUBLIC_KEY> --env JWKS_URI=<YOUR_JWKS_URI> --env INTROSPECTION_ENDPOINT=<YOUR_INTROSPECTION_ENDPOINT> --env OAUTH_CLIENT_ID=<YOUR_OAUTH_CLIENT_ID> --env OAUTH_CLIENT_SECRET=<YOUR_OAUTH_CLIENT_SECRET> --env JWT_AUDIENCE=<YOUR_JWT_AUDIENCE> --env AUTH_ISSUER=<YOUR_AUTH_ISSUER> --env AUTH_SUB_JSONPATH=<YOUR_AUTH_SUB_JSONPATH> --env AUTH_ADMIN_ROLE=<YOUR_AUTH_ADMIN_ROLE> --env PROXY_SESSION_TTL=<YOUR_PROXY_SESSION_TTL> --env PROXY_SESSION_SECRET=<YOUR_PROXY_SESSION_SECRET> --env UI_ENABLED=<YOUR_UI_ENABLED> --env THEMES_DIR=<YOUR_THEMES_DIR> --env THEMES_CONFIGMAP=<YOUR_THEMES_CONFIGMAP> --env DOCS_DIR=<YOUR_DOCS_DIR> --env OAUTH_DISCOVERY_URL=<YOUR_OAUTH_DISCOVERY_URL> --env OAUTH_LOGIN_METHOD=<YOUR_OAUTH_LOGIN_METHOD> --env UI_TITLE=<YOUR_UI_TITLE> --env UI_SUBTITLE=<YOUR_UI_SUBTITLE> -- bunx -y @nogoo9/no-crd --transport --mode --namespace --port --host --log-level --disable-permission-checks --cors-origin --cors-methods --cors-headers --cors-allow-credentials --auth-required-read-scope --auth-required-write-scope --auth-scope-jsonpath --auth-required-read-role --auth-required-write-role --auth-roles-jsonpathRelated MCP servers
Cloud replacement for mcp-server-filesystem — 20 tools for S3, Azure Blob, and GCS
View repository →