Velero MCP Server
Velero MCP Server
The Velero MCP Server is an open-source Model Context Protocol (MCP) server that exposes read-only, safe, structured access to Velero backup and schedule resources running inside any Kubernetes cluster.
It allows AI agents (ChatGPT, Claude, Cursor, GitHub Copilot, etc.) to:
π Inspect Velero backups
π Inspect Velero schedules
π Generate Velero Backup YAML manifests
π§© Access Velero data as MCP resources
π Safely interact with your cluster in read-only mode
This project helps platform engineers automate workflows using AI while ensuring zero-risk, low-privilege, and read-only access to critical cluster configuration.
β Why This Project Exists
Velero is commonly used for:
Kubernetes namespace & cluster backups
Disaster recovery
Cluster migrations
Persistent volume snapshot management
But until now, no MCP server existed to expose Velero CRDs to LLM-based tools in a safe, structured way.
This project provides:
A consistent API for querying Velero
Strong typed models
Complete read-only safety
Guaranteed LLM-friendly output
Ready integration with GitOps
π Features
π§ MCP Tools
list_velero_backups(namespace?: str)
Returns a list of Velero Backup CRs.
get_velero_backup(name: str, namespace?: str)
Returns a detailed structured backup object.
list_velero_schedules(namespace?: str)
Lists Velero Schedule CRs including cron, paused state, and last backup.
generate_velero_backup_yaml(...)
Generates read-only YAML for a Velero Backup.
π¦ MCP Resource Endpoints
Resource | Description |
| All backups in default namespace |
| All schedules in default namespace |
These allow LLMs to explore Velero state without calling tools.
π Architecture
Python 3.10+
MCP (official Model Context Protocol SDK)
Kubernetes Python Client
Pydantic models
Safe, read-only design
No
kubectl, no exec, no side effects
Flow:
MCP Client β Velero MCP Server β Kubernetes API β Velero CRDsπ Security Model
Designed to be 100% safe
The server never:
Creates backups
Runs restores
Deletes backup objects
Writes anything to Kubernetes
Only reads CRDs via the Kubernetes API.
RBAC Required:
get, list on:
- backups.velero.io
- schedules.velero.ioπ₯ Installation
git clone https://github.com/YOUR-ORG/velero-mcp-server.git
cd velero-mcp-server
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
pip install .For development:
pip install ".[dev]"βοΈ Configuration
Environment Variables
Variable | Description | Default |
| Path to kubeconfig | auto |
| Velero namespace | velero |
K8s auth order:
In-cluster ServiceAccount
$KUBECONFIG~/.kube/config
βΆοΈ Running the Server
Start the server in stdio mode (required by MCP):
python -m velero_mcp_server.serverπ§© Example MCP Client Configuration
ChatGPT MCP configuration
{
"mcpServers": {
"velero-mcp": {
"command": "python",
"args": ["-m", "velero_mcp_server.server"],
"env": {
"KUBECONFIG": "/path/to/kubeconfig",
"VELERO_NAMESPACE": "velero"
}
}
}
}Claude Desktop
"mcpServers": {
"velero-mcp": {
"command": "python",
"args": ["-m", "velero_mcp_server.server"],
"env": {
"KUBECONFIG": "/path/to/kubeconfig",
"VELERO_NAMESPACE": "velero"
}
}
}π§ͺ Example Usage (AI Agent)
List failed backups
βCall
list_velero_backupsand filter phase = Failed.β
Inspect a backup
βUse
get_velero_backupforprod-fulland tell me included namespaces.β
Generate a manifest
βGenerate a Velero backup YAML including namespaces
db,logging, TTL=168h.β
Produces:
apiVersion: velero.io/v1
kind: Backup
metadata:
name: prod-backup
namespace: velero
spec:
includedNamespaces:
- db
- logging
ttl: 168hπ Development
Run linters:
ruff check velero_mcp_serverType-check:
mypy velero_mcp_serverRun tests:
pytestπ€ Contributing
We welcome contributions of all kinds:
Add Velero Restore / VolumeSnapshot support
Improve error handling
Add more MCP resources
Add a Helm chart
Add logging or metrics
Improve documentation
Read the full CONTRIBUTING.md.
π License
This project is licensed under the MIT License, allowing:
Commercial use
Private use
Modification
Distribution
πΊ Roadmap
Planned improvements:
Add support for Restore CRDs
Snapshot objects
Restore impact analysis
Write-enabled mode (behind strict flags)
Publish to PyPI
Helm chart for cluster deployment
If you'd like to help shape the direction, please open an issue!
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/benzaidfoued/velero-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server