Sable Platform + HyperDX Observability

io.github.sable-inc由 GitHub 账号 sable-inc 发布v0.3.0更新于 Oct 25, 2026

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

概览

AI 生成的概览

面向 Sable AI 语音代理平台的本地 MCP 服务器,让助手管理代理、旅程、知识库、部署,并查询 HyperDX 可观测性数据。

可以做什么
列出、创建、更新和删除语音代理与旅程,并读取其详情和连接信息。搜索、导入、同步和删除知识库条目。列出配置、通话记录以及会话和阶段分析数据。查看部署历史、触发部署与回滚,并检查 API 健康状态。向 Sable API 发送原始 API 请求。可选地查询 HyperDX 的日志、指标、仪表盘和告警。
适用场景
当你在 IDE 助手中使用 Sable 语音代理平台,希望不离开编辑器就查看或修改代理、旅程、知识库和部署,或同时获取 HyperDX 可观测性数据时适用。
运行要求
以本地二进制运行,可通过 Homebrew、Go install 或下载发布包安装;MCP 服务器由 anvil mcp serve 命令启动。需要 Sable 服务令牌(通过 anvil auth login 保存)、在配置文件中设置默认组织和 API 地址,并能访问 Sable API。HyperDX 工具还需通过 anvil settings 或 HYPERDX_API_KEY 环境变量提供 HyperDX API 密钥。
安装前请注意
令牌以文件形式保存在 anvil 凭据文件中,HyperDX 密钥可通过 HYPERDX_API_KEY 提供。许多工具会写入或删除数据:创建、更新、删除代理、旅程和知识库条目,触发或回滚部署,原始 API 请求工具可调用任意端点。部署密钥更新和 LiveKit 代理密钥涉及敏感值。查询和内容会发送到 Sable API,可观测性工具还会发送到 HyperDX。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Sable Platform + HyperDX Observability,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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

来源:README.md,提交 5e47ea7

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.3.0最新Sep 16, 2026

评分

已满足适用检查项的 40%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。