---
title: "Bandwidth MCP server for AI agents - actionlake"
description: "Give Claude 518 Bandwidth actions through one MCP server: number management, hosted numbers. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/bandwidth
updated: 2026-10-23
---

Connectors · Email & messaging

# Bandwidth MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Bandwidth and the rest of your systems. It gives your agent 518 Bandwidth actions (285 reads, 171 writes and 62 that wait for a confirmation) and holds the Bandwidth credential itself, so the agent never does. It paces Bandwidth's limits and records every call.

[Connect Bandwidth free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "bandwidth.voice.list_calls",
  intent: "check which Bandwidth account is connected"
}
# Get Calls · read · 1 upstream call
```

- 518 actions in one signed file
- 285 read look, never change
- 171 write create and update
- 62 wait for a yes destructive, confirmed first

Set up

## Connect Bandwidth in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect Bandwidth.
   OAuth 2.0, client credentials. Paste the app's client id and secret; actionlake fetches and renews the token, and nobody has to sign in. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `client_id` Bandwidth API client ID (Bandwidth App > Account > API Credentials)
   - `client_secret` Bandwidth API client secret paired with the client ID (shown once, when the credentials are created)
   - `account_id` Your Bandwidth account id
   ```
   account { op: "connections.requirements", service: "bandwidth" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "bandwidth.voice.list_calls" }
   # get calls · read · 1 upstream call
   check { action: "bandwidth.voice.create_call", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

Bandwidth at a glance

**Sign-in**

OAuth 2.0, client credentials. Paste the app's client id and secret; actionlake fetches and renews the token, and nobody has to sign in.

**You provide**

`client_id` `client_secret`

**Setup fields**

`account_id`

**Limits we pace to**

50 calls a second, per connection

**API covered**

Bandwidth: messaging (SMS/MMS, multi-channel), voice calls, conferences, recordings and transcriptions, MFA codes, phone number lookup, number ordering, porting and hosted numbers, 10DLC brands and campaigns, toll-free verification, short codes, 911 emergency provisioning, insights, users and account management API Bandwidth per-product OpenAPI specs (dev.bandwidth.com/spec, fetched 2026-10-23)`api.bandwidth.com`

**Built from**

Bandwidth's documentation, read 23 October 2026[dev.bandwidth.com](https://dev.bandwidth.com/spec/accounts.yml) [dev.bandwidth.com](https://dev.bandwidth.com/spec/active-call-info.yml) [dev.bandwidth.com](https://dev.bandwidth.com/spec/applications.yml)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

278 of 285 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

3, so ask can line Bandwidth up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in Bandwidth.

518 actions in 41 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **285** read look, never change
- **171** write create and update
- **62** destructive wait for a confirmation

1. ### Number management
   34
   19 read · 12 write · 3 destructive
   Associate outbound numbers with a location · Bulk Phone Number Update · Get Phone Number Reputation Details · Create Group
2. ### Hosted numbers
   33
   22 read · 10 write · 1 destructive
   Create External TN Order · Create Hosted Messaging Order · Import Voice Tn order · Create Operator
3. ### Product settings
   31
   17 read · 11 write · 3 destructive
   Add uctrunking product hosted feature settings · Create Origination Settings for a Location · Create Termination Settings for a Location · Create Realm
4. ### Emergency
   30
   13 read · 11 write · 6 destructive
   Add Address · Add Endpoints · Add Notification · Add Notification Group
5. ### End users
   28
   15 read · 10 write · 3 destructive
   Attach Requirements Package Asset · Create Address · Create Compliance End User · Create or Clone Requirements Package
6. ### Voice
   24
   14 read · 6 write · 4 destructive
   Get Calls · Create Call · Get Call State Information · Update Call
7. ### Tendlc
   23
   11 read · 10 write · 2 destructive
   Create or refresh a brand · Create or import a new campaign · Get brand provisioning history · Get brand vettings
8. ### My numbers
   21
   21 read · 0 write · 0 destructive
   List disconnected phone numbers · Get disconnected phone number count · List phone numbers · List phone numbers

**33 more areas · 294 actions**

- Insights **20**
- Portins **20**
- Accounts **19**
- Voice apps **17**
- Bulk portins **16**
- Users **14**
- Line features **12**
- LRN config **12**
- Short codes **12**
- Stir shaken **12**
- Number orders **11**
- Numbers V1 **10**
- Psap alerts **10**
- Subscriptions **10**
- Client credentials **9**
- Toll free verification **9**
- Voice config **9**
- Messaging transfers **8**
- Applications **7**
- Call intelligence **7**
- Portouts **6**
- Voice integrations **6**
- Voice numbers **6**
- Billing models **5**
- Messaging **5**
- Voice debug logs **5**
- BRTC **4**
- Mfa **3**
- Number lookup **3**
- Voice whitelist **3**
- Active calls **2**
- Audit log **1**
- Cnam **1**

Top actions

## The Bandwidth API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 22 of Bandwidth's 22 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `bandwidth.voice.list_calls` Get Calls | Get Calls. | read | `comm.call.list` 44 connectors |
| `bandwidth.messaging.list_messages` List Messages | List Messages. | read | `comm.sms.list` 19 connectors |
| `bandwidth.users.list_users` List Users | List Users. | read | `identity.user.list` 474 connectors |
| `bandwidth.voice.create_call` Create Call | Create Call. | write | `comm.call.create` 38 connectors |
| `bandwidth.messaging.create_message` Create Message | Create Message. | write | `comm.sms.send` 26 connectors |
| `bandwidth.users.create_user` Create User | Create User. | write | `identity.user.create` 262 connectors |
| `bandwidth.voice.list_call_recordings` List Call Recordings | List Call Recordings. | read | `comm.call_recording.list` 9 connectors |
| `bandwidth.voice.list_account_call_recordings` Get Call Recordings | Get Call Recordings. | read | `comm.call_recording.list` 9 connectors |
| `bandwidth.users.list_roles` List Roles | List Roles. | read | `identity.role.list` 184 connectors |
| `bandwidth.voice_numbers.list_voice_capable_phone_numbers` List Phone Numbers with Voice Features | List Phone Numbers with Voice Features. | read | `comm.phone_number.list` 23 connectors |
| `bandwidth.voice.delete_recording` Delete Recording | Delete Recording. | destructive | `comm.call_recording.delete` 9 connectors |
| `bandwidth.audit_log.list_events` List Events | List Events. | read | `identity.audit_event.list` 51 connectors |

Try it

## Prompts to paste into Claude.

Each one names the Bandwidth actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Who has access in Bandwidth? List every user and their role.
   calls `bandwidth.users.list_users`
2. Write write
   Create Call in Bandwidth. Show me exactly what you will send before you save it.
   calls `bandwidth.voice.create_call`

Governance for Bandwidth

## Destructive actions wait for a yes.

62 Bandwidth actions are destructive. The first 10:

- Delete Recording `bandwidth.voice.delete_recording`
- Delete Client Credentials `bandwidth.client_credentials.delete_client_credentials`
- Delete a brand from the account. `bandwidth.tendlc.delete_brand`
- Delete Media `bandwidth.messaging.delete_media`
- Delete Location `bandwidth.accounts.delete_location`
- Deactivate a campaign `bandwidth.tendlc.deactivate_campaign`
- Delete Sub-Account `bandwidth.accounts.delete_sub_account`
- Delete Recording Media `bandwidth.voice.delete_recording_media`
- Delete Real-time Transcription `bandwidth.voice.delete_real_time_transcription`
- Delete Transcription `bandwidth.voice.delete_recording_transcription`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do bandwidth.voice.delete_recording confirm_policy: **human**

Delete Recording?

**intent:** the user asked me to delete Recording

run suspended · waiting for a named person · key _bandwidth-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "bandwidth-agent",
  allowed_actions: ["bandwidth.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "bandwidth.voice.delete_recording", approver: "lead@example.com" },
    { match: "bandwidth.client_credentials.delete_client_credentials", approver: "lead@example.com" },
    { match: "bandwidth.tendlc.delete_brand", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Bandwidth only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What Bandwidth costs on actionlake.

Every Bandwidth action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call Bandwidth refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 518 Bandwidth actions
- 518 actions page each page of a long list is one call
- 278 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Bandwidth action.

518 actions by area: the id your agent calls, what it does, and its effect.

**Number management 34**

- `bandwidth.number_management.add_sip_peer_associated_outbound_numbers` Associate outbound numbers with a location write
- `bandwidth.number_management.bulk_phone_number_update` Bulk Phone Number Update write
- `bandwidth.number_management.check_numbers_status` Get Phone Number Reputation Details read
- `bandwidth.number_management.create_group` Create Group write
- `bandwidth.number_management.create_move_tns_bulk_order` Create Move TNs Bulk Order write
- `bandwidth.number_management.create_move_tns_order` Move Telephone Numbers write
- and 28 more in this area

**Hosted numbers 33**

- `bandwidth.hosted_numbers.create_external_tn_order` Create External TN Order write
- `bandwidth.hosted_numbers.create_import_messaging_phone_number_order` Create Hosted Messaging Order write
- `bandwidth.hosted_numbers.create_import_voice_tn_order` Import Voice Tn order write
- `bandwidth.hosted_numbers.create_operators` Create Operator write
- `bandwidth.hosted_numbers.create_remove_imported_phone_number_order` Create Order to Remove Hosted Messaging write
- `bandwidth.hosted_numbers.create_remove_imported_voice_tn_order` Create Remove Imported Voice Tn Order write
- and 27 more in this area

**Product settings 31**

- `bandwidth.product_settings.create_account_uc_trunking_hosted_settings` Add uctrunking product hosted feature settings write
- `bandwidth.product_settings.create_location_origination_settings` Create Origination Settings for a Location write
- `bandwidth.product_settings.create_location_termination_settings` Create Termination Settings for a Location write
- `bandwidth.product_settings.create_realm` Create Realm write
- `bandwidth.product_settings.create_sip_credentials` Create SIP Credentials write
- `bandwidth.product_settings.create_sip_credentials_on_realm` Create SIP Credentials On Realm write
- and 25 more in this area

**Emergency 30**

- `bandwidth.emergency.add_address` Add Address write
- `bandwidth.emergency.add_endpoints` Add Endpoints write
- `bandwidth.emergency.add_notification` Add Notification write
- `bandwidth.emergency.add_notification_group` Add Notification Group write
- `bandwidth.emergency.create_end_user_mapping` Create End User Mapping write
- `bandwidth.emergency.delete_address` Delete Address destructive
- and 24 more in this area

**End users 28**

- `bandwidth.end_users.attach_requirements_package_asset` Attach Requirements Package Asset write
- `bandwidth.end_users.create_address` Create Address write
- `bandwidth.end_users.create_compliance_end_user` Create Compliance End User write
- `bandwidth.end_users.create_requirements_package` Create or Clone Requirements Package write
- `bandwidth.end_users.delete_all_telephone_numbers` Remove all Telephone Numbers on a single Requirements Package destructive
- `bandwidth.end_users.delete_requirements_package` Delete Requirements Package destructive
- and 22 more in this area

**Voice 24**

- `bandwidth.voice.create_call` Create Call write
- `bandwidth.voice.get_call_state` Get Call State Information read
- `bandwidth.voice.list_calls` Get Calls read
- `bandwidth.voice.update_call` Update Call write
- `bandwidth.voice.delete_real_time_transcription` Delete Real-time Transcription destructive
- `bandwidth.voice.delete_recording` Delete Recording destructive
- and 18 more in this area

**Tendlc 23**

- `bandwidth.tendlc.create_brand` Create or refresh a brand write
- `bandwidth.tendlc.create_campaign` Create or import a new campaign write
- `bandwidth.tendlc.get_brand_history` Get brand provisioning history read
- `bandwidth.tendlc.get_brand_vettings` Get brand vettings read
- `bandwidth.tendlc.deactivate_campaign` Deactivate a campaign destructive
- `bandwidth.tendlc.delete_brand` Delete a brand from the account. destructive
- and 17 more in this area

**My numbers 21**

- `bandwidth.my_numbers.get_disconnected_tns` List disconnected phone numbers read
- `bandwidth.my_numbers.get_total_number_disconnects` Get disconnected phone number count read
- `bandwidth.my_numbers.list_tns_by_get` List phone numbers read
- `bandwidth.my_numbers.list_tns_by_post` List phone numbers read
- `bandwidth.my_numbers.read_inservice_tn` Get in-service phone number read
- `bandwidth.my_numbers.read_inservice_tns` List in-service phone numbers read
- and 15 more in this area

**Insights 20**

- `bandwidth.insights.create_report` Create Report write
- `bandwidth.insights.create_report_results` Generate Report Results write
- `bandwidth.insights.get_average_duration_data` List Average Call Durations read
- `bandwidth.insights.get_call_data` List Call Data read
- `bandwidth.insights.get_calls_per_second_data` List Calls Per Second read
- `bandwidth.insights.get_completed_calls_data` List Completed Calls read
- and 14 more in this area

**Portins 20**

- `bandwidth.portins.create_csr_order` Create CSR order write
- `bandwidth.portins.create_portin` Create port-in order write
- `bandwidth.portins.get_portin_statistics` Retrieve port-in order statistics read
- `bandwidth.portins.get_tn_port_out_passcode` Retrieve tn port-out passcode read
- `bandwidth.portins.delete_portin` Delete port-in order destructive
- `bandwidth.portins.delete_portin_loa_metadata` Delete port-in LOA file metadata destructive
- and 14 more in this area

**Accounts 19**

- `bandwidth.accounts.create_location` Create Location write
- `bandwidth.accounts.create_location_associated_outbound_numbers` Associate Phone Numbers with a Location write
- `bandwidth.accounts.create_sub_account` Create Sub-Account write
- `bandwidth.accounts.get_account_total_seats` Retrieve the total number of seats on account read
- `bandwidth.accounts.delete_location` Delete Location destructive
- `bandwidth.accounts.delete_location_associated_outbound_numbers` Delete Number from Location destructive
- and 13 more in this area

**Voice apps 17**

- `bandwidth.voice_apps.create_ip_access_list` Create an IP access list write
- `bandwidth.voice_apps.create_sip_domain` Create an SIP domain write
- `bandwidth.voice_apps.create_sip_user` Create an SIP user write
- `bandwidth.voice_apps.list_ip_access_lists` List IP access lists read
- `bandwidth.voice_apps.delete_ip_access_list` Delete an IP access list destructive
- `bandwidth.voice_apps.delete_sip_domain` Delete an SIP domain destructive
- and 11 more in this area

**Bulk portins 16**

- `bandwidth.bulk_portins.create_bulk_note` Create bulk port-in order note write
- `bandwidth.bulk_portins.create_bulk_portin` Create bulk port-in order write
- `bandwidth.bulk_portins.get_bulk_history` Retrieve bulk port-in order history read
- `bandwidth.bulk_portins.list_bulk_child_orders` List bulk port-in child orders read
- `bandwidth.bulk_portins.delete_bulk_order` Delete bulk port-in order destructive
- `bandwidth.bulk_portins.list_bulk_loas` List bulk port-in order loa files read
- and 10 more in this area

**Users 14**

- `bandwidth.users.create_user` Create User write
- `bandwidth.users.get_user` Get User read
- `bandwidth.users.list_users` List Users read
- `bandwidth.users.update_user` Update User write
- `bandwidth.users.activate_user_mfa_factor` Activate User MFA factor write
- `bandwidth.users.create_user_audit_log_report` Create User Audit Log Report write
- and 8 more in this area

**Line features 12**

- `bandwidth.line_features.create_dlda_order` Create DLDA order write
- `bandwidth.line_features.create_lidb_order` Create LIDB order write
- `bandwidth.line_features.create_tn_option_order` Create TN Options order write
- `bandwidth.line_features.get_order_history` Retrieve TN Options order history read
- `bandwidth.line_features.get_tn_option_order` Retrieve TN Options order read
- `bandwidth.line_features.get_tn_option_orders` Retrieve list TN Options orders read
- and 6 more in this area

**LRN config 12**

- `bandwidth.lrn_config.bulk_create_lrns` Add multiple LRNs to the account at once. write
- `bandwidth.lrn_config.create_lrn` Add the LRN to the account. write
- `bandwidth.lrn_config.create_lrn_config` Create a new LRN Configuration. write
- `bandwidth.lrn_config.list_latas` List all LATAs on the account, and which products are enabled on each LATA. read
- `bandwidth.lrn_config.delete_lrn` Remove the LRN from the account. destructive
- `bandwidth.lrn_config.delete_lrn_config` Delete an LRN Configuration. destructive
- and 6 more in this area

**Short codes 12**

- `bandwidth.short_codes.create_short_code_campaign` Create a new short code campaign for an account. write
- `bandwidth.short_codes.create_short_code_campaign_webhook_subscription` Create a webhook subscription for short code campaigns on an account. write
- `bandwidth.short_codes.get_all_short_codes_by_account` Retrieve short codes by account. read
- `bandwidth.short_codes.get_short_code_campaign_history` Retrieve the history of a short code campaign associated with an account. read
- `bandwidth.short_codes.delete_short_code_campaign_webhook_subscription` Delete a webhook subscription for short code campaigns on an account. destructive
- `bandwidth.short_codes.get_short_code_by_account_id_country_and_short_code` Retrieve short code details. read
- and 6 more in this area

**Stir shaken 12**

- `bandwidth.stir_shaken.create_stir_shaken_profile` Create Profile write
- `bandwidth.stir_shaken.get_encryption_key` Get Certificate for Encryption read
- `bandwidth.stir_shaken.list_stir_shaken_certificate_spcs` List Certificate SPCs read
- `bandwidth.stir_shaken.list_stir_shaken_certificates` List Certificates read
- `bandwidth.stir_shaken.delete_stir_shaken_certificate` Delete Certificate destructive
- `bandwidth.stir_shaken.delete_stir_shaken_profile` Delete Profile destructive
- and 6 more in this area

**Number orders 11**

- `bandwidth.number_orders.create_new_phone_number_order` Create New Number Orders write
- `bandwidth.number_orders.get_available_npa_nxx` List Available NPA-NXX Inventory [NANP] read
- `bandwidth.number_orders.get_order_history` Get New Number Order History read
- `bandwidth.number_orders.list_cities` List Cities [NANP] read
- `bandwidth.number_orders.get_covered_rate_center` Get Covered Rate Center read
- `bandwidth.number_orders.get_new_phone_number_order` Get New Number Order Details read
- and 5 more in this area

**Numbers V1 10**

- `bandwidth.numbers_v1.delete_campaign` Delete Campaign destructive
- `bandwidth.numbers_v1.delete_emergency_notification_recipient` Delete emergency notification recipient destructive
- `bandwidth.numbers_v1.resend2fa_email` Request to resend 2FA email write
- `bandwidth.numbers_v1.revet_campaign` Revet Campaign write
- `bandwidth.numbers_v1.delete_import_tn_order_loas_file` Removing Import Tn order loas file destructive
- `bandwidth.numbers_v1.delete_portin_loa_file` Delete port-in loa file destructive
- and 4 more in this area

**Psap alerts 10**

- `bandwidth.psap_alerts.create_alert` Create Alert write
- `bandwidth.psap_alerts.create_incident` Create Incident write
- `bandwidth.psap_alerts.list_incidents` List Incidents read
- `bandwidth.psap_alerts.list_triggers` List Triggers read
- `bandwidth.psap_alerts.delete_alert` Delete Alert destructive
- `bandwidth.psap_alerts.delete_incident` Delete Incident destructive
- and 4 more in this area

**Subscriptions 10**

- `bandwidth.subscriptions.create_subscription` Create Subscription write
- `bandwidth.subscriptions.list_notifications` List Notifications read
- `bandwidth.subscriptions.list_subscription_definitions` List Subscription Definitions read
- `bandwidth.subscriptions.list_subscriptions` List Subscriptions read
- `bandwidth.subscriptions.delete_subscription` Delete Subscription destructive
- `bandwidth.subscriptions.get_notification` Get Notification read
- and 4 more in this area

**Client credentials 9**

- `bandwidth.client_credentials.create_client_credentials` Create Client Credentials write
- `bandwidth.client_credentials.get_client_credentials` Get Client Credentials read
- `bandwidth.client_credentials.list_client_credentials` List Client Credentials read
- `bandwidth.client_credentials.update_client_credentials` Update Client Credentials write
- `bandwidth.client_credentials.create_client_secret` Create Client Secret write
- `bandwidth.client_credentials.delete_client_credentials` Delete Client Credentials destructive
- and 3 more in this area

**Toll free verification 9**

- `bandwidth.toll_free_verification.create_webhook_subscription` Create Webhook Subscription write
- `bandwidth.toll_free_verification.get_toll_free_verification_status` Get Toll-Free Verification Status read
- `bandwidth.toll_free_verification.list_toll_free_use_cases` List Toll-Free Use Cases read
- `bandwidth.toll_free_verification.list_webhook_subscriptions` List Webhook Subscriptions read
- `bandwidth.toll_free_verification.delete_verification_request` Delete a Toll-Free Verification Submission destructive
- `bandwidth.toll_free_verification.delete_webhook_subscription` Delete Webhook Subscription destructive
- and 3 more in this area

**Voice config 9**

- `bandwidth.voice_config.add_numbers_to_voice_configuration_package` Add Numbers to Voice Configuration Package write
- `bandwidth.voice_config.create_voice_configuration_package` Create Voice Configuration Package write
- `bandwidth.voice_config.list_analytic_engines` List Analytic Engines read
- `bandwidth.voice_config.list_voice_configuration_packages` List Voice Configuration Packages read
- `bandwidth.voice_config.delete_voice_configuration_package` Delete Voice Configuration Package destructive
- `bandwidth.voice_config.get_voice_configuration_package` Get Voice Configuration Package read
- and 3 more in this area

**Messaging transfers 8**

- `bandwidth.messaging_transfers.create_messaging_portouts_webhook_subscription` Create a new webhook subscription write
- `bandwidth.messaging_transfers.get_messaging_transfer` Get Messaging Transfer Request read
- `bandwidth.messaging_transfers.get_messaging_transfers` Get Messaging Transfer Requests read
- `bandwidth.messaging_transfers.list_messaging_portouts_webhook_subscriptions` List all the webhook subscriptions registered for this account read
- `bandwidth.messaging_transfers.approve_ordeny_messaging_portout_request` Approve or Deny Messaging Transfer Request destructive
- `bandwidth.messaging_transfers.delete_messaging_portouts_webhook_subscription` Delete a webhook subscription destructive
- and 2 more in this area

**Applications 7**

- `bandwidth.applications.create_application` Create application write
- `bandwidth.applications.get_application` Retrieve application read
- `bandwidth.applications.list_applications` List applications read
- `bandwidth.applications.list_associated_locations` List associated locations (SIP Peers) read
- `bandwidth.applications.delete_application` Delete application destructive
- `bandwidth.applications.patch_application` Patch application write
- and 1 more in this area

**Call intelligence 7**

- `bandwidth.call_intelligence.bulk_create_call_intelligence_settings` Bulk Provision Call Intelligence Settings write
- `bandwidth.call_intelligence.get_bulk_call_intelligence_settings_request` Get Bulk Provision Request Status read
- `bandwidth.call_intelligence.list_bulk_call_intelligence_settings_requests` List Bulk Call Intelligence Provisioning Requests read
- `bandwidth.call_intelligence.list_call_intelligence_settings` List Call Intelligence Settings read
- `bandwidth.call_intelligence.delete_call_intelligence_settings` Delete Call Intelligence Settings destructive
- `bandwidth.call_intelligence.get_call_intelligence_settings` Get Call Intelligence Settings read
- and 1 more in this area

**Portouts 6**

- `bandwidth.portouts.create_lsr_order` Create LSR order write
- `bandwidth.portouts.get_all_port_outs_by_account_id_and_range` Get Port Out Range read
- `bandwidth.portouts.get_lsr_order` Retrieve LSR order read
- `bandwidth.portouts.list_port_outs` List port-out requests read
- `bandwidth.portouts.get_port_out` Fetching port-out order status read
- `bandwidth.portouts.update_lsr_order` Update LSR order write

**Voice integrations 6**

- `bandwidth.voice_integrations.create_voice_integration` Create Voice Integration write
- `bandwidth.voice_integrations.get_voice_integration` Get Voice Integration by Voice Integration Id read
- `bandwidth.voice_integrations.list_voice_integrations` List All Voice Integrations read
- `bandwidth.voice_integrations.search_voice_integrations` Search Voice Integrations by name, type, or external id. read
- `bandwidth.voice_integrations.delete_voice_integration` Delete Voice Integration by Voice Integration Id destructive
- `bandwidth.voice_integrations.update_voice_integration` Update Voice Integration by Voice Integration Id write

**Voice numbers 6**

- `bandwidth.voice_numbers.bulk_provision_voice_phone_numbers` Bulk provision voice phone numbers write
- `bandwidth.voice_numbers.get_phone_number_details` Get Phone Number with Voice Features read
- `bandwidth.voice_numbers.list_voice_capable_phone_numbers` List Phone Numbers with Voice Features read
- `bandwidth.voice_numbers.search_voice_phone_numbers` Search Phone Numbers read
- `bandwidth.voice_numbers.get_bulk_voice_phone_numbers` Get bulk provision request details and current status. read
- `bandwidth.voice_numbers.patch_voice_capable_phone_numbers` Update Phone Numbers write

**Billing models 5**

- `bandwidth.billing_models.create_billing_model` Create a new billing model write
- `bandwidth.billing_models.get_billing_model` Retrieve a specific billing model for a specific account read
- `bandwidth.billing_models.list_billing_models` Retrieve billing models for a specific account read
- `bandwidth.billing_models.update_billing_model` Update a billing model write
- `bandwidth.billing_models.delete_billing_model` Delete a billing model destructive

**Messaging 5**

- `bandwidth.messaging.create_message` Create Message write
- `bandwidth.messaging.create_multi_channel_message` Create Multi-Channel Message write
- `bandwidth.messaging.list_media` List Media read
- `bandwidth.messaging.list_messages` List Messages read
- `bandwidth.messaging.delete_media` Delete Media destructive

**Voice debug logs 5**

- `bandwidth.voice_debug_logs.create_debug_log_export` Create a debug log export write
- `bandwidth.voice_debug_logs.get_debug_log` Get a single debug log event read
- `bandwidth.voice_debug_logs.list_debug_log_exports` List debug log exports read
- `bandwidth.voice_debug_logs.list_debug_logs` List debug logs read
- `bandwidth.voice_debug_logs.get_debug_log_export` Get a debug log export read

**BRTC 4**

- `bandwidth.brtc.create_endpoint` Create Endpoint write
- `bandwidth.brtc.delete_endpoint` Delete Endpoint destructive
- `bandwidth.brtc.get_endpoint` Get Endpoint read
- `bandwidth.brtc.list_endpoints` List Endpoints read

**Mfa 3**

- `bandwidth.mfa.generate_messaging_code` Messaging Authentication Code write
- `bandwidth.mfa.generate_voice_code` Voice Authentication Code write
- `bandwidth.mfa.verify_code` Verify Authentication Code write

**Number lookup 3**

- `bandwidth.number_lookup.create_async_bulk_lookup` Create Asynchronous Bulk Number Lookup write
- `bandwidth.number_lookup.create_sync_lookup` Create Synchronous Number Lookup write
- `bandwidth.number_lookup.get_async_bulk_lookup` Get Asynchronous Bulk Number Lookup read

**Voice whitelist 3**

- `bandwidth.voice_whitelist.get_all_trunks_whitelists` Get All Trunks IP Whitelist Addresses read
- `bandwidth.voice_whitelist.get_trunk_whitelists` Get Trunk IP Whitelist Addresses read
- `bandwidth.voice_whitelist.update_trunk_whitelist` Update Trunk IP Whitelist Addresses write

**Active calls 2**

- `bandwidth.active_calls.get_risk_score` Retrieve the risk scores for a specific phone call read
- `bandwidth.active_calls.get_risk_score_without_call_id` Retrieve the risk scores for a specific phone call using to and from numbers and start tim read

**Audit log 1**

- `bandwidth.audit_log.list_events` List Events read

**Cnam 1**

- `bandwidth.cnam.get_cnam` Retrieve Caller Name Information read

This index shows a sample of each area. All 518 actions, with their inputs and prices, are in the [catalogue](https://actionlake.com/console/catalogue), which a free sandbox key can search.

Questions

## The Bandwidth MCP server, answered.

**Is there a Bandwidth MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 518 Bandwidth actions across number management, hosted numbers, product settings and emergency, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Bandwidth.

**What do I need to connect Bandwidth?**

Bandwidth API client ID (Bandwidth App > Account > API Credentials) and Bandwidth API client secret paired with the client ID (shown once, when the credentials are created). Plus your account id. The free call account { op: "connections.requirements", service: "bandwidth" } lists exactly what to paste.

**Can an AI agent delete or change things in Bandwidth?**

Only if its key allows it, and only with an explicit confirmation. 62 Bandwidth actions are destructive, including delete Recording, delete Client Credentials and delete a brand from the account.. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my Bandwidth API limit?**

actionlake paces every call to the limits in the Bandwidth service file: 50 calls a second per connection. Repeated reads are answered from cache (278 Bandwidth actions can be), which never reaches Bandwidth.

**What does a Bandwidth action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (518 Bandwidth actions page). Cache hits, searches, dry runs and calls Bandwidth refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which Bandwidth API does it cover?**

The Bandwidth: messaging (SMS/MMS, multi-channel), voice calls, conferences, recordings and transcriptions, MFA codes, phone number lookup, number ordering, porting and hosted numbers, 10DLC brands and campaigns, toll-free verification, short codes, 911 emergency provisioning, insights, users and account management API Bandwidth per-product OpenAPI specs (dev.bandwidth.com/spec, fetched 2026-10-23) at api.bandwidth.com. It is built from Bandwidth's documentation as read on 23 October 2026. 518 actions in 41 areas, each one in the signed service file (version 1.0.0).

**Does actionlake keep my Bandwidth data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Bandwidth credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like Bandwidth

Shares the most action names with

- [Plivo 10](https://actionlake.com/connectors/plivo)
- [SignalWire 9](https://actionlake.com/connectors/signalwire)
- [Telnyx 8](https://actionlake.com/connectors/telnyx)
- [Vonage Communications APIs 8](https://actionlake.com/connectors/vonage-communications-apis)
- [8x8 7](https://actionlake.com/connectors/8x8)
- [CallTrackingMetrics 7](https://actionlake.com/connectors/calltrackingmetrics)

Joins with, on shared entities

- [Follow Up Boss 3](https://actionlake.com/connectors/follow-up-boss)
- [Microsoft Dynamics 365 2](https://actionlake.com/connectors/microsoft-dynamics-365)
- [3CX 2](https://actionlake.com/connectors/3cx)
- [Close 2](https://actionlake.com/connectors/close)
- [Pipedrive 2](https://actionlake.com/connectors/pipedrive)
- [Outreach 2](https://actionlake.com/connectors/outreach)

Browse

- [All Email & messaging connectors](https://actionlake.com/connectors/category/email-and-messaging)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Bandwidth; the name is the vendor's own. Counts are from the Bandwidth service file, version 1.0.0.

## Give your agent Bandwidth today.

[Connect Bandwidth free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/bandwidth
More: https://actionlake.com/llms.txt
