Anvil MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Anvil MCP Serverlist my voice agents"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Anvil
Command-line interface and MCP server for the Sable AI voice agent platform.
Quick Start (2 minutes)
# 1. Install
go install github.com/sable-inc/anvil/cmd/anvil@latest
# 2. Authenticate
anvil auth login --token svc_your_token_here
# 3. Set your default org
mkdir -p ~/.config/anvil
cat > ~/.config/anvil/config.yaml << 'EOF'
default_org: "your-org"
api_url: "https://api.withsable.com"
EOF
# 4. Set up shell completions (zsh)
echo 'source <(anvil completion zsh)' >> ~/.zshrc
source ~/.zshrc
# 5. Verify
anvil auth status
anvil agent listRelated MCP server: RetellAI MCP Server
Install
Option 1: Homebrew (recommended)
brew install sable-inc/tap/anvilOption 2: Go Install
go install github.com/sable-inc/anvil/cmd/anvil@latestThis puts the anvil binary in $GOPATH/bin (usually ~/go/bin). Make sure that's in your $PATH:
# Add to your shell profile if not already there
export PATH="$HOME/go/bin:$PATH"Option 3: Download Binary (no Go required)
Download the latest release from GitHub Releases:
macOS (Apple Silicon):
curl -sL https://github.com/sable-inc/anvil/releases/latest/download/anvil_darwin_arm64.tar.gz | tar xz
sudo mv anvil /usr/local/bin/macOS (Intel):
curl -sL https://github.com/sable-inc/anvil/releases/latest/download/anvil_darwin_amd64.tar.gz | tar xz
sudo mv anvil /usr/local/bin/Linux (amd64):
curl -sL https://github.com/sable-inc/anvil/releases/latest/download/anvil_linux_amd64.tar.gz | tar xz
sudo mv anvil /usr/local/bin/Or download manually from the Releases page.
Option 4: Build from Source
git clone https://github.com/sable-inc/anvil.git
cd anvil
make build
sudo mv bin/anvil /usr/local/bin/Verify Installation
anvil version
# anvil v0.1.0 (commit: abc1234, built: 2026-02-14T..., darwin/arm64)Authentication
Anvil authenticates with sable-api using a service token:
# Store your token (one-time)
anvil auth login --token svc_your_token_here
# Verify it works
anvil auth whoami # shows stored token info
anvil auth status # verifies API connectivityCredentials are stored in ~/.config/anvil/credentials.json (file permissions: 0600).
To get a service token, ask your team admin or generate one in the Sable Platform dashboard.
Configuration
Create ~/.config/anvil/config.yaml:
default_org: "my-org"
api_url: "https://api.withsable.com"
format: "table"Override any setting with flags:
anvil --org other-org --format json agent listSetting | Flag | Config Key | Description |
Organization |
|
| Default org for all commands |
API URL |
|
| Sable API base URL |
Output format |
|
|
|
No color |
| — | Disable colored output |
Verbose |
| — | Enable debug logging |
Shell Completions
Anvil has dynamic tab completions that suggest real resource names from the live API.
Setup (one-time, permanent)
Zsh (default on macOS):
echo 'source <(anvil completion zsh)' >> ~/.zshrc
source ~/.zshrcBash:
echo 'source <(anvil completion bash)' >> ~/.bashrc
source ~/.bashrcFish:
anvil completion fish > ~/.config/fish/completions/anvil.fishPowerShell:
anvil completion powershell >> $PROFILEWhat You Get
After setup, press TAB anywhere:
anvil <TAB> # all subcommands
anvil agent get <TAB> # suggests agent slugs + IDs from API
anvil journey delete <TAB> # suggests journey slugs + IDs
anvil kb sync <TAB> # suggests KB item IDs with names
anvil config pull <TAB> # suggests config version IDs
anvil connect <TAB> # suggests agent slugs
anvil --format <TAB> # suggests table, json, yamlCompletions fetch live data from the API using your stored token. If you're not authenticated, it gracefully shows no suggestions (no errors).
FAQ
Do I need to regenerate completions when anvil or my shell updates?
No. The source <(anvil completion ...) pattern re-generates on every new shell session automatically. For Fish, re-run the file write command after updating anvil if new commands were added.
Commands
Agents
anvil agent list # List agents
anvil agent get <id|slug> # Get agent details
anvil agent create --name "My Agent" # Create agent
anvil agent update <id> --name "New" # Update agent
anvil agent delete <id> # Delete agentJourneys
anvil journey list # List journeys
anvil journey get <id> # Get journey with moments/transitions
anvil journey create --name "Flow" # Create journeyKnowledge Base
anvil kb list # List knowledge base items
anvil kb get <id> # Get item details
anvil kb search "query" # Semantic search
anvil kb import-url <url> # Import a URL
anvil kb import-sitemap <url> --name "Docs" # Import from sitemap
anvil kb sync <id> # Sync item to vector store
anvil kb sync-all # Sync all items
anvil kb crawl <id> # Re-crawl a URL item
anvil kb delete <id> # Delete item
anvil kb job <jobId> # Check sitemap import job statusConfig-as-Code
anvil config list # List config versions
anvil config get <id> # Get config version details
anvil config pull <id> -o config.yaml # Download config as YAML
anvil config push config.yaml # Upload config from YAML
anvil config validate config.yaml # Validate config locally
anvil config diff config.yaml --id <id> # Diff local vs remoteAnalytics & Transcripts
anvil analytics sessions # Session analytics
anvil analytics stages # Stage funnel analytics
anvil transcript list # List transcripts
anvil transcript view <id> # View transcript messagesDeployments
anvil deploy history --org org_xxx # List deployment history
anvil deploy trigger --org org_xxx # Trigger a deployment
anvil deploy trigger --org org_xxx --watch # Trigger and poll until complete
anvil deploy rollback --org org_xxx # Rollback deployment
anvil deploy create --org org_xxx # Create initial deployment
anvil deploy delete --org org_xxx # Delete deployment
anvil deploy update-secrets --org org_xxx # Update deployment secrets
anvil deploy pin-forge --org org_xxx --forge-version v1.0 # Pin forge versionLiveKit
# Sessions
anvil livekit sessions list --org org_xxx # List active rooms
anvil livekit sessions get <room> --org org_xxx
anvil livekit sessions close <room> --org org_xxx
# Agent management
anvil livekit agent list --org org_xxx # List agents
anvil livekit agent status --org org_xxx # Agent status
anvil livekit agent versions --org org_xxx # Agent versions
anvil livekit agent logs --org org_xxx # Agent logs
anvil livekit agent restart --org org_xxx # Restart agent
anvil livekit agent delete --org org_xxx # Delete agent
# Agent secrets
anvil livekit agent secrets list --org org_xxx
anvil livekit agent secrets set --org org_xxx --secret KEY=VALUE
anvil livekit agent secrets delete <name> --org org_xxxForge (Version Management)
anvil forge versions # List forge versions
anvil forge branches # List forge branches
anvil forge commits main # List commits on branch
anvil forge validate main # Validate a git refVideo Processing
anvil video generate-moment --video-url <url> # Start moment generation
anvil video generate-moment --video-url <url> --watch # Generate and poll
anvil video generate-journey --video-url <url> # Start journey generation
anvil video job-status <jobId> # Check job statusUtilities
anvil health # API health check
anvil health --db # Include database health
anvil connect <agent-slug> # Get LiveKit connection details
anvil api GET /agents # Raw API request
anvil api POST /agents -d '{"name":"test"}'
anvil version # Print version infoConfig-as-Code Workflow
Pull a config, edit locally, validate, and push:
# Pull the current config
anvil config pull <config-id> -o agent.yaml
# Edit the YAML file
$EDITOR agent.yaml
# Validate locally (no API call needed)
anvil config validate agent.yaml
# See what changed
anvil config diff agent.yaml --id <config-id>
# Push the updated config
anvil config push agent.yamlMCP Server (for AI Assistants)
Anvil includes an MCP server (28 Sable tools + 5 HyperDX observability tools) for AI coding assistants like Claude Code, Cursor, Windsurf, etc.
One-Time Setup
anvil auth login --token svc_your_token # Sable API credentials
anvil settings set-hyperdx hdx_your_key # HyperDX API key (optional)Add to Cursor
Paste this in your browser to install with one click:
cursor://anysphere.cursor-deeplink/mcp/install?name=sable&config=eyJjb21tYW5kIjoiYW52aWwiLCJhcmdzIjpbIm1jcCIsInNlcnZlIl19Or add manually to .cursor/mcp.json:
{
"mcpServers": {
"sable": {
"command": "anvil",
"args": ["mcp", "serve"]
}
}
}Add to Claude Code
claude mcp add sable -s user -- anvil mcp serveNo secrets in the config -- anvil reads credentials from ~/.config/anvil/.
Other Editors (Windsurf, etc.)
Add the same JSON config to your editor's MCP settings file.
Sable Tools (28)
Domain | Tools |
Agents |
|
Journeys |
|
Knowledge Base |
|
Config |
|
Deployments |
|
Transcripts |
|
Analytics |
|
Utilities |
|
HyperDX Observability Tools (5, optional)
Enabled when anvil settings set-hyperdx <key> has been run or HYPERDX_API_KEY env var is set.
Tool | Purpose |
| Query logs/spans with aggregations, time ranges, filters, group-by |
| Query metrics (Sum, Gauge, Histogram) |
| List HyperDX dashboards |
| Get dashboard with chart definitions |
| List configured alerts |
Releasing New Versions
Anvil uses goreleaser with GitHub Actions for automated releases.
Creating a Release
git tag v0.1.0
git push origin v0.1.0GitHub Actions will automatically:
Build binaries for Linux, macOS, and Windows (amd64 + arm64)
Create a GitHub Release with downloadable archives
Generate checksums and a changelog
Publish to the Homebrew tap (
sable-inc/homebrew-tap)Publish to the MCP Registry (discoverable in Claude Code / Cursor)
Team members can then upgrade via:
# Homebrew
brew upgrade anvil
# Go install
go install github.com/sable-inc/anvil/cmd/anvil@latestSnapshot Build (local testing)
goreleaser --snapshot --clean
ls dist/Development
make build # Build binary
make test # Run tests with race detector
make lint # Run golangci-lint v2
make check # Build + test + lint
make install # Install to $GOPATH/bin
make generate # Generate API client from OpenAPI spec
make clean # Remove build artifactsRequires:
Go 1.26+
golangci-lint v2 (for
make lint)Running sable-api instance (for
make generate)
CI/CD
GitHub Actions runs automatically:
CI (
.github/workflows/ci.yml): build + test + lint on every push and PRRelease (
.github/workflows/release.yml): goreleaser on version tags (v*)
This server cannot be deployed
Maintenance
Related MCP Connectors
- mcp-serverOAuthcom.make
Give your AI agents the tools to build, manage, and run automation workflows.
Give AI agents secure access to RevDesk calling, SMS, phone numbers, caller IDs, and usage.
- SkilderOAuthai.skilder
One place to build, share, and govern the skills and tools your AI agents use at work.
SaaS intelligence for AI agents. 5 unified tools cover 1,000+ services with 91-96% token savings.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables AI assistants to fully control a Tracecat SOAR platform instance through natural language, managing workflows, actions, cases, secrets, tables, schedules, graphs, and more.946 npm4MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage RetellAI voice services including calls, agents, phone numbers, and voices through natural language.155 npmISC
- AlicenseAqualityDmaintenanceManage voice AI agents, make calls, run campaigns, and control phone numbers through natural language.5820 npm1MIT
- AlicenseCqualityDmaintenanceEnables AI agents to manage Vapi Voice AI platform resources such as assistants, calls, phone numbers, analytics, and workflows through natural language.343MIT