Voicent MCP Server Setup Guide

This guide connects an AI agent, such as Claude, to your own on-premise Voicent Gateway. The agent can then place calls and texts, run campaigns, check results, and read and update CRM records, within the limits you set.

Out of the box it can call or text any number and use the CRM tools, so set your limits before you connect. Campaigns stay off until you turn them on. A tool that's turned off doesn't exist for the agent.

Requires Voicent Gateway 10.10.3 or later.

Before you start:

Contents

  1. What you need
  2. Protect the gateway
  3. Install the server
  4. Connect your MCP client
  5. Tools
  6. Settings
  7. Set your limits before you connect
  8. Your legal responsibility
  9. Known limits
  10. Troubleshooting and help

1. What you need

Your MCP client starts the server on its own machine, and the server sends requests to the gateway. With the default settings, all three run on one machine.

Your dialer and its data live on your server. Whatever your agent reads or sends, such as phone numbers, message text, results and customer records, also passes through the AI client you choose and possibly that client's cloud model. Check that this is acceptable for your data.

License and annual support

The MCP server itself is free. The Workflow license plus Enterprise Edition that it requires is a one-time license. Ask sales@voicent.com for a quote.

Annual support is strongly recommended. It costs 30% of the purchase price per year, with a $99/month minimum. Without support, we won't be able to help you if the software fails to work for any reason.

The licensed software keeps working on the same computer and the same version without support, but there is no technical support, new releases, or license transfer to another computer.

2. Protect the gateway

Keep port 8155 off the internet. Do this before you connect anything.

The limits in this guide apply only to requests that go through the MCP server. Anyone who reaches port 8155 directly can bypass them. The gateway's own interface can do far more than the MCP server allows, including running programs on the gateway machine. Requests from other machines need the gateway's Remote Connect Password, so set your own in Voicent App > Setup > Options > Control on the gateway computer. Some of the gateway's call flow pages have no password check, so a password alone doesn't protect a gateway that others can reach.

3. Install the server

Download voicent-mcp.exe from the GitHub release page and put it in a folder of your choice. It runs without Deno.

The examples below use C:\voicent-mcp\voicent-mcp.exe. Replace this with your own path, and always use the full path.

Build from source (optional)

If you have the source, you can test it and build it yourself with Deno:

deno task test      # tests against a fake gateway; nothing is dialed
deno task start     # run from source
deno task compile   # build dist/voicent-mcp.exe, which runs without Deno

4. Connect your MCP client

The setup below works when the gateway is on the same machine. Before you connect: with only these settings, the agent can call or text any number, and read and change CRM records. Add the settings in Set your limits to the env section first. The server repeats these warnings in its log each time it starts.

After connecting, ask your agent to list its Voicent tools, and check that only the tools you expect appear.

Claude Code

Add this to .mcp.json in your project folder. In interactive sessions, Claude Code asks you to approve a server from this file before using it. Non-interactive runs, such as claude -p, load it without asking.

{
  "mcpServers": {
    "voicent": {
      "command": "C:\\voicent-mcp\\voicent-mcp.exe",
      "env": {
        "VOICENT_GATEWAY_URL": "http://localhost:8155"
      }
    }
  }
}

Or add it from the command line, for your use only:

claude mcp add --env VOICENT_GATEWAY_URL=http://localhost:8155 --transport stdio voicent -- C:\voicent-mcp\voicent-mcp.exe

Check the connection with claude mcp list, or /mcp inside Claude Code.

Claude Desktop

  1. Open Settings from the Claude menu, select Developer, then click Edit Config. This opens %APPDATA%\Claude\claude_desktop_config.json.
  2. Add the same voicent entry shown above under mcpServers. Keep any other servers already listed there.
  3. Quit Claude Desktop completely and start it again.

If the server doesn't appear, check the logs in %APPDATA%\Claude\logs, starting with mcp.log and mcp-server-voicent.log.

Cursor

Add this to .cursor/mcp.json in your project, or to ~/.cursor/mcp.json to use it in all projects:

{
  "mcpServers": {
    "voicent": {
      "type": "stdio",
      "command": "C:\\voicent-mcp\\voicent-mcp.exe",
      "env": {
        "VOICENT_GATEWAY_URL": "http://localhost:8155"
      }
    }
  }
}

VS Code

Add this to .vscode/mcp.json in your workspace, or to your user mcp.json. VS Code uses servers as the top-level key, not mcpServers.

{
  "servers": {
    "voicent": {
      "type": "stdio",
      "command": "C:\\voicent-mcp\\voicent-mcp.exe",
      "env": {
        "VOICENT_GATEWAY_URL": "http://localhost:8155"
      }
    }
  }
}

Use the MCP: List Servers command to start, restart or view the output of the server.

Other MCP clients

Any client that can start a local MCP server needs the same three things: the command (the full path to voicent-mcp.exe), the environment variables, and a server name. See your client's documentation for its file format. This guide covers local setups only, so a client that can only connect to a server by URL can't use these steps.

If the gateway is on another machine

Set VOICENT_GATEWAY_URL to the gateway's private address, and set VOICENT_PASSWORD to the gateway's Remote Connect Password, set on the gateway computer in Voicent App > Setup > Options > Control. If you use a user's password instead, also set VOICENT_USERNAME to that user's login name. File tools won't work in this setup, because the gateway reads file paths on its own machine.

Don't put passwords in a file you commit to source control. Use the client's own method instead:

5. Tools

Available whenTools
Alwayscall_status, campaign_status, import_status
On unless VOICENT_ALLOW_CALLS=0call_text, call_audio, call_ivr, send_sms, call_remove
On unless VOICENT_ALLOW_CRM=0crm_get_field, crm_add_or_update, crm_set_field, crm_add_note, crm_schedule_callback, crm_notify_agent
Off unless VOICENT_ALLOW_CAMPAIGNS=1campaign_import_list, campaign_upload_audio, campaign_export, campaign_run_autodialer, campaign_run_text, campaign_run_email

With the default settings, 14 of the 20 tools are on: the three status tools, the five call and text tools, and the six CRM tools. Tools that use audio, import or export files also need VOICENT_FILE_ROOT. Check Known limits before relying on call_ivr, campaign_run_email, or CRM lookups by phone number or email.

6. Settings

Set these in the env section of your client's configuration.

VariablePurpose
VOICENT_GATEWAY_URLGateway address. Default: http://localhost:8155
VOICENT_ALLOW_CALLS0 turns off single calls and texts. Default: on
VOICENT_ALLOWED_NUMBERSLimits single calls and texts to these comma-separated numbers. Default: any number. Does not apply to campaigns
VOICENT_ALLOW_CRM0 turns off the CRM tools. Default: on
VOICENT_ALLOW_CAMPAIGNS1 turns on campaigns and list imports. Default: off
VOICENT_FILE_ROOTFolder that audio, import and export files must stay inside. File tools refuse to run without it
VOICENT_PASSWORDThe gateway's Remote Connect Password, needed when the gateway isn't on this machine
VOICENT_USERNAMELogin name, if VOICENT_PASSWORD is a user's password instead of the Remote Connect Password. In cloud-service mode, the account owner uses admin, not an email address
VOICENT_ACCOUNT_IDAccount ID (cc_card_id), needed only for a gateway in cloud-service mode
VOICENT_TIMEOUT_MSRequest timeout in milliseconds. Default: 30000

7. Set your limits before you connect

By default, the agent can call or text any number, and read and change CRM records. Decide what it may do, and add those settings to the env section before you connect.

ToAdd
Limit calls and texts to certain numbers"VOICENT_ALLOWED_NUMBERS": "650-555-0100,650-555-0101"
Turn calls and texts off"VOICENT_ALLOW_CALLS": "0"
Turn the CRM tools off"VOICENT_ALLOW_CRM": "0"
Turn campaigns on"VOICENT_ALLOW_CAMPAIGNS": "1"
Allow audio, import and export files"VOICENT_FILE_ROOT": "C:\\voicent-files"

We recommend turning things on one at a time, and testing each before going further. These steps reduce risk but don't remove it.

Step 1: Test the connection with calls and CRM off

"env": {
  "VOICENT_GATEWAY_URL": "http://localhost:8155",
  "VOICENT_ALLOW_CALLS": "0",
  "VOICENT_ALLOW_CRM": "0"
}

Confirm that only the three status tools appear: call_status, campaign_status and import_status.

Step 2: Allow calls and texts to your own test number

Remove VOICENT_ALLOW_CALLS, and replace YOUR_TEST_NUMBER with a phone you control. Then restart your client or the server.

"env": {
  "VOICENT_GATEWAY_URL": "http://localhost:8155",
  "VOICENT_ALLOWED_NUMBERS": "YOUR_TEST_NUMBER",
  "VOICENT_ALLOW_CRM": "0"
}

Ask your agent to send a short text to that number, then to check the result. After that, ask it to text a second phone you control that isn't on the list, and confirm that the request is refused. Never use someone else's number for this test.

Add numbers only as you need them. Without VOICENT_ALLOWED_NUMBERS, the agent can call or text any number, so leave it out only if that is what you want.

Step 3: Turn on the CRM tools when the agent may read and change customer records

Remove VOICENT_ALLOW_CRM, then restart. Before you do, note how these tools work:

Test first with a record you created for testing.

Step 4: Turn on campaigns only where a full-list send is acceptable

VOICENT_ALLOWED_NUMBERS does not apply to campaigns. A campaign contacts everyone on its list.

"env": {
  "VOICENT_GATEWAY_URL": "http://localhost:8155",
  "VOICENT_ALLOWED_NUMBERS": "YOUR_TEST_NUMBER",
  "VOICENT_ALLOW_CAMPAIGNS": "1",
  "VOICENT_FILE_ROOT": "C:\\voicent-mcp\\files"
}

Keep VOICENT_ALLOWED_NUMBERS from Step 2 until you decide the agent may call any number.

Habits that help

What the server blocks

These limits protect against mistakes through the MCP server. They don't protect a gateway exposed to the network, and they aren't a do-not-call or legal compliance feature.

8. Your legal responsibility

You are responsible for making sure your calls, texts and emails are lawful, including when an AI agent starts them. Nothing in this software or this guide makes your calling legally compliant, and this guide isn't legal advice.

In this setup, the AI agent operates the dialer. This guide isn't about having AI voices talk to the people you call, and we don't promote that use. call_text reads your text to the person called using text-to-speech, so rules on automated or artificial voice calls can apply to it.

9. Known limits

Not included

Known issues

10. Troubleshooting and help

What you seeWhat to check
Call, text or CRM tools are missingCheck that VOICENT_ALLOW_CALLS or VOICENT_ALLOW_CRM isn't set to 0, then restart your client or the server
Campaign tools are missingSet VOICENT_ALLOW_CAMPAIGNS to 1, then restart your client or the server
A call or text to a number is refusedIf VOICENT_ALLOWED_NUMBERS is set, the number must be on it. It must also be a single number in a valid format
A CRM tool finds the wrong customerThere may be duplicate records with that phone number or email. Use the record ID instead
Requests to a gateway on another machine are refusedSet VOICENT_PASSWORD to the gateway's Remote Connect Password, set on the gateway computer in Voicent App > Setup > Options > Control
A file tool refuses to runSet VOICENT_FILE_ROOT, and keep the file inside that folder. The server must run on the gateway machine
The client can't start the serverUse the full path to the .exe, with \\ between folders in JSON, and check the file's syntax
Requests fail or time outCheck that the gateway is running and VOICENT_GATEWAY_URL is correct. Raise VOICENT_TIMEOUT_MS if needed

For licensing and quotes, email sales@voicent.com. For other product help, see Voicent Support. The gateway's own interfaces are described in the developer documentation.