nixflex-mcp exposes your Nixflex account as tools an AI assistant can use. Once connected, you can say “call Sam and confirm his Tuesday appointment” or “which calls failed today and why?” and the assistant does it through your account - the same API the dashboard and the CLI use.
It runs on your machine, talks to the assistant over stdio, and calls the official nixflex SDK. Nothing is hosted by Nixflex; your key never leaves your computer.
Connect in two steps
1
Log in once with the CLI
2
Add the server to your app
mcp setup writes:
%APPDATA%\Claude\claude_desktop_config.json (Windows) or ~/Library/Application Support/Claude/claude_desktop_config.json (macOS). Cursor: ~/.cursor/mcp.json. VS Code: .vscode/mcp.json under "servers".
If you would rather not store the key, set NIXFLEX_API_KEY in the server’s env block instead - the real value, not ${NIXFLEX_API_KEY} (desktop apps do not expand variables).
Other settings. NIXFLEX_BASE_URL in the same env block points the server at a staging API. To pin a version instead of taking the latest, use ["-y", "nixflex-mcp@0.2.1"]. To remove the server, delete the nixflex block and restart the app.
Tested with Claude Desktop. Cursor and VS Code use the config formats their own documentation describes; mcp setup writes those for you.
Try it
- “List my Nixflex agents.”
- “Show my last 10 calls and tell me which ones ended badly and why.”
- “What do we know about +447453573770 on +447450307843? Update the preference to prefers Tuesday mornings.”
- “Set the silence hang-up on the Ringback agent to 12 seconds.”
- “Import these customers onto +447450307843:” followed by a pasted list.
- “Have the Reception agent call +447700900123 and confirm the appointment on Tuesday at 11.”
Tools
Every tool is one API call. Names aresnake_case; results come back as JSON.
create_agent, update_agent, update_phone_number, import_phone_number, create_campaign, create_sms_campaign and set_byo_config take a fields object passed straight to the API, so every field on the API reference pages is available.
Safety rails
- Nothing destructive runs without
confirm: true.delete_*tools androtate_api_keyreturn a preview of what would happen and change nothing until the assistant calls again withconfirm: true- which a well-behaved assistant only does after asking you. - There is no delete-all tool. Wiping an account stays a deliberate API or CLI action.
- Spending tools say so.
create_call,create_campaign,send_smsandcreate_sms_campaignstate in their descriptions that they spend credit. - Lists are summaries.
list_callsreturns one line per call (status, duration, summary, sentiment);get_callreturns the full transcript for one call. - Your key stays local. The server reads
~/.nixflex/config.jsonor its ownenv; nothing is sent anywhere exceptapi.nixflex.com. - The tool list is a contract. A test in the package starts the real server over stdio and pins all 35 tool names, descriptions and schemas - a tool cannot vanish or change shape without failing the build.
What it is not
It manages your account - agents, numbers, calls, customers. It does not sit inside a live call; the agent on the phone does not use these tools. Letting the phone agent call external MCP servers mid-call is a separate feature and is not available yet.Troubleshooting
Related
- CLI - the same account from a terminal
- Node SDK - what the tools call underneath
- API reference - every field the
fieldsobjects accept