Wavix

io.github.Wavix由 GitHub 账号 Wavix 发布v1.3.2更新于 Nov 6, 2026

Wavix telecom MCP: SMS, voice, 2FA, SIP, numbers, 10DLC, CDRs. Account sign-in or API key.

已验证Streamable HTTP可网页运行金融沟通与协作商业与电商

概览

AI 生成的概览

托管的 Wavix 电信 MCP 服务器,让助手发送短信/彩信和 WhatsApp 消息、拨打语音电话、执行 2FA、管理号码、SIP 中继与 10DLC,并查询通话记录和账单。

可以做什么
  • 发送、列出和获取短信/彩信与 WhatsApp 消息,管理发送方 ID 和退订
  • 发起、接听和结束通话;播放音频、采集 DTMF、录音、媒体流和通话 webhook
  • 创建、校验、取消和重发 2FA 验证,并查询验证事件
  • 搜索可购买号码、加入购物车并结账;更新、释放和配置自有号码路由;校验号码
  • 管理 SIP 中继、10DLC 品牌与活动、语音活动、子账户、API 密钥和短链接
  • 检索 CDR 与转写文本、重新转写录音、运行语音分析,并列出账单交易和发票
适用场景
适合让助手直接操作 Wavix 电信账户的场景:快速验证免密码 2FA 流程、发送事务性消息、购买或配置电话号码路由,或在不写集成代码的情况下核查通话记录与支出。
运行要求
远程 Streamable HTTP 端点,无需本地安装。可通过 Wavix 账户登录(OAuth 2.1),或在 Authorization 请求头中携带 Wavix API 密钥(Bearer)进行认证;密钥需在 Wavix 控制台创建。需要能访问该托管端点的出站 HTTPS。自托管为可选项,需要 Python 3.10+ 或 Docker。
安装前请注意
Authorization 请求头中的 API 密钥可操作真实电信账户并可能产生费用:发送消息与通话,以及购物车结账(仅在带确认令牌再次调用时扣费)。破坏性工具及部分更新操作也采用两步确认。工具可创建、修改和删除号码、SIP 中继、webhook、API 密钥和子账户。建议使用专用密钥、避免提交到 git,并定期核查账单与通话记录。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Wavix,将其添加到工作区。
  2. 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.Wavix%2Fmcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。

{
  "mcpServers": {
    "wavix": {
      "type": "http",
      "url": "https://mcp.wavix.com/mcp"
    }
  }
}

README

Wavix MCP Server

[License: MIT] [MCP]

A Model Context Protocol server that gives LLMs and AI agents direct access to the Wavix telecom platform — SMS/MMS, voice calls, 2FA, SIP trunking, phone-number management, 10DLC registration, call recordings, speech analytics, and billing.

Wavix is a global communications platform for sending SMS, placing voice calls, and running 2FA flows over a single API. A free trial is available; paid usage follows the Wavix pricing plan attached to your account.

The fastest way to use this MCP server is the hosted endpoint at https://mcp.wavix.com/mcp — point any MCP-compatible client at it and connect by signing in with your Wavix account or with a Wavix API key. If you need to self-host (custom Wavix deployment, behind a firewall, dedicated instance), see Run your own.

Table of contents

Endpoint

FieldValue
URLhttps://mcp.wavix.com/mcp
TransportStreamable HTTP
AuthSign in with a Wavix account (OAuth 2.1), or Authorization: Bearer <api_key>
Toolssee TOOLS.md
ResourcesWavix docs + OpenAPI spec (auto-discovered)

Get a Wavix API key from the Wavix Console → Administration → API keys → Create new.

Install

Two ways to connect — pick whichever your client supports; neither is required over the other.

Sign in with a Wavix account

If your MCP client supports OAuth (Claude Desktop / Web, and other OAuth-capable clients), connect without an API key: add the connector for https://mcp.wavix.com/mcp and, when the client prompts, sign in with your Wavix account and approve access. The client runs the OAuth 2.1 flow and stores the token itself — nothing to paste. The tools you get are scoped to what you approve and your account role permits (see Troubleshooting).

Connect with an API key

Before you start: grab your Wavix API key.

  1. Sign in at https://wavix.com.
  2. Open Administration → API keys.
  3. Click Create new (or copy an existing key). Keep it handy — you'll paste it in place of YOUR_API_KEY below.

One-click install

⚠️ The buttons below seed your editor's MCP config with a placeholder token YOUR_API_KEY. After the editor finishes installing, open the generated config and replace the placeholder with your real API key before sending any request — otherwise every call will return 401 Unauthorized.

[Install in VS Code] [Install in Cursor]

To remove later: open the same config file (~/.cursor/mcp.json, .vscode/mcp.json, or the equivalent for your editor) and delete the wavix entry, or remove the connector through your editor's MCP / Connectors UI.

Claude Code

bash
claude mcp add --transport http wavix https://mcp.wavix.com/mcp \  --header "Authorization: Bearer YOUR_API_KEY"

Use claude mcp list to verify and /mcp inside a session for status.

Claude Desktop / Claude Web

Settings → Connectors → Add custom connector:

  • Name: Wavix
  • URL: https://mcp.wavix.com/mcp
  • Transport: Streamable HTTP
  • Authentication header: Authorization: Bearer <api_key>

To connect by signing in instead, add the connector without an authentication header and sign in with your Wavix account when the client prompts.

Cursor (manual)

Add to ~/.cursor/mcp.json (or project-level .cursor/mcp.json):

json
{  "mcpServers": {    "wavix": {      "url": "https://mcp.wavix.com/mcp",      "headers": {        "Authorization": "Bearer <api_key>"      }    }  }}

Cursor 2.4+ exposes the full catalogue; earlier versions cap at 40.

VS Code (manual, GitHub Copilot Chat)

Create .vscode/mcp.json in your workspace (or add the same servers object under the "mcp" key in user settings.json):

json
{  "servers": {    "wavix": {      "type": "http",      "url": "https://mcp.wavix.com/mcp",      "headers": {        "Authorization": "Bearer <api_key>"      }    }  }}

See the VS Code MCP servers guide for the up-to-date schema.

Codex CLI

Codex CLI supports MCP over stdio. Bridge to the hosted server via mcp-remote. Edit ~/.codex/config.toml:

toml
[mcp_servers.wavix]command = "npx"args = [  "-y",  "mcp-remote",  "https://mcp.wavix.com/mcp",  "--header",  "Authorization:Bearer ${WAVIX_API_KEY}"]
[mcp_servers.wavix.env]WAVIX_API_KEY = "YOUR_API_KEY"

Windsurf / other clients

Any MCP client that supports Streamable HTTP transport with custom headers will work. Use:

  • URL: https://mcp.wavix.com/mcp
  • Header: Authorization: Bearer <api_key>

Setting up via an AI agent? Point your agent at llms-install.md — it's a machine-readable install guide that gives the model the URL, header, and per-client configuration in a deterministic format so it doesn't improvise endpoint values.

Run your own

The hosted server works out of the box for most users. Self-host if you need to point at a non-public Wavix deployment, run behind a firewall, or operate inside your own infrastructure.

Docker

bash
docker build -t wavix-mcp-server .docker run --rm -p 8000:8000 wavix-mcp-server

The server listens on port 8000 and exposes the MCP endpoint at /mcp. Point your client at http://<host>:8000/mcp.

From source

bash
git clone https://github.com/Wavix/wavix-mcp-server.gitcd wavix-mcp-serverpip install -e .wavix-mcp

Requires Python 3.10+.

Configuration

Env varDefaultPurpose
WAVIX_API_BASE_URLhttps://api.wavix.comOverride the upstream Wavix API endpoint (for internal deployments or staging)
OAUTH_ISSUERunsetBase URL of the OAuth 2.1 authorization server. Its JWKS is read from <issuer>/.well-known/jwks.json
OAUTH_RESOURCEunsetPublic base URL this server is reached at, used as the resource identifier
OAUTH_API_KEY_PASSTHROUGHtrueWith OAuth on, still accept a bearer that is not an OAuth JWT and forward it upstream (API keys keep working). Set false to require a JWT
MCP_PATH/mcpPath the MCP endpoint is served on

No Wavix credentials are required to run the server — they are forwarded per-request from the MCP client's Authorization: Bearer <api_key> header. Self-hosters are responsible for terminating TLS in front of the server (nginx, Caddy, cloud load balancer) before exposing it publicly.

OAuth 2.1 (optional)

Set OAUTH_ISSUER and OAUTH_RESOURCE together to turn the server into an OAuth 2.1 protected resource. It then publishes RFC 9728 metadata at /.well-known/oauth-protected-resource<MCP_PATH>, validates incoming access tokens as JWTs against the issuer's JWKS, and answers unauthenticated requests with a WWW-Authenticate challenge pointing at that metadata. MCP clients that support OAuth use this to run the authorization flow themselves, so users no longer paste an API key into their client config.

The audience each token must carry is OAUTH_RESOURCE + MCP_PATH, which is also the resource value published in the metadata. Authorization servers implementing RFC 8707 compare the client's resource parameter against that string exactly, so the two must be configured to match — including the path.

Enabling OAuth does not cut off clients that authenticate with a Wavix API key. A bearer token that is not a valid OAuth JWT is forwarded upstream unverified, exactly as before, leaving the Wavix API the sole authority on it — so an existing deployment can turn OAuth on for new clients without breaking the ones already connected. A request carrying no token at all still gets the WWW-Authenticate challenge, which is what lets an OAuth-capable client discover the authorization server. Only OAuth-authenticated connections are scope-filtered; an API-key connection sees the full tool surface.

Set OAUTH_API_KEY_PASSTHROUGH=false to drop that fallback and require a valid JWT — the strict mode to switch to once API-key access is retired.

Leaving either of OAUTH_ISSUER / OAUTH_RESOURCE unset keeps the previous behaviour: no metadata is published and whatever bearer token the client sends is forwarded upstream unverified.

Examples

Concrete prompts you can drop into any connected client.

Phone numbers below (+1 310 555 0100, +44 7700 900123) are in reserved test ranges (NANP 555 and Ofcom 070 09xx) — safe to copy verbatim, no real subscribers are reachable through them.

Send a transactional SMS

Prompt: "Send an SMS from +13105550100 to +447700900123 saying 'Your verification code is 4821'."

The agent calls sms_and_mms_messages_send with from, to, and text. Returns the message ID and delivery status.

Run a 2FA verification

Prompt: "Send a 2FA verification code to +13105550100 via SMS. When I give you the code I receive, check whether it's correct."

The agent calls two_fa_verification_create, waits for you to share the code that arrives via SMS, then calls two_fa_verification_check. Useful for prototyping passwordless flows without writing integration code.

Find and buy a phone number

Prompt: "Find an available US toll-free number with SMS capability, add it to my cart, and check out."

The agent chains buy_numbers_list (filtering by country and feature), cart_add, and cart_checkout. cart_checkout first returns a preview with the numbers and their fees, and charges the account only when called again with its confirmation_token.

Search call transcripts

Prompt: "Show me all inbound calls from yesterday longer than two minutes where the caller mentioned 'refund'."

The agent uses cdrs_search against transcriptions, then enriches each result via cdrs_get for full call metadata.

Pull a recording and transcribe it

Prompt: "Get the recording for call abc-123, ask Wavix to transcribe it, and return the transcription."

The agent calls call_recording_get_by_call (returns a pre-signed download URL), cdrs_retranscribe, then polls cdrs_transcription_get.

Audit billing

Prompt: "How much did we spend on SMS last month, and what invoices were issued?"

The agent calls billing_transactions_list filtered by type and date, then billing_invoices_list. Downloading the invoice PDF itself is not exposed over MCP — fetch it from the Wavix API or dashboard.

Tools

Generated from the Wavix OpenAPI spec. Arguments mirror request parameters and body fields. The tools shown depend on the permissions you approve at sign-in and the features enabled on your account.

GroupCoverage
SMS and MMSSend, list, retrieve messages; sender IDs; opt-outs
WhatsAppBusiness Accounts; senders; templates; send / list / retrieve messages
Call controlStart / answer / end calls; play audio; collect DTMF
Call recordingList, download (pre-signed URL), delete
Call streamingStart / stop media stream
Call webhooksList, create, delete
CDRsList, retrieve; transcription search and retranscribe
Speech AnalyticsTranscribe, retrieve original file
2FACreate / check / cancel / resend verification; events
My numbersList, update, release; SMS / voice routing
BuyCountries, regions, cities; available number search
CartAdd, remove, retrieve, checkout
Number validatorSingle and bulk validation
SIP trunksFull CRUD
10DLCBrands, campaigns, vetting, evidence, event subscriptions
ProfileGet / update profile; account config
API KeysList, create, update, delete
Sub-accountsList, create, get, update; transactions
BillingTransactions; list invoices / statements
Voice campaignsTrigger and retrieve
Wavix Embeddable (WebRTC)Widget tokens CRUD
Link shortenerCreate short links; metrics

See TOOLS.md for the complete tool list with one-line descriptions. The authoritative source is the Wavix OpenAPI spec — your client always sees the current live catalogue.

Resources

In addition to tools, the server exposes Wavix documentation as MCP Resources, so the model can pull authoritative context on demand instead of guessing from prior knowledge.

URI schemeContents
wavix://docs/<path>Documentation pages from docs.wavix.com (auto-discovered via llms.txt).
wavix://api/openapi.yamlThe full Wavix OpenAPI 3.0 specification.

Both sources — docs.wavix.com and the Wavix OpenAPI spec — are publicly available and can be browsed directly without authentication.

Resources are fetched lazily on resources/read and cached server-side with a 1-hour TTL. The upstream Bearer token is never forwarded to documentation hosts — only to api.wavix.com.

Authentication

The hosted server accepts two connection methods — neither is preferred:

  • Sign in with a Wavix account (OAuth 2.1). For OAuth-capable clients. The client runs the authorization flow and the user signs in; no API key is stored. Access is scope-limited to what the user approves and their account role permits. See Sign in with a Wavix account.
  • Wavix API key (Bearer). For any Streamable-HTTP client. Every request must include:
Authorization: Bearer <api_key>

The server forwards this header to api.wavix.com per-request. The token:

  • is never logged,
  • is never forwarded on cross-host redirects (e.g. pre-signed S3 download URLs),
  • is never sent to documentation hosts.

If your client follows a pre-signed download URL returned by call_recording_get_by_call, speech_analytics_file_get, or ten_dlc_brand_evidence_get, fetch it directly without the Authorization header.

Best practices

  • Use a dedicated API key for MCP. Create a separate API key at https://wavix.com → Administration → API keys (or via the api_keys_create tool itself, from another session). This lets you revoke MCP access without disrupting other integrations.

  • Rotate periodically. Treat the API key like any production secret: rotate on schedule and on any suspicion of leakage.

  • Keep API keys out of git. MCP client configs are easy to commit by accident, taking the token with them into history and CI logs. Most clients support ${env:VAR} substitution in the header value — store the API key in an env var or your OS keychain and reference it from the config. As a safety net, add the common client-config paths to your project's .gitignore:

    gitignore
    .cursor/mcp.json.vscode/mcp.jsonclaude_desktop_config.json.claude/mcp.json.codex/config.toml

If a credential is compromised

If you connected with an API key:

  1. In the Wavix Console, deactivate or delete that key immediately (or call api_keys_delete).
  2. Create a replacement via api_keys_create or the Console.
  3. Update the client's config and reconnect.

If you connected by signing in with your Wavix account:

  1. Revoke the connection from the Wavix portal's grant-management page, which lists the connections you authorized and revokes the one you choose — this invalidates that connection's tokens. No API key is involved.
  2. Reconnect and sign in again.

In either case, review billing_transactions_list and cdrs_list for unexpected activity.

Troubleshooting

SymptomLikely cause / fix
401 Unauthorized from any toolAuthentication failed. With an API key: the Authorization: Bearer … header is missing, or the key is invalid or inactive — verify it in the Wavix Console. With account sign-in: your session/token expired or was revoked, or sign-in never completed — reconnect and sign in again.
Tool returns a download_url, not the file itselfExpected. Recording, speech-analytics, and 10DLC evidence endpoints return pre-signed URLs (see Authentication). Fetch the URL directly without the Authorization header.
Client shows only part of the catalogueOlder clients enforce a per-server tool cap. Upgrade (Cursor 2.4+, latest VS Code, latest Claude).
Fewer tools available after signing in with a Wavix accountExpected. Account sign-in is scope-filtered — you get the tools your approved scopes and account role allow, not the full catalogue. An API-key connection sees the full tool surface. To widen the set, approve more scopes at sign-in (subject to your role) or connect with an API key that carries them.
Tool not found for a tool listed in this READMEThe local client may be caching an old tool list. Restart the client, or remove and re-add the server.
4xx with an errors arrayValidation error from Wavix API. Inspect errors; cross-reference the relevant wavix://docs/* page or the OpenAPI spec.
Cannot reach the serverConfirm DNS and outbound HTTPS to mcp.wavix.com:443.
Agent calls a destructive tool unexpectedlyMost clients can require confirmation before tool calls — enable that setting and rotate to a dedicated MCP API key (see Best practices).

Compatibility & limits

  • Compatible with any MCP client supporting Streamable HTTP transport (Claude Desktop / Web / Code, Cursor 2.4+, VS Code, Windsurf, custom MCP SDKs) and any agent framework with an MCP client adapter.
  • Every tool annotated with destructiveHint, plus call_webhooks_create, sip_trunks_update and sub_accounts_update, runs in two steps: the first call returns a preview and a single-use confirmation_token (valid 5 minutes), and the action runs only when the tool is called again with the same arguments and that token. Any MCP client can do this; no client-side confirmation support is needed.
  • Older clients may enforce a per-server tool cap; upgrade to a recent version to access the full catalogue.
  • Rate limits and usage charges follow your Wavix account plan. See Wavix pricing.

Changelog

The hosted server is updated continuously as the Wavix OpenAPI spec evolves; new tools appear automatically and existing tool arguments may gain optional fields. Documentation changes for this repository are tracked under Releases. For substantial behavior changes affecting tool inputs or auth, we will publish a notice both there and in the Wavix release notes.

Support

Contributing

This repository is source-available but not open to external contributions. Pull requests are auto-closed, and Issues / Discussions are disabled. Send bug reports, feature requests, and feedback to [email protected]. See CONTRIBUTING.md for details.

If you find a bug in the underlying FastMCP framework, please report it upstream there.

Security

To report a security vulnerability, please email [email protected] with the subject Security: <short summary> rather than opening a public issue. See SECURITY.md for details.

License

MIT © Wavix

来源:README.md,提交 55b1362

工具

0
该服务器需要登录,因此 SourceWeft 无法在没有账号的情况下读取其工具,也未收录。已连接账号所能看到的内容可能因账号及其权限而异。

版本历史

6
  1. v1.3.2最新Nov 6, 2026
  2. v1.3.1Oct 16, 2026
  3. v1.3.0Oct 14, 2026
  4. v1.2.0Oct 7, 2026
  5. v1.1.0Sep 23, 2026
  6. v1.0.0Sep 16, 2026

评分

已满足适用检查项的 85%

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

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具15 分

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

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