Vexa
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
제작자가 쓴 설명(영어 원문)
Lets Claude, Cursor or any MCP client build voice agents and place real phone calls.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
WIXZEL_API_KEY비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
웹, 데스크톱, 모바일의 Claude에서 쓸 수 있어요:
https://mcp.voice.wixzel.com/mcpClaude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"voice": {
"command": "npx",
"args": [
"-y",
"wixzel-voice-mcp"
],
"env": {
"WIXZEL_API_KEY": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
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-mcp실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"voice": {
"url": "https://mcp.voice.wixzel.com/mcp"
}
}
}프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"voice": {
"command": "npx",
"args": [
"-y",
"wixzel-voice-mcp"
],
"env": {
"WIXZEL_API_KEY": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"voice": {
"type": "http",
"url": "https://mcp.voice.wixzel.com/mcp"
}
}
}프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"voice": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"wixzel-voice-mcp"
],
"env": {
"WIXZEL_API_KEY": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요:
https://mcp.voice.wixzel.com/mcp메뉴 이름은 요금제나 시기에 따라 조금 다를 수 있어요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
서버가 도구 목록을 보여 주기 전에 로그인을 요구해요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 10일 점검
레지스트리 이름이 도메인 wixzel.com 기준으로 확인되었어요(레지스트리가 도메인 소유를 확인해요)
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
652ms 만에 응답(HTTP 401)
OAuth 로그인을 지원한다고 밝혀서, AI 앱이 로그인 화면으로 안내해 줘요
아직 점검하지 않았어요. 엔드포인트를 점검할 때 도구 목록을 읽어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 3개 중 3개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: WIXZEL_API_KEY
둘 다 가능해요. 내 컴퓨터에 설치해도 되고, 클라우드 버전에 연결해도 돼요.
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.12.0)은 8일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되기 때문에, 원격 MCP 서버를 지원하는 앱(예: 개발자 모드의 ChatGPT)에서도 쓸 수 있어요.
같은 카테고리에는: Vexa, emailmd, MCP WhatsApp Cloud
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.
MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
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.