protogrid

Search / io.github.nogoo9/no-crd

no-crd

L0· runs locally

Dynamic pod spawner & proxy for ephemeral AI agent workspaces on Kubernetes without CRDs

v0.18.0 · active · repository · descriptor JSON · versions

Runs on your machine: something must execute the package.Only local packages are published (npm, PyPI, OCI, …). The registry never executes them, so tools are unknown until you run it.
Quality–not scored
Trust87of 100
Packages1
Tools seen0

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "no-crd": {
      "command": "bunx",
      "args": [
        "--transport",
        "stdio",
        "--mode",
        "cluster",
        "--namespace",
        "nogoo9",
        "--port",
        "3000",
        "--host",
        "0.0.0.0",
        "--log-level",
        "info",
        "--disable-permission-checks",
        "--cors-origin",
        "*",
        "--cors-methods",
        "GET, POST, OPTIONS",
        "--cors-headers",
        "Content-Type, Authorization",
        "--cors-allow-credentials",
        "--auth-required-read-scope",
        "--auth-required-write-scope",
        "--auth-scope-jsonpath",
        "$.scope",
        "--auth-required-read-role",
        "--auth-required-write-role",
        "--auth-roles-jsonpath",
        "$.realm_access.roles",
        "@nogoo9/no-crd"
      ],
      "env": {
        "TLS_KEY": "${TLS_KEY}",
        "JWT_SECRET": "${JWT_SECRET}",
        "JWT_PUBLIC_KEY": "${JWT_PUBLIC_KEY}",
        "OAUTH_CLIENT_SECRET": "${OAUTH_CLIENT_SECRET}",
        "PROXY_SESSION_SECRET": "${PROXY_SESSION_SECRET}"
      }
    }
  }
}
claude mcp add no-crd -e "TLS_KEY=${TLS_KEY}" -e "JWT_SECRET=${JWT_SECRET}" -e "JWT_PUBLIC_KEY=${JWT_PUBLIC_KEY}" -e "OAUTH_CLIENT_SECRET=${OAUTH_CLIENT_SECRET}" -e "PROXY_SESSION_SECRET=${PROXY_SESSION_SECRET}" -- bunx --transport stdio --mode cluster --namespace nogoo9 --port 3000 --host 0.0.0.0 --log-level info --disable-permission-checks --cors-origin * --cors-methods "GET, POST, OPTIONS" --cors-headers "Content-Type, Authorization" --cors-allow-credentials --auth-required-read-scope --auth-required-write-scope --auth-scope-jsonpath "$.scope" --auth-required-read-role --auth-required-write-role --auth-roles-jsonpath "$.realm_access.roles" @nogoo9/no-crd
[mcp_servers.no-crd]
command = "bunx"
args = ["--transport", "stdio", "--mode", "cluster", "--namespace", "nogoo9", "--port", "3000", "--host", "0.0.0.0", "--log-level", "info", "--disable-permission-checks", "--cors-origin", "*", "--cors-methods", "GET, POST, OPTIONS", "--cors-headers", "Content-Type, Authorization", "--cors-allow-credentials", "--auth-required-read-scope", "--auth-required-write-scope", "--auth-scope-jsonpath", "$.scope", "--auth-required-read-role", "--auth-required-write-role", "--auth-roles-jsonpath", "$.realm_access.roles", "@nogoo9/no-crd"]
env = { "TLS_KEY" = "${TLS_KEY}", "JWT_SECRET" = "${JWT_SECRET}", "JWT_PUBLIC_KEY" = "${JWT_PUBLIC_KEY}", "OAUTH_CLIENT_SECRET" = "${OAUTH_CLIENT_SECRET}", "PROXY_SESSION_SECRET" = "${PROXY_SESSION_SECRET}" }
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "no-crd": {
      "type": "local",
      "command": [
        "bunx",
        "--transport",
        "stdio",
        "--mode",
        "cluster",
        "--namespace",
        "nogoo9",
        "--port",
        "3000",
        "--host",
        "0.0.0.0",
        "--log-level",
        "info",
        "--disable-permission-checks",
        "--cors-origin",
        "*",
        "--cors-methods",
        "GET, POST, OPTIONS",
        "--cors-headers",
        "Content-Type, Authorization",
        "--cors-allow-credentials",
        "--auth-required-read-scope",
        "--auth-required-write-scope",
        "--auth-scope-jsonpath",
        "$.scope",
        "--auth-required-read-role",
        "--auth-required-write-role",
        "--auth-roles-jsonpath",
        "$.realm_access.roles",
        "@nogoo9/no-crd"
      ],
      "enabled": true,
      "environment": {
        "TLS_KEY": "{env:TLS_KEY}",
        "JWT_SECRET": "{env:JWT_SECRET}",
        "JWT_PUBLIC_KEY": "{env:JWT_PUBLIC_KEY}",
        "OAUTH_CLIENT_SECRET": "{env:OAUTH_CLIENT_SECRET}",
        "PROXY_SESSION_SECRET": "{env:PROXY_SESSION_SECRET}"
      }
    }
  }
}
{
  "mcpServers": {
    "no-crd": {
      "command": "bunx",
      "args": [
        "--transport",
        "stdio",
        "--mode",
        "cluster",
        "--namespace",
        "nogoo9",
        "--port",
        "3000",
        "--host",
        "0.0.0.0",
        "--log-level",
        "info",
        "--disable-permission-checks",
        "--cors-origin",
        "*",
        "--cors-methods",
        "GET, POST, OPTIONS",
        "--cors-headers",
        "Content-Type, Authorization",
        "--cors-allow-credentials",
        "--auth-required-read-scope",
        "--auth-required-write-scope",
        "--auth-scope-jsonpath",
        "$.scope",
        "--auth-required-read-role",
        "--auth-required-write-role",
        "--auth-roles-jsonpath",
        "$.realm_access.roles",
        "@nogoo9/no-crd"
      ],
      "env": {
        "TLS_KEY": "${TLS_KEY}",
        "JWT_SECRET": "${JWT_SECRET}",
        "JWT_PUBLIC_KEY": "${JWT_PUBLIC_KEY}",
        "OAUTH_CLIENT_SECRET": "${OAUTH_CLIENT_SECRET}",
        "PROXY_SESSION_SECRET": "${PROXY_SESSION_SECRET}"
      }
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=no-crd&config=eyJjb21tYW5kIjoiYnVueCIsImFyZ3MiOlsiLS10cmFuc3BvcnQiLCJzdGRpbyIsIi0tbW9kZSIsImNsdXN0ZXIiLCItLW5hbWVzcGFjZSIsIm5vZ29vOSIsIi0tcG9ydCIsIjMwMDAiLCItLWhvc3QiLCIwLjAuMC4wIiwiLS1sb2ctbGV2ZWwiLCJpbmZvIiwiLS1kaXNhYmxlLXBlcm1pc3Npb24tY2hlY2tzIiwiLS1jb3JzLW9yaWdpbiIsIioiLCItLWNvcnMtbWV0aG9kcyIsIkdFVCwgUE9TVCwgT1BUSU9OUyIsIi0tY29ycy1oZWFkZXJzIiwiQ29udGVudC1UeXBlLCBBdXRob3JpemF0aW9uIiwiLS1jb3JzLWFsbG93LWNyZWRlbnRpYWxzIiwiLS1hdXRoLXJlcXVpcmVkLXJlYWQtc2NvcGUiLCItLWF1dGgtcmVxdWlyZWQtd3JpdGUtc2NvcGUiLCItLWF1dGgtc2NvcGUtanNvbnBhdGgiLCIkLnNjb3BlIiwiLS1hdXRoLXJlcXVpcmVkLXJlYWQtcm9sZSIsIi0tYXV0aC1yZXF1aXJlZC13cml0ZS1yb2xlIiwiLS1hdXRoLXJvbGVzLWpzb25wYXRoIiwiJC5yZWFsbV9hY2Nlc3Mucm9sZXMiLCJAbm9nb285L25vLWNyZCJdLCJlbnYiOnsiVExTX0tFWSI6IiR7VExTX0tFWX0iLCJKV1RfU0VDUkVUIjoiJHtKV1RfU0VDUkVUfSIsIkpXVF9QVUJMSUNfS0VZIjoiJHtKV1RfUFVCTElDX0tFWX0iLCJPQVVUSF9DTElFTlRfU0VDUkVUIjoiJHtPQVVUSF9DTElFTlRfU0VDUkVUfSIsIlBST1hZX1NFU1NJT05fU0VDUkVUIjoiJHtQUk9YWV9TRVNTSU9OX1NFQ1JFVH0ifX0%3D"
}
{
  "servers": {
    "no-crd": {
      "type": "stdio",
      "command": "bunx",
      "args": [
        "--transport",
        "stdio",
        "--mode",
        "cluster",
        "--namespace",
        "nogoo9",
        "--port",
        "3000",
        "--host",
        "0.0.0.0",
        "--log-level",
        "info",
        "--disable-permission-checks",
        "--cors-origin",
        "*",
        "--cors-methods",
        "GET, POST, OPTIONS",
        "--cors-headers",
        "Content-Type, Authorization",
        "--cors-allow-credentials",
        "--auth-required-read-scope",
        "--auth-required-write-scope",
        "--auth-scope-jsonpath",
        "$.scope",
        "--auth-required-read-role",
        "--auth-required-write-role",
        "--auth-roles-jsonpath",
        "$.realm_access.roles",
        "@nogoo9/no-crd"
      ],
      "env": {
        "TLS_KEY": "${TLS_KEY}",
        "JWT_SECRET": "${JWT_SECRET}",
        "JWT_PUBLIC_KEY": "${JWT_PUBLIC_KEY}",
        "OAUTH_CLIENT_SECRET": "${OAUTH_CLIENT_SECRET}",
        "PROXY_SESSION_SECRET": "${PROXY_SESSION_SECRET}"
      }
    }
  }
}
{
  "mcpServers": {
    "no-crd": {
      "command": "bunx",
      "args": [
        "--transport",
        "stdio",
        "--mode",
        "cluster",
        "--namespace",
        "nogoo9",
        "--port",
        "3000",
        "--host",
        "0.0.0.0",
        "--log-level",
        "info",
        "--disable-permission-checks",
        "--cors-origin",
        "*",
        "--cors-methods",
        "GET, POST, OPTIONS",
        "--cors-headers",
        "Content-Type, Authorization",
        "--cors-allow-credentials",
        "--auth-required-read-scope",
        "--auth-required-write-scope",
        "--auth-scope-jsonpath",
        "$.scope",
        "--auth-required-read-role",
        "--auth-required-write-role",
        "--auth-roles-jsonpath",
        "$.realm_access.roles",
        "@nogoo9/no-crd"
      ],
      "env": {
        "TLS_KEY": "${TLS_KEY}",
        "JWT_SECRET": "${JWT_SECRET}",
        "JWT_PUBLIC_KEY": "${JWT_PUBLIC_KEY}",
        "OAUTH_CLIENT_SECRET": "${OAUTH_CLIENT_SECRET}",
        "PROXY_SESSION_SECRET": "${PROXY_SESSION_SECRET}"
      }
    }
  }
}
extensions:
  "no-crd":
    enabled: true
    name: "no-crd"
    type: stdio
    cmd: "bunx"
    args:
      - "--transport"
      - "stdio"
      - "--mode"
      - "cluster"
      - "--namespace"
      - "nogoo9"
      - "--port"
      - "3000"
      - "--host"
      - "0.0.0.0"
      - "--log-level"
      - "info"
      - "--disable-permission-checks"
      - "--cors-origin"
      - "*"
      - "--cors-methods"
      - "GET, POST, OPTIONS"
      - "--cors-headers"
      - "Content-Type, Authorization"
      - "--cors-allow-credentials"
      - "--auth-required-read-scope"
      - "--auth-required-write-scope"
      - "--auth-scope-jsonpath"
      - "$.scope"
      - "--auth-required-read-role"
      - "--auth-required-write-role"
      - "--auth-roles-jsonpath"
      - "$.realm_access.roles"
      - "@nogoo9/no-crd"
    envs:
      "TLS_KEY": "${TLS_KEY}"
      "JWT_SECRET": "${JWT_SECRET}"
      "JWT_PUBLIC_KEY": "${JWT_PUBLIC_KEY}"
      "OAUTH_CLIENT_SECRET": "${OAUTH_CLIENT_SECRET}"
      "PROXY_SESSION_SECRET": "${PROXY_SESSION_SECRET}"
    timeout: 300

Placeholders to fill from your own secret store: ${TLS_KEY}, ${JWT_SECRET}, ${JWT_PUBLIC_KEY}, ${OAUTH_CLIENT_SECRET}, ${PROXY_SESSION_SECRET}. The registry never accepts secret values.

This is a local package: the command runs on your machine.

Quality – / 100not scored

Not scored: fewer than three checks apply, usually because no remote answered a credential-free probe or the server is a local package.

protocoln/a · weight 25
  • n/a
    protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlno remote answered a protocol handshake (not probed yet, unreachable, or local-only)
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygienen/a · weight 30
  • n/a
    tools.descriptions, tools.description_length, tools.schemas, tools.annotations, tools.directory_hints, tools.token_cost, tools.api_dumptool list unknown (behind auth, not probed, or empty)
stabilityn/a · weight 15
  • n/a
    stability.changes, stability.rug_pulltool list unknown
dependencies67 · weight 15
  • pass
    deps.known_vulnsno known advisory in 222 resolved packages
  • fail
    deps.mcp_sdk_version@modelcontextprotocol/sdk 1.30.1 has 1 known advisory (GHSA-6qxp-vccf-f47h); update @modelcontextprotocol/sdk to 1.31.0 or later
  • pass
    deps.resolvable@nogoo9/[email protected] resolved: 222 packages

Tool list unknown · checked 2026-10-19 10:52 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 87 / 100

provenance80
livenessn/a
freshness85
hygiene100

+repository +namespace-matches-repo ~liveness-unmeasured ~updated-68d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Dependencies

@nogoo9/[email protected] npm221 dependencies, resolved · MCP SDK @modelcontextprotocol/sdk 1.30.1 · advisories checked 2026-10-19

advisoryseveritypackagefixed in
GHSA-6qxp-vccf-f47hMCP TypeScript SDK: OAuth client could send credentials to an authorization server chosen by the MCP serverhigh@modelcontextprotocol/[email protected]MCP SDK, directfixed in 1.31.0

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.

Endpoints

packageregistryversionruntimesecrets
@nogoo9/no-crdnpm0.18.0bunxTLS_KEY, JWT_SECRET, JWT_PUBLIC_KEY, OAUTH_CLIENT_SECRET, PROXY_SESSION_SECRET

Tools (0)

No tools observed. Local packages are never executed by the registry.

Schemas: list_tools.

Similar MCP servers

More from io.github.nogoo9

Official server.json
{
  "name": "io.github.nogoo9/no-crd",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-09-16/server.schema.json",
  "version": "0.18.0",
  "packages": [
    {
      "version": "0.18.0",
      "transport": {
        "type": "stdio"
      },
      "identifier": "@nogoo9/no-crd",
      "runtimeHint": "bunx",
      "registryType": "npm",
      "registryBaseUrl": "https://registry.npmjs.org",
      "runtimeArguments": [
        {
          "name": "--transport",
          "type": "named",
          "default": "stdio",
          "valueHint": "stdio|http|both",
          "description": "Transport channel for MCP client-server communication: stdio, http, both"
        },
        {
          "name": "--mode",
          "type": "named",
          "default": "cluster",
          "valueHint": "cluster|namespaced",
          "description": "Kubernetes cluster access scope: cluster-wide or namespace-restricted"
        },
        {
          "name": "--namespace",
          "type": "named",
          "default": "nogoo9",
          "valueHint": "nogoo9",
          "description": "Target namespace for workspace pods, services, and local templates"
        },
        {
          "name": "--port",
          "type": "named",
          "default": "3000",
          "valueHint": "3000",
          "description": "HTTP port for SSE transport, routing proxy, and dashboard UI"
        },
        {
          "name": "--host",
          "type": "named",
          "default": "0.0.0.0",
          "valueHint": "0.0.0.0",
          "description": "Network interface host address to bind the HTTP server to"
        },
        {
          "name": "--log-level",
          "type": "named",
          "default": "info",
          "valueHint": "debug|info|warning|error|fatal",
          "description": "Granularity of output logs: debug, info, warning, error, fatal"
        },
        {
          "name": "--disable-permission-checks",
          "type": "named",
          "description": "Bypass startup diagnostics checking Kubernetes RBAC access permissions"
        },
        {
          "name": "--cors-origin",
          "type": "named",
          "default": "*",
          "valueHint": "*",
          "description": "Allowed origins for HTTP CORS cross-site requests (default: *)"
        },
        {
          "name": "--cors-methods",
          "type": "named",
          "default": "GET, POST, OPTIONS",
          "valueHint": "GET, POST, OPTIONS",
          "description": "Allowed HTTP request methods for CORS configuration"
        },
        {
          "name": "--cors-headers",
          "type": "named",
          "default": "Content-Type, Authorization",
          "valueHint": "Content-Type, Authorization",
          "description": "Allowed HTTP header names for incoming CORS requests"
        },
        {
          "name": "--cors-allow-credentials",
          "type": "named",
          "description": "Allow credentials (cookies, headers) in cross-origin requests"
        },
        {
          "name": "--auth-required-read-scope",
          "type": "named",
          "valueHint": "mcp:read",
          "description": "Mandatory OAuth scope claim value to query or get workspaces"
        },
        {
          "name": "--auth-required-write-scope",
          "type": "named",
          "valueHint": "mcp:write",
          "description": "Mandatory OAuth scope claim value to spawn or stop workspaces"
        },
        {
          "name": "--auth-scope-jsonpath",
          "type": "named",
          "default": "$.scope",
          "valueHint": "$.scope",
          "description": "JSONPath pattern to extract scope permissions from the token payload"
        },
        {
          "name": "--auth-required-read-role",
          "type": "named",
          "valueHint": "reader",
          "description": "OAuth role required to view workspaces (e.g. reader)"
        },
        {
          "name": "--auth-required-write-role",
          "type": "named",
          "valueHint": "writer",
          "description": "OAuth role required to spawn or delete workspaces (e.g. writer)"
        },
        {
          "name": "--auth-roles-jsonpath",
          "type": "named",
          "default": "$.realm_access.roles",
          "valueHint": "$.realm_access.roles",
          "description": "JSONPath query to retrieve user roles list from token payload"
        }
      ],
      "environmentVariables": [
        {
          "name": "KUBECONFIG",
          "description": "Path to the Kubernetes API credentials configuration file"
        },
        {
          "name": "BASE_URL",
          "description": "Hosting URL subpath prefix for gateways and reverse proxies"
        },
        {
          "name": "STATELESS",
          "description": "Disable in-memory session tracking for stateless execution"
        },
        {
          "name": "TLS_CERT",
          "description": "Local file path containing TLS public certificate (HTTPS)"
        },
        {
          "name": "TLS_KEY",
          "isSecret": true,
          "description": "Local file path containing TLS private key (HTTPS)"
        },
        {
          "name": "TLS_CA",
          "description": "Local file path containing trusted client Certificate Authority"
        },
        {
          "name": "NODE_TLS_REJECT_UNAUTHORIZED",
          "description": "Set to '0' to allow connection to unverified TLS endpoints"
        },
        {
          "name": "REGISTRY_URL",
          "description": "Default container registry for workspace image resolution"
        },
        {
          "name": "TEMPLATES_DIR",
          "description": "Local filesystem directory containing custom YAML/JSON templates"
        },
        {
          "name": "BUILTIN_TEMPLATES",
          "description": "Enable loading of standard pre-configured templates (default: true)"
        },
        {
          "name": "AUTH_ENABLED",
          "description": "Enforce JWT verification and user tenant isolation (default: false)"
        },
        {
          "name": "JWT_VERIFICATION_REQUIRED",
          "description": "Set to 'false' to skip OIDC cryptographic signature checks"
        },
        {
          "name": "JWT_SECRET",
          "isSecret": true,
          "description": "HMAC-SHA symmetric secret key to sign/verify JWT tokens"
        },
        {
          "name": "JWT_PUBLIC_KEY",
          "isSecret": true,
          "description": "PEM public key to verify asymmetric OIDC signatures"
        },
        {
          "name": "JWKS_URI",
          "description": "Discovery URI to fetch keys from OIDC provider dynamically"
        },
        {
          "name": "INTROSPECTION_ENDPOINT",
          "description": "RFC 7662 compliant token introspection validation endpoint"
        },
        {
          "name": "OAUTH_CLIENT_ID",
          "description": "Client identifier for OAuth2 authentication flows"
        },
        {
          "name": "OAUTH_CLIENT_SECRET",
          "isSecret": true,
          "description": "Client secret credentials used for token introspection"
        },
        {
          "name": "JWT_AUDIENCE",
          "description": "Target audience check value for incoming OIDC tokens"
        },
        {
          "name": "AUTH_ISSUER",
          "description": "Expected token issuer authority check value (e.g. Keycloak)"
        },
        {
          "name": "AUTH_SUB_JSONPATH",
          "description": "JSONPath pattern to extract user identity subject from token"
        },
        {
          "name": "AUTH_ADMIN_ROLE",
          "description": "Bypass role name that grants admin access (default: nogoo9-admin)"
        },
        {
          "name": "AUTH_ADMIN_USERS",
          "description": "Comma-separated list of user subject IDs (sub) granted admin privileges without OIDC scope/role claims"
        },
        {
          "name": "PROXY_SESSION_TTL",
          "description": "Active lifetime in seconds for signed proxy session cookies"
        },
        {
          "name": "PROXY_SESSION_SECRET",
          "isSecret": true,
          "description": "Secret key for session cookie signing"
        },
        {
          "name": "UI_ENABLED",
          "description": "Serve the built-in HTML dashboard (default: true)"
        },
        {
          "name": "THEMES_DIR",
          "description": "Filesystem directory to scan for custom CSS themes"
        },
        {
          "name": "THEMES_CONFIGMAP",
          "description": "ConfigMap name storing dynamic CSS theme overrides"
        },
        {
          "name": "DOCS_DIR",
          "description": "Directory containing static documentation web files to serve"
        },
        {
          "name": "OAUTH_DISCOVERY_URL",
          "description": "Standard OIDC .well-known configuration discovery endpoint"
        },
        {
          "name": "OAUTH_LOGIN_METHOD",
          "description": "UI SSO flow login method: 'redirect' or silent 'iframe'"
        },
        {
          "name": "UI_TITLE",
          "description": "Custom dashboard header title for white-label branding"
        },
        {
          "name": "UI_SUBTITLE",
          "description": "Custom dashboard subtitle text below the header title"
        }
      ]
    }
  ],
  "repository": {
    "url": "https://github.com/nogoo9/no-crd",
    "source": "github"
  },
  "description": "Dynamic pod spawner & proxy for ephemeral AI agent workspaces on Kubernetes without CRDs"
}