Skip to content
VS Code

pbx mcp for VS Code

io.github.ictinnovations/pbx-mcp

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

client:VS Code transport:stdio runtime:npm

Install pbx mcp in VS Code

.vscode/mcp.json

{
  "inputs": [
    {
      "type": "promptString",
      "id": "asterisk-ami-host",
      "description": "ASTERISK_AMI_HOST",
      "password": true
    },
    {
      "type": "promptString",
      "id": "asterisk-ami-port",
      "description": "ASTERISK_AMI_PORT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "asterisk-ami-username",
      "description": "ASTERISK_AMI_USERNAME",
      "password": true
    },
    {
      "type": "promptString",
      "id": "asterisk-ami-password",
      "description": "ASTERISK_AMI_PASSWORD",
      "password": true
    },
    {
      "type": "promptString",
      "id": "asterisk-ami-tls",
      "description": "ASTERISK_AMI_TLS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "freeswitch-esl-host",
      "description": "FREESWITCH_ESL_HOST",
      "password": true
    },
    {
      "type": "promptString",
      "id": "freeswitch-esl-port",
      "description": "FREESWITCH_ESL_PORT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "freeswitch-esl-password",
      "description": "FREESWITCH_ESL_PASSWORD",
      "password": true
    },
    {
      "type": "promptString",
      "id": "pbx-mcp-allow-write",
      "description": "PBX_MCP_ALLOW_WRITE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "pbx-mcp-timeout-ms",
      "description": "PBX_MCP_TIMEOUT_MS",
      "password": true
    }
  ],
  "servers": {
    "pbx-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "pbx-mcp"
      ],
      "env": {
        "ASTERISK_AMI_HOST": "${input:asterisk-ami-host}",
        "ASTERISK_AMI_PORT": "${input:asterisk-ami-port}",
        "ASTERISK_AMI_USERNAME": "${input:asterisk-ami-username}",
        "ASTERISK_AMI_PASSWORD": "${input:asterisk-ami-password}",
        "ASTERISK_AMI_TLS": "${input:asterisk-ami-tls}",
        "FREESWITCH_ESL_HOST": "${input:freeswitch-esl-host}",
        "FREESWITCH_ESL_PORT": "${input:freeswitch-esl-port}",
        "FREESWITCH_ESL_PASSWORD": "${input:freeswitch-esl-password}",
        "PBX_MCP_ALLOW_WRITE": "${input:pbx-mcp-allow-write}",
        "PBX_MCP_TIMEOUT_MS": "${input:pbx-mcp-timeout-ms}"
      }
    }
  }
}

VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs

pbx mcp in other clients