Skip to content
Agentmart
Submit a tool

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

IndexedMITLocal (stdio)★ 19
Write a review

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.

We use your email only for this newsletter. Privacy

About

Inspect and control Asterisk (AMI) and FreeSWITCH (ESL) PBX servers from your AI assistant.

Use cases: voice-agents, monitoring-observability

No 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_channels
  • asterisk_dialplan
  • asterisk_endpoints
  • asterisk_extension_list
  • asterisk_hangup_preview
  • asterisk_status
  • asterisk_trunk_list
  • freeswitch_channels
  • freeswitch_hangup_preview
  • freeswitch_registrations
  • freeswitch_sofia_status
  • freeswitch_status

Write 4 · Create, change, send or run things.

  • asterisk_cli
  • asterisk_extension_create
  • asterisk_trunk_create
  • freeswitch_api

Delete 6 · Delete, drop, revoke or wipe things.

  • asterisk_extension_delete
  • asterisk_hangup
  • asterisk_originate
  • asterisk_trunk_delete
  • freeswitch_hangup
  • freeswitch_originate

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • ASTERISK_AMI_PASSWORD
  • FREESWITCH_ESL_PASSWORD

Other settings (environment variables or headers).

  • ASTERISK_AMI_HOST
  • ASTERISK_AMI_PORT
  • ASTERISK_AMI_TLS
  • ASTERISK_AMI_USERNAME
  • FREESWITCH_ESL_HOST
  • FREESWITCH_ESL_PORT
  • PBX_MCP_ALLOW_WRITE
  • PBX_MCP_TIMEOUT_MS

Network hosts it talks to 3

  • github.com · found in code
  • glama.ai · found in code
  • ictinnovations.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-only

    Every 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 command

    Run 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-only

    Dump 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-only

    PJSIP 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 data

    Delete an extension created by asterisk_extension_create. Only 'mcp-' extensions in the managed file can be deleted.

  • asterisk_extension_listList managed SIP extensionsread-only

    List the extensions created by asterisk_extension_create. Passwords are never shown.

  • asterisk_hangupHang up a channelcan change or delete data

    Terminate 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-only

    Show 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 data

    Originate 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-only

    Core 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 trunk

    Create 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 data

    Delete a trunk created by asterisk_trunk_create. Only 'mcp-' trunks in the managed file can be deleted.

  • asterisk_trunk_listList managed SIP trunksread-only

    List the trunks created by asterisk_trunk_create (only 'mcp-' objects in the managed file).

  • freeswitch_apiRun a FreeSWITCH API command

    Run 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-only

    Every 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 data

    Terminate 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-only

    Show 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 data

    Originate 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-only

    Registered 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-only

    State 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-only

    Core 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
First seen
Oct 24, 2026
Last checked
Oct 26, 2026

More from ictinnovations

Cite this page

Pbx MCP. Agent Mart. https://agentmart.dev/connectors/ictinnovations-pbx-mcp (last updated 2026-10-26)