blissful-infra mcp
The MCP server exposes blissful-infra’s tenant model and Kubernetes golden path as tools for Claude. Use it to let Claude scaffold services, run deploys, manage canaries and query cluster state.
blissful-infra mcpThe server listens on stdin/stdout as JSON-RPC 2.0 and emits everything to stderr (so logs don’t pollute the stream). Point Claude to it via your client’s MCP configuration.
Installation
Section titled “Installation”From npm (2.0 and later)
Section titled “From npm (2.0 and later)”Once blissful-infra 2.0 ships to npm, install globally:
npm install -g @blissful-infra/cliblissful-infra mcpOr as a local dev dependency in your project:
npm install --save-dev @blissful-infra/clinpx blissful-infra mcpFrom GitHub (development / unreleased)
Section titled “From GitHub (development / unreleased)”For the bleeding-edge version, clone the repo and run from source:
git clone https://github.com/cavanpage/blissful-infra.gitcd blissful-infra
# Install dependenciesnpm install
# Build the CLInpm run build
# Run the MCP servernode packages/cli/dist/index.js mcpYou can also use npm link to simulate a global install without publishing to npm:
cd blissful-infra/packages/clinpm link
# Now 'blissful-infra' is available globally as if installed from npmblissful-infra mcpConfiguring Claude to use the MCP server
Section titled “Configuring Claude to use the MCP server”The exact configuration depends on your Claude client. Here are the common patterns:
Claude Code (desktop or VS Code)
Section titled “Claude Code (desktop or VS Code)”Add to your Claude Code settings file (location depends on your client):
{ "mcpServers": { "blissful-infra": { "command": "node", "args": ["/path/to/packages/cli/dist/index.js", "mcp"] } }}Or if you used npm link:
{ "mcpServers": { "blissful-infra": { "command": "blissful-infra", "args": ["mcp"] } }}Claude.ai (web)
Section titled “Claude.ai (web)”If using Claude.ai with local MCP forwarding (e.g., via a tunnel or local proxy):
{ "mcpServers": { "blissful-infra": { "command": "sh", "args": ["-c", "cd /path/to/blissful-infra && npm run build && node packages/cli/dist/index.js mcp"] } }}What tools does Claude get
Section titled “What tools does Claude get”The MCP server exposes 21 tools covering:
| Category | Tools |
|---|---|
| Discovery | list_tenants, get_tenant, list_projects, get_project, list_services, get_service |
| Lifecycle | create_tenant, delete_tenant, create_project, delete_project, add_service, remove_service |
| Kubernetes golden path | cluster_up, cluster_down, cluster_status, deploy_service, canary_status, canary_promote, canary_abort |
| Observability | get_logs, get_metrics, list_ports |
Each tool takes tenant/project/service coordinates and returns structured data. Long operations (cluster up, deploy) return a job ID polled via get_job.
Example: deploy a service via Claude
Section titled “Example: deploy a service via Claude”With the MCP server running, you can ask Claude:
“Deploy the orders service to our prod cluster with a canary rollout.”
Claude will:
- Call
list_servicesto find the orders service - Call
deploy_servicewith the service coordinates - Poll
get_jobuntil the deploy completes - Call
canary_statusto show you the rollout state - Wait for your signal to promote