Pbx MCP
Inspect and control Asterisk (AMI) and FreeSWITCH (ESL) PBX servers from your AI assistant.
Connector by ictinnovations · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/ictinnovations-pbx-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: voice-agents, monitoring-observability
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 12 read · 4 write · 6 delete
- Secrets
- 2 (API keys, tokens or passwords)
- Install scripts
- None found
- Runs as
- Node.js package
Tools by what they do 22
Read from the source code; the running server may list different tools.
Read 12 · Look things up without changing anything.
asterisk_channelsasterisk_dialplanasterisk_endpointsasterisk_extension_listasterisk_hangup_previewasterisk_statusasterisk_trunk_listfreeswitch_channelsfreeswitch_hangup_previewfreeswitch_registrationsfreeswitch_sofia_statusfreeswitch_status
Write 4 · Create, change, send or run things.
asterisk_cliasterisk_extension_createasterisk_trunk_createfreeswitch_api
Delete 6 · Delete, drop, revoke or wipe things.
asterisk_extension_deleteasterisk_hangupasterisk_originateasterisk_trunk_deletefreeswitch_hangupfreeswitch_originate
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
ASTERISK_AMI_PASSWORDFREESWITCH_ESL_PASSWORD
Other settings (environment variables or headers).
ASTERISK_AMI_HOSTASTERISK_AMI_PORTASTERISK_AMI_TLSASTERISK_AMI_USERNAMEFREESWITCH_ESL_HOSTFREESWITCH_ESL_PORTPBX_MCP_ALLOW_WRITEPBX_MCP_TIMEOUT_MS
Network hosts it talks to 3
github.com· found in codeglama.ai· found in codeictinnovations.com· found in code
Files it touches
- Any path the agent passes to its tools
Tools (22)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
asterisk_channelsList active Asterisk channelsread-onlyEvery channel currently up on the PBX, with caller ID, state, bridge, duration and the dialplan location it is sitting in. This is the tool for 'what calls are live right now'.
asterisk_cliRun an Asterisk CLI commandRun a command through the Asterisk CLI and return its raw output. In the default read-only mode only inspection commands such as 'core show', 'pjsip show' and 'queue show' are permitted. Set PBX_MCP_ALLOW_WRITE=true to lift that restriction.
asterisk_dialplanShow dialplanread-onlyDump the dialplan for a context, or for one extension within a context. Useful for tracing where a call would go before placing it.
asterisk_endpointsList PJSIP endpoints and registration stateread-onlyPJSIP endpoints with their device state and how many contacts are registered. Use this to answer 'is extension 1001 registered' or 'which phones are offline'. Falls back to chan_sip peers on older installations.
asterisk_extension_createCreate a SIP extension (registerable endpoint)Create a PJSIP endpoint that a phone registers to (endpoint, aor and auth, prefixed 'mcp-'). This is not a dialplan extension. The SIP username is mcp-<number>. The password is generated server-side and returned once, in this response only; it cannot be retrieved later. The context must be on PBX_MCP_CONTEXT_ALLOW. Fails if the number exists. Use dry_run=true to preview the config without touching Asterisk.
asterisk_extension_deleteDelete a managed SIP extensioncan change or delete dataDelete an extension created by asterisk_extension_create. Only 'mcp-' extensions in the managed file can be deleted.
asterisk_extension_listList managed SIP extensionsread-onlyList the extensions created by asterisk_extension_create. Passwords are never shown.
asterisk_hangupHang up a channelcan change or delete dataTerminate an active channel by name. Get exact channel names from asterisk_channels first. Only available when PBX_MCP_ALLOW_WRITE=true.
asterisk_hangup_previewPreview what a hangup would dropread-onlyShow which live channels a hangup would affect, without touching them. Takes the same channel argument as asterisk_hangup and reports the exact match plus any near misses, so you can see the blast radius before dropping a call. Always available, including in read-only mode.
asterisk_originatePlace a callcan change or delete dataOriginate a call from a channel to an extension in a context. This places a real call and costs real money on a live trunk. Only available when PBX_MCP_ALLOW_WRITE=true.
asterisk_statusAsterisk statusread-onlyCore status of the Asterisk server: version, uptime, active calls and calls processed. Use this first to confirm the PBX is reachable before running other Asterisk tools.
asterisk_trunk_createCreate an IP-authenticated SIP trunkCreate a PJSIP trunk (endpoint, aor and identify, all prefixed 'mcp-') to a peer that Asterisk recognises by source IP. The host must be on PBX_MCP_TRUNK_ALLOW and the context on PBX_MCP_CONTEXT_ALLOW. Fails if the name exists. Reloads res_pjsip and verifies the endpoint, rolling back on failure. Use dry_run=true to see the exact config without touching Asterisk. Codecs: ulaw, alaw, g722, g729, opus.
asterisk_trunk_deleteDelete a managed SIP trunkcan change or delete dataDelete a trunk created by asterisk_trunk_create. Only 'mcp-' trunks in the managed file can be deleted.
asterisk_trunk_listList managed SIP trunksread-onlyList the trunks created by asterisk_trunk_create (only 'mcp-' objects in the managed file).
freeswitch_apiRun a FreeSWITCH API commandRun a command through the FreeSWITCH event socket and return its raw output. In the default read-only mode only inspection commands such as 'status', 'show' and 'sofia status' are permitted. Set PBX_MCP_ALLOW_WRITE=true to lift that restriction.
Show 7 more tools
freeswitch_channelsList active FreeSWITCH channelsread-onlyEvery call leg currently up on the switch, as returned by 'show channels'. This is the tool for 'what calls are live right now' on FreeSWITCH.
freeswitch_hangupHang up a call by UUIDcan change or delete dataTerminate an active call leg by its UUID. Get exact UUIDs from freeswitch_channels first. Only available when PBX_MCP_ALLOW_WRITE=true.
freeswitch_hangup_previewPreview what a hangup would dropread-onlyShow which live call legs a hangup would affect, without touching them. Takes the same UUID argument as freeswitch_hangup and reports the matching channel plus the leg it is bridged to, so you can see the blast radius first. Always available, including in read-only mode.
freeswitch_originatePlace a callcan change or delete dataOriginate a call from a dial string to an extension. This places a real call and costs real money on a live trunk. Only available when PBX_MCP_ALLOW_WRITE=true.
freeswitch_registrationsList SIP registrationsread-onlyRegistered SIP users on a Sofia profile, with contact URI, user agent and expiry. Use this to answer 'is this extension registered' or 'which devices dropped off'.
freeswitch_sofia_statusSofia SIP profile and gateway statusread-onlyState of every Sofia SIP profile and gateway, including whether trunks are registered upstream. This is where to look when outbound calls fail but the switch itself is healthy.
freeswitch_statusFreeSWITCH statusread-onlyCore status of the FreeSWITCH server: version, uptime, current and maximum sessions. Use this first to confirm the switch is reachable before running other FreeSWITCH tools.
Signals
- Stars
- 19
- Forks
- 14
- Open issues
- 0
- Last commit
- Oct 9, 2026 (20 days ago)
- Last release
- Oct 26, 2026 (3 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
io.github.ictinnovations/pbx-mcp- Version
- 0.1.4
- Auth
- API key
- Packages
- npm pbx-mcp
- License
- MIT
- Repository
- github.com/ictinnovations/pbx-mcp
- Website
- ictinnovations.com
- First seen
- Oct 24, 2026
- Last checked
- Oct 26, 2026
More from ictinnovations
- 0.568score
Ictfax MCP
ictinnovations
List and track faxes on ICTFax, and send faxes when writes are enabled, over ICTCore REST.
ConnectorAFreshness: ALocal★ 17Claude Code +5 - 0.568score
Ictexam MCP
ictinnovations
Read exams, gradebooks and item analysis; parse papers with AI and publish exams.
ConnectorAFreshness: ALocal★ 17Claude Code +5 - 0.567score
Ictcontact MCP
ictinnovations
Monitor ICTContact / ICTDialer outbound campaigns, and start and stop them when writes are on.
ConnectorAFreshness: ALocal★ 16Claude Code +5 - 0.567score
Ictdialer MCP
ictinnovations
Monitor ICTDialer outbound auto-dialer campaigns, and start and stop them when writes are on.
ConnectorAFreshness: ALocal★ 16Claude Code +5 - 0.567score
Ictbroadcast MCP
ictinnovations
Monitor ICTBroadcast outbound campaigns, and start and stop them when writes are on.
ConnectorAFreshness: ALocal★ 16Claude Code +5 - 0.567score
Ictpbx MCP
ictinnovations
Read ICTPBX state: extensions, DID numbers, SIP trunks, tenants and live PBX statistics.
ConnectorAFreshness: ALocalRead-only★ 16Claude Code +5
Cite this page
Pbx MCP. Agent Mart. https://agentmart.dev/connectors/ictinnovations-pbx-mcp (last updated 2026-10-26)