From 13e256aa0c6c9df2c3d9528cb9c3bc8432fc177d Mon Sep 17 00:00:00 2001 From: Michal Date: Sun, 8 Mar 2026 14:58:12 +0000 Subject: [PATCH] docs: fix README quick start to use templates and git backup - Section 4 now uses --from-template instead of manual --docker-image - Declarative YAML example uses fromTemplate + envFrom secretRef - Backup section updated to git-based commands (was old JSON bundle) - Consistent server naming (my-grafana from template, not bare grafana) Co-Authored-By: Claude Opus 4.6 --- README.md | 64 +++++++++++++++++++++++++++---------------------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index 10c2884..4f1b536 100644 --- a/README.md +++ b/README.md @@ -56,28 +56,30 @@ mcpctl status Secrets store credentials that servers need — API tokens, passwords, etc. ```bash -mcpctl create secret grafana-token \ - --data TOKEN=glsa_xxxxxxxxxxxx +mcpctl create secret grafana-creds \ + --data GRAFANA_URL=http://grafana.local:3000 \ + --data GRAFANA_SERVICE_ACCOUNT_TOKEN=glsa_xxxxxxxxxxxx ``` ### 4. Create your first server -A server is an MCP server definition — what Docker image to run, what transport it speaks, what environment it needs. +Browse available templates, then create a server from one: ```bash -mcpctl create server grafana \ - --docker-image grafana/mcp-grafana:latest \ - --transport STDIO \ - --env GRAFANA_URL=http://grafana.local:3000 \ - --env GRAFANA_AUTH_TOKEN=secretRef:grafana-token:TOKEN +mcpctl get templates # List available server blueprints +mcpctl describe template grafana # See required env vars, health checks, etc. + +mcpctl create server my-grafana \ + --from-template grafana \ + --env-from-secret grafana-creds ``` mcpd pulls the image, starts a container, and keeps it running. Check on it: ```bash -mcpctl get instances # See running containers -mcpctl logs grafana # View server logs -mcpctl describe server grafana # Full details +mcpctl get instances # See running containers +mcpctl logs my-grafana # View server logs +mcpctl describe server my-grafana # Full details ``` ### 5. Create a project @@ -87,7 +89,7 @@ A project groups servers together and configures how Claude interacts with them. ```bash mcpctl create project monitoring \ --description "Grafana dashboards and alerting" \ - --server grafana \ + --server my-grafana \ --proxy-model content-pipeline ``` @@ -112,30 +114,25 @@ Everything can be defined in YAML and applied with `mcpctl apply`: ```yaml # infrastructure.yaml secrets: - - name: grafana-token + - name: grafana-creds data: - TOKEN: "glsa_xxxxxxxxxxxx" + GRAFANA_URL: "http://grafana.local:3000" + GRAFANA_SERVICE_ACCOUNT_TOKEN: "glsa_xxxxxxxxxxxx" servers: - - name: grafana + - name: my-grafana description: "Grafana dashboards and alerting" - dockerImage: grafana/mcp-grafana:latest - transport: STDIO - env: - - name: GRAFANA_URL - value: "http://grafana.local:3000" - - name: GRAFANA_AUTH_TOKEN - valueFrom: - secretRef: - name: grafana-token - key: TOKEN + fromTemplate: grafana + envFrom: + - secretRef: + name: grafana-creds projects: - name: monitoring description: "Infrastructure monitoring" proxyModel: content-pipeline servers: - - grafana + - my-grafana ``` ```bash @@ -145,9 +142,9 @@ mcpctl apply -f infrastructure.yaml Round-trip works too — export, edit, re-apply: ```bash -mcpctl get all --project monitoring -o yaml > backup.yaml -# edit backup.yaml... -mcpctl apply -f backup.yaml +mcpctl get all --project monitoring -o yaml > state.yaml +# edit state.yaml... +mcpctl apply -f state.yaml ``` ## Plugin System (ProxyModel) @@ -513,9 +510,12 @@ mcpctl console --inspect # Traffic inspector mcpctl console --audit # Audit event timeline mcpctl console --stdin-mcp # Claude monitor (MCP tools for Claude) -# Backup and restore -mcpctl backup -o backup.json -mcpctl restore -i backup.json +# Backup (git-based) +mcpctl backup # Status and SSH key +mcpctl backup log # Commit history +mcpctl backup restore list # Available restore points +mcpctl backup restore diff abc1234 # Preview a restore +mcpctl backup restore to abc1234 --force # Restore to a commit # Project management mcpctl --project monitoring get servers # Project-scoped listing