Sable Platform + HyperDX Observability

io.github.sable-incPublished by GitHub account sable-incv0.3.0Updated Oct 25, 2026

Manage Sable AI voice agents, query HyperDX logs and metrics, and deploy — all from your IDE

Overview

AI-generated overview

Local MCP server for the Sable AI voice agent platform, letting an assistant manage agents, journeys, knowledge bases, deployments and HyperDX observability.

What you can do
List, create, update and delete voice agents and journeys, and read their details and connection info. Search, import, sync and delete knowledge base items. List configs, transcripts and session or stage analytics. View deploy history, trigger deploys and rollbacks, and check API health. Run a raw API request against the Sable API. Optionally query HyperDX logs, metrics, dashboards and alerts.
When to use it
Useful when you work with the Sable voice agent platform from an IDE assistant and want to inspect or change agents, journeys, knowledge bases and deployments without leaving the editor, or to pull HyperDX observability data alongside that work.
Requirements
Runs as a local binary installed via Homebrew, Go install or a release download; the MCP server is started with the anvil mcp serve command. Needs a Sable service token stored through anvil auth login, a default org and API URL in the config file, and network access to the Sable API. HyperDX tools additionally need a HyperDX API key set via anvil settings or the HYPERDX_API_KEY environment variable.
Before you install
The token is stored on disk in the anvil credentials file, and the HyperDX key can be supplied through HYPERDX_API_KEY. Many tools write or delete: creating, updating and deleting agents, journeys and knowledge base items, triggering or rolling back deployments, and the raw API request tool can call arbitrary endpoints. Deployment secret updates and LiveKit agent secrets handle sensitive values. Queries and content are sent to the Sable API and, for observability tools, to HyperDX.

Installation

In SourceWeft

  1. Open Sable Platform + HyperDX Observability in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Anvil

Command-line interface and MCP server for the Sable AI voice agent platform.

Quick Start (2 minutes)

bash
# 1. Installgo install github.com/sable-inc/anvil/cmd/anvil@latest
# 2. Authenticateanvil auth login --token svc_your_token_here
# 3. Set your default orgmkdir -p ~/.config/anvilcat > ~/.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)' >> ~/.zshrcsource ~/.zshrc
# 5. Verifyanvil auth statusanvil agent list

Install

Option 1: Homebrew (recommended)

bash
brew install sable-inc/tap/anvil

Option 2: Go Install

bash
go install github.com/sable-inc/anvil/cmd/anvil@latest

This puts the anvil binary in $GOPATH/bin (usually ~/go/bin). Make sure that's in your $PATH:

bash
# Add to your shell profile if not already thereexport PATH="$HOME/go/bin:$PATH"

Option 3: Download Binary (no Go required)

Download the latest release from GitHub Releases:

macOS (Apple Silicon):

bash
curl -sL https://github.com/sable-inc/anvil/releases/latest/download/anvil_darwin_arm64.tar.gz | tar xzsudo mv anvil /usr/local/bin/

macOS (Intel):

bash
curl -sL https://github.com/sable-inc/anvil/releases/latest/download/anvil_darwin_amd64.tar.gz | tar xzsudo mv anvil /usr/local/bin/

Linux (amd64):

bash
curl -sL https://github.com/sable-inc/anvil/releases/latest/download/anvil_linux_amd64.tar.gz | tar xzsudo mv anvil /usr/local/bin/

Or download manually from the Releases page.

Option 4: Build from Source

bash
git clone https://github.com/sable-inc/anvil.gitcd anvilmake buildsudo mv bin/anvil /usr/local/bin/

Verify Installation

bash
anvil version# anvil v0.1.0 (commit: abc1234, built: 2026-02-14T..., darwin/arm64)

Authentication

Anvil authenticates with sable-api using a service token:

bash
# Store your token (one-time)anvil auth login --token svc_your_token_here
# Verify it worksanvil auth whoami    # shows stored token infoanvil auth status    # verifies API connectivity

Credentials 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:

yaml
default_org: "my-org"api_url: "https://api.withsable.com"format: "table"

Override any setting with flags:

bash
anvil --org other-org --format json agent list
SettingFlagConfig KeyDescription
Organization--orgdefault_orgDefault org for all commands
API URL--api-urlapi_urlSable API base URL
Output format--formatformattable, json, or yaml
No color--no-color—Disable colored output
Verbose--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):

bash
echo 'source <(anvil completion zsh)' >> ~/.zshrcsource ~/.zshrc

Bash:

bash
echo 'source <(anvil completion bash)' >> ~/.bashrcsource ~/.bashrc

Fish:

bash
anvil completion fish > ~/.config/fish/completions/anvil.fish

PowerShell:

powershell
anvil completion powershell >> $PROFILE

What You Get

After setup, press TAB anywhere:

anvil <TAB>                      # all subcommandsanvil agent get <TAB>            # suggests agent slugs + IDs from APIanvil journey delete <TAB>       # suggests journey slugs + IDsanvil kb sync <TAB>              # suggests KB item IDs with namesanvil config pull <TAB>          # suggests config version IDsanvil connect <TAB>              # suggests agent slugsanvil --format <TAB>             # suggests table, json, yaml

Completions 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 agentsanvil agent get <id|slug>            # Get agent detailsanvil agent create --name "My Agent" # Create agentanvil agent update <id> --name "New" # Update agentanvil agent delete <id>              # Delete agent

Journeys

anvil journey list                   # List journeysanvil journey get <id>               # Get journey with moments/transitionsanvil journey create --name "Flow"   # Create journey

Knowledge Base

anvil kb list                        # List knowledge base itemsanvil kb get <id>                    # Get item detailsanvil kb search "query"              # Semantic searchanvil kb import-url <url>            # Import a URLanvil kb import-sitemap <url> --name "Docs"  # Import from sitemapanvil kb sync <id>                   # Sync item to vector storeanvil kb sync-all                    # Sync all itemsanvil kb crawl <id>                  # Re-crawl a URL itemanvil kb delete <id>                 # Delete itemanvil kb job <jobId>                 # Check sitemap import job status

Config-as-Code

anvil config list                    # List config versionsanvil config get <id>                # Get config version detailsanvil config pull <id> -o config.yaml  # Download config as YAMLanvil config push config.yaml        # Upload config from YAMLanvil config validate config.yaml    # Validate config locallyanvil config diff config.yaml --id <id>  # Diff local vs remote

Analytics & Transcripts

anvil analytics sessions             # Session analyticsanvil analytics stages               # Stage funnel analyticsanvil transcript list                # List transcriptsanvil transcript view <id>           # View transcript messages

Deployments

anvil deploy history --org org_xxx            # List deployment historyanvil deploy trigger --org org_xxx            # Trigger a deploymentanvil deploy trigger --org org_xxx --watch    # Trigger and poll until completeanvil deploy rollback --org org_xxx           # Rollback deploymentanvil deploy create --org org_xxx             # Create initial deploymentanvil deploy delete --org org_xxx             # Delete deploymentanvil deploy update-secrets --org org_xxx     # Update deployment secretsanvil deploy pin-forge --org org_xxx --forge-version v1.0  # Pin forge version

LiveKit

# Sessionsanvil livekit sessions list --org org_xxx     # List active roomsanvil livekit sessions get <room> --org org_xxxanvil livekit sessions close <room> --org org_xxx
# Agent managementanvil livekit agent list --org org_xxx        # List agentsanvil livekit agent status --org org_xxx      # Agent statusanvil livekit agent versions --org org_xxx    # Agent versionsanvil livekit agent logs --org org_xxx        # Agent logsanvil livekit agent restart --org org_xxx     # Restart agentanvil livekit agent delete --org org_xxx      # Delete agent
# Agent secretsanvil livekit agent secrets list --org org_xxxanvil livekit agent secrets set --org org_xxx --secret KEY=VALUEanvil livekit agent secrets delete <name> --org org_xxx

Forge (Version Management)

anvil forge versions                  # List forge versionsanvil forge branches                  # List forge branchesanvil forge commits main              # List commits on branchanvil forge validate main             # Validate a git ref

Video Processing

anvil video generate-moment --video-url <url>         # Start moment generationanvil video generate-moment --video-url <url> --watch  # Generate and pollanvil video generate-journey --video-url <url>         # Start journey generationanvil video job-status <jobId>                         # Check job status

Utilities

anvil health                         # API health checkanvil health --db                    # Include database healthanvil connect <agent-slug>           # Get LiveKit connection detailsanvil api GET /agents                # Raw API requestanvil api POST /agents -d '{"name":"test"}'anvil version                        # Print version info

Config-as-Code Workflow

Pull a config, edit locally, validate, and push:

bash
# Pull the current configanvil 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 changedanvil config diff agent.yaml --id <config-id>
# Push the updated configanvil config push agent.yaml

MCP 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

bash
anvil auth login --token svc_your_token     # Sable API credentialsanvil 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=eyJjb21tYW5kIjoiYW52aWwiLCJhcmdzIjpbIm1jcCIsInNlcnZlIl19

Or add manually to .cursor/mcp.json:

json
{  "mcpServers": {    "sable": {      "command": "anvil",      "args": ["mcp", "serve"]    }  }}

Add to Claude Code

bash
claude mcp add sable -s user -- anvil mcp serve

No 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)

DomainTools
Agentslist_agents, get_agent, create_agent, update_agent, delete_agent
Journeyslist_journeys, get_journey, create_journey, update_journey, delete_journey
Knowledge Baselist_knowledge_base, get_knowledge_base_item, search_knowledge_base, import_knowledge_base_url, delete_knowledge_base_item, sync_knowledge_base_item
Configlist_configs, get_config
Deploymentsget_deploy_history, trigger_deploy, rollback_deploy
Transcriptslist_transcripts, get_transcript
Analyticsget_session_analytics, get_stage_analytics
Utilitiescheck_health, get_connection_details, raw_api_request

HyperDX Observability Tools (5, optional)

Enabled when anvil settings set-hyperdx <key> has been run or HYPERDX_API_KEY env var is set.

ToolPurpose
hdx_search_eventsQuery logs/spans with aggregations, time ranges, filters, group-by
hdx_query_metricsQuery metrics (Sum, Gauge, Histogram)
hdx_list_dashboardsList HyperDX dashboards
hdx_get_dashboardGet dashboard with chart definitions
hdx_list_alertsList configured alerts

Releasing New Versions

Anvil uses goreleaser with GitHub Actions for automated releases.

Creating a Release

bash
git tag v0.1.0git push origin v0.1.0

GitHub Actions will automatically:

  1. Build binaries for Linux, macOS, and Windows (amd64 + arm64)
  2. Create a GitHub Release with downloadable archives
  3. Generate checksums and a changelog
  4. Publish to the Homebrew tap (sable-inc/homebrew-tap)
  5. Publish to the MCP Registry (discoverable in Claude Code / Cursor)

Team members can then upgrade via:

bash
# Homebrewbrew upgrade anvil
# Go installgo install github.com/sable-inc/anvil/cmd/anvil@latest

Snapshot Build (local testing)

bash
goreleaser --snapshot --cleanls dist/

Development

bash
make build     # Build binarymake test      # Run tests with race detectormake lint      # Run golangci-lint v2make check     # Build + test + lintmake install   # Install to $GOPATH/binmake generate  # Generate API client from OpenAPI specmake clean     # Remove build artifacts

Requires:

  • 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 PR
  • Release (.github/workflows/release.yml): goreleaser on version tags (v*)

Source: README.md at commit 5e47ea7

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.3.0LatestSep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.