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 <noreply@anthropic.com>
This commit is contained in:
62
README.md
62
README.md
@@ -56,28 +56,30 @@ mcpctl status
|
|||||||
Secrets store credentials that servers need — API tokens, passwords, etc.
|
Secrets store credentials that servers need — API tokens, passwords, etc.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
mcpctl create secret grafana-token \
|
mcpctl create secret grafana-creds \
|
||||||
--data TOKEN=glsa_xxxxxxxxxxxx
|
--data GRAFANA_URL=http://grafana.local:3000 \
|
||||||
|
--data GRAFANA_SERVICE_ACCOUNT_TOKEN=glsa_xxxxxxxxxxxx
|
||||||
```
|
```
|
||||||
|
|
||||||
### 4. Create your first server
|
### 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
|
```bash
|
||||||
mcpctl create server grafana \
|
mcpctl get templates # List available server blueprints
|
||||||
--docker-image grafana/mcp-grafana:latest \
|
mcpctl describe template grafana # See required env vars, health checks, etc.
|
||||||
--transport STDIO \
|
|
||||||
--env GRAFANA_URL=http://grafana.local:3000 \
|
mcpctl create server my-grafana \
|
||||||
--env GRAFANA_AUTH_TOKEN=secretRef:grafana-token:TOKEN
|
--from-template grafana \
|
||||||
|
--env-from-secret grafana-creds
|
||||||
```
|
```
|
||||||
|
|
||||||
mcpd pulls the image, starts a container, and keeps it running. Check on it:
|
mcpd pulls the image, starts a container, and keeps it running. Check on it:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
mcpctl get instances # See running containers
|
mcpctl get instances # See running containers
|
||||||
mcpctl logs grafana # View server logs
|
mcpctl logs my-grafana # View server logs
|
||||||
mcpctl describe server grafana # Full details
|
mcpctl describe server my-grafana # Full details
|
||||||
```
|
```
|
||||||
|
|
||||||
### 5. Create a project
|
### 5. Create a project
|
||||||
@@ -87,7 +89,7 @@ A project groups servers together and configures how Claude interacts with them.
|
|||||||
```bash
|
```bash
|
||||||
mcpctl create project monitoring \
|
mcpctl create project monitoring \
|
||||||
--description "Grafana dashboards and alerting" \
|
--description "Grafana dashboards and alerting" \
|
||||||
--server grafana \
|
--server my-grafana \
|
||||||
--proxy-model content-pipeline
|
--proxy-model content-pipeline
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -112,30 +114,25 @@ Everything can be defined in YAML and applied with `mcpctl apply`:
|
|||||||
```yaml
|
```yaml
|
||||||
# infrastructure.yaml
|
# infrastructure.yaml
|
||||||
secrets:
|
secrets:
|
||||||
- name: grafana-token
|
- name: grafana-creds
|
||||||
data:
|
data:
|
||||||
TOKEN: "glsa_xxxxxxxxxxxx"
|
GRAFANA_URL: "http://grafana.local:3000"
|
||||||
|
GRAFANA_SERVICE_ACCOUNT_TOKEN: "glsa_xxxxxxxxxxxx"
|
||||||
|
|
||||||
servers:
|
servers:
|
||||||
- name: grafana
|
- name: my-grafana
|
||||||
description: "Grafana dashboards and alerting"
|
description: "Grafana dashboards and alerting"
|
||||||
dockerImage: grafana/mcp-grafana:latest
|
fromTemplate: grafana
|
||||||
transport: STDIO
|
envFrom:
|
||||||
env:
|
- secretRef:
|
||||||
- name: GRAFANA_URL
|
name: grafana-creds
|
||||||
value: "http://grafana.local:3000"
|
|
||||||
- name: GRAFANA_AUTH_TOKEN
|
|
||||||
valueFrom:
|
|
||||||
secretRef:
|
|
||||||
name: grafana-token
|
|
||||||
key: TOKEN
|
|
||||||
|
|
||||||
projects:
|
projects:
|
||||||
- name: monitoring
|
- name: monitoring
|
||||||
description: "Infrastructure monitoring"
|
description: "Infrastructure monitoring"
|
||||||
proxyModel: content-pipeline
|
proxyModel: content-pipeline
|
||||||
servers:
|
servers:
|
||||||
- grafana
|
- my-grafana
|
||||||
```
|
```
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -145,9 +142,9 @@ mcpctl apply -f infrastructure.yaml
|
|||||||
Round-trip works too — export, edit, re-apply:
|
Round-trip works too — export, edit, re-apply:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
mcpctl get all --project monitoring -o yaml > backup.yaml
|
mcpctl get all --project monitoring -o yaml > state.yaml
|
||||||
# edit backup.yaml...
|
# edit state.yaml...
|
||||||
mcpctl apply -f backup.yaml
|
mcpctl apply -f state.yaml
|
||||||
```
|
```
|
||||||
|
|
||||||
## Plugin System (ProxyModel)
|
## Plugin System (ProxyModel)
|
||||||
@@ -513,9 +510,12 @@ mcpctl console --inspect # Traffic inspector
|
|||||||
mcpctl console --audit # Audit event timeline
|
mcpctl console --audit # Audit event timeline
|
||||||
mcpctl console --stdin-mcp # Claude monitor (MCP tools for Claude)
|
mcpctl console --stdin-mcp # Claude monitor (MCP tools for Claude)
|
||||||
|
|
||||||
# Backup and restore
|
# Backup (git-based)
|
||||||
mcpctl backup -o backup.json
|
mcpctl backup # Status and SSH key
|
||||||
mcpctl restore -i backup.json
|
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
|
# Project management
|
||||||
mcpctl --project monitoring get servers # Project-scoped listing
|
mcpctl --project monitoring get servers # Project-scoped listing
|
||||||
|
|||||||
Reference in New Issue
Block a user