Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Lets Claude, Cursor or any MCP client build voice agents and place real phone calls.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
WIXZEL_API_KEYValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://mcp.voice.wixzel.com/mcpOpen Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"voice": {
"command": "npx",
"args": [
"-y",
"wixzel-voice-mcp"
],
"env": {
"WIXZEL_API_KEY": "your-value"
}
}
}
}Run this in your terminal
claude mcp add --transport http voice https://mcp.voice.wixzel.com/mcpclaude mcp add voice --env WIXZEL_API_KEY=your-value -- npx -y wixzel-voice-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"voice": {
"url": "https://mcp.voice.wixzel.com/mcp"
}
}
}Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"voice": {
"command": "npx",
"args": [
"-y",
"wixzel-voice-mcp"
],
"env": {
"WIXZEL_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"voice": {
"type": "http",
"url": "https://mcp.voice.wixzel.com/mcp"
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"voice": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"wixzel-voice-mcp"
],
"env": {
"WIXZEL_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://mcp.voice.wixzel.com/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
The server asks you to sign in before it lists its tools.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified against the domain wixzel.com (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 652 ms (HTTP 401)
Declares OAuth sign-in, so your AI app can take you to log in
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: WIXZEL_API_KEY
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (0.12.0) reached the registry 5 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, Reelsaw
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Drive a self-hosted Reelsaw: turn long videos into vertical clips, edit, re-render and export them.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Wixzel Voice for AI agents. A Model Context Protocol server that lets Claude Code, claude.ai, Claude Desktop, Cursor, and any other MCP client create voice agents, connect a carrier, place calls, run campaigns, and read what it all cost, using the Wixzel Voice API.
Wixzel Voice: APIs for AI voice agents. One API key, one balance, every voice engine.
One tool per API operation, 56 in all, each annotated so a client knows which are read-only, which delete, and which spend money or make a real phone ring. Three prompts (quickstart, diagnose_call, spend_report) package the common workflows.
Published as wixzel-phone-mcp up to 0.3.0, while the product was briefly called Wixzel Phone. Those releases keep working: api.phone.wixzel.com and mcp.phone.wixzel.com keep serving.
Two ways to run it:
| Where | Auth | |
|---|---|---|
Hosted, https://mcp.voice.wixzel.com/mcp | Wixzel's servers | OAuth sign-in from the client, or a bearer key |
Local, npx -y wixzel-voice-mcp | Your machine, stdio | WIXZEL_API_KEY in the environment |
The console's AI clients page at voice.wixzel.com/connect generates every command below with a key filled in.
# hosted: sign in with your Wixzel account when Claude Code asks (/mcp → Authenticate)
claude mcp add --transport http wixzel-voice https://mcp.voice.wixzel.com/mcp
claude mcp add wixzel-voice -e WIXZEL_API_KEY=wv_live_... -- npx -y wixzel-voice-mcp
Or commit a .mcp.json so every collaborator gets it:
{
"mcpServers": { "wixzel-voice": { "command": "npx", "args": ["-y", "wixzel-voice-mcp"], "env": { "WIXZEL_API_KEY": "${WIXZEL_API_KEY}" } } } }
Then:
/mcp__wixzel-voice__quickstart
Settings → Connectors → Add custom connector → https://mcp.voice.wixzel.com/mcp → Connect. You sign in to the console, tick what the client may do, and it receives a scoped key of its own. Disconnect it from the console's AI clients page at any time.
Same shape as .mcp.json above: command npx, args ["-y", "wixzel-voice-mcp"], env WIXZEL_API_KEY. Clients that connect over HTTP but cannot do OAuth send the key as Authorization: Bearer wv_live_....
| Family | Tools |
|---|---|
| Engines | list_engines |
| Agents | list_agents get_agent create_agent update_agent delete_agent |
| Calls | place_call list_calls get_call get_call_transcript hangup_call delete_call |
| Callers | list_callers get_caller update_caller |
| Meetings | connect_meeting_integration get_meeting_integration delete_meeting_integration join_meeting list_meetings get_meeting leave_meeting |
| SIP trunks | list_sip_trunks get_sip_trunk create_sip_trunk update_sip_trunk delete_sip_trunk check_sip_trunk_status test_sip_trunk get_sip_trunk_logs |
| Phone numbers | list_phone_numbers get_phone_number create_phone_number update_phone_number delete_phone_number |
| Leads | list_leads get_lead create_lead update_lead delete_lead import_leads |
| Campaigns | list_campaigns get_campaign create_campaign start_campaign pause_campaign delete_campaign |
| Knowledge bases | list_knowledge_bases get_knowledge_base create_knowledge_base import_knowledge_base import_knowledge_file update_knowledge_base delete_knowledge_base list_knowledge_files add_knowledge_file get_knowledge_file delete_knowledge_file |
| MCP servers | list_mcp_servers get_mcp_server create_mcp_server update_mcp_server delete_mcp_server refresh_mcp_server connect_mcp_server_oauth |
| Tools | list_tools get_tool create_tool update_tool delete_tool test_tool |
| Voices | list_voices get_voice preview_voice create_voice_clone update_voice delete_voice |
| Appointments | list_appointments get_appointment create_appointment update_appointment delete_appointment |
| Billing & usage | get_balance list_ledger_entries create_topup get_usage_summary list_usage_events |
| API keys | list_api_keys create_api_key rotate_api_key revoke_api_key |
Prompts: quickstart (connect a carrier, register a number, build an agent, place a first call), diagnose_call (why did call X fail), spend_report (what did this month cost, and where).
Resources: wixzel://guide (the operating guide the server also sends as its instructions) and wixzel://connection (base URL and whether the key is live or test; never the key itself).
place_call, start_campaign, create_topup and create_voice_clone are annotated openWorldHint: true and their descriptions tell the model to confirm with the user first. Clients that gate on annotations will ask before running them.Idempotency-Key; the server generates one per call and accepts an explicit idempotency_key for deliberate retries, so a network timeout never turns into two calls.code, the request_id, and a hint that says what to do: which scope is missing, that the balance is short, that a cursor was mangled.429 is retried after Retry-After up to twice before the model sees it. Those requests are never charged.npx wixzel-voice-mcp --http 3939
| Variable | Purpose |
|---|---|
MCP_PORT | Port. Default 3939; --http overrides. |
MCP_BIND | Interface. Default 127.0.0.1; terminate TLS in front rather than binding wider. |
MCP_PUBLIC_URL | The URL clients use, e.g. https://mcp.voice.wixzel.com/mcp. Advertised as the OAuth resource. |
WIXZEL_API_BASE_URL | The API, which is also the OAuth authorization server. Default https://api.voice.wixzel.com. |
WIXZEL_API_VERSION | Optional Wixzel-Version date pin. |
WIXZEL_API_KEY | Stdio mode: the key. HTTP mode: a fallback for requests without a bearer, accepted only when `MCP_PUBLIC_URL` is a loopback address. |
Each request's bearer becomes the API key for a fresh, throwaway MCP server; nothing is shared between requests. A request without a bearer gets a 401 with WWW-Authenticate: Bearer resource_metadata="…", and /.well-known/oauth-protected-resource names the API as the authorization server, which is how connectors discover sign-in on their own. GET /healthz reports liveness.
The source is mirrored at wixzel-voice-sdks; it is developed in the private monorepo that also holds the API, so a change to an endpoint and the change to its tool land together.
npm install # at the repo root
npm test -w apps/mcp # offline: a fake API behind in-memory and HTTP transports, plus a spec-coverage check npm run build -w apps/mcp npm run inspect -w apps/mcp # MCP Inspector against the built server
Tool schemas are hand-written zod. The spec-coverage test compares them against the API's OpenAPI document (docs/openapi.json) in both directions, so an endpoint added to the API fails the build here until it gets a tool.
This server is for AI agents. Application code should use the SDKs: wixzel-voice on npm and wixzel_voice on pub.dev.
MIT. Wixzel Voice itself is a hosted service; see voice.wixzel.com for terms.