io.github.Ringer/warp
NPM · WARP-MCP · SCANNED AUG 3
SIP trunking, numbers, porting, messaging, billing, and CDR analytics on the Ringer WARP platform
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security80
- No malware found by supply-chain analysis.Pass
- Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree.Partial
- Runs a script at install time (postinstall) that we could not recognise. It may be perfectly ordinary, but we do not read the published tarball, so we cannot say what it does. View diagnostics → Partial
- Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency97
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to Ringer/warp-mcp). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 27 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability81
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 21646 tokens (~160/item across 135 items; 135 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · warp-mcp
claude mcp add ringer-warp -- npx -y warp-mcp
codex mcp add ringer-warp -- npx -y warp-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"ringer-warp": {
"type": "local",
"command": [
"npx",
"-y",
"warp-mcp"
],
"enabled": true
}
}
} openclaw mcp add ringer-warp --command npx --arg -y --arg warp-mcp
mcp_servers:
ringer-warp:
command: "npx"
args: ["-y", "warp-mcp"] {
"mcpServers": {
"ringer-warp": {
"command": "npx",
"args": [
"-y",
"warp-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.
- 2 Aug 26 +53
- Known CVEs: unverified → partial ▲ security
- Provenance: unverified → pass ▲ security
- Install scripts: unverified → partial ▲ security
- Malware scan: unverified → pass ▲ security
- Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
- The scripts that run when this package is installed changed: postinstall security
- The attested source repository moved: Ringer/warp-mcp security
- Stability: unverified → 0.23 ▲ functional
- Maintenance: unverified → pass ▲ functional
- Dependency health: unverified → partial ▲ functional
- License: unverified → pass ▲ functional
- Schema quality: unverified → excellent ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Licence: MIT functional
- 1 Aug 26 −27
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 31 Jul 26 +1
- Malware scan: pass → unverified ▼ security
- Install scripts: unverified → partial ▲ security
- Provenance: unverified → pass ▲ security
- The scripts that run when this package is installed changed: postinstall security
- The attested source repository moved: Ringer/warp-mcp security
- Maintenance: unverified → pass ▲ functional
- License: unverified → pass ▲ functional
- Licence: MIT functional
- 27 Jul 26 51
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Analysed npm/[email protected]
Provenance verified
Ecosystem: npm · Outcome: verified
Reason: verified
- Source repo:
- Ringer/warp-mcp
- Certificate issuer:
- https://token.actions.githubusercontent.com
- Certificate SAN:
- https://github.com/Ringer/warp-mcp/.github/workflows/publish.yml@refs/tags/v1.0.2
- Rekor log index:
- 2084915860
- Predicate type:
- https://slsa.dev/provenance/v1
- Subject digest:
- sha512:b72983e1441c9dab7ac2adf29c971e8d57c5b6a03ec6d41de2cb3cf260b115ccad4d8bc63ac7971093c7baad17210682485b7f58b9988eec9aa7d132c
- Discovery method:
- attestation_endpoint
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| postinstall | unreviewed | node postinstall.js |
Dependencies 94 packages
94 packages in the resolved dependency tree · 94 deprecated · 29 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
port_verify_tin_name Verify TIN and company name match ~121
Verify that a TIN matches the provided company name via IRS TIN-Name matching. Used during the port-in flow to confirm the authorizing entity before submission. See also port_lookup_ein and port_lookup_company_details. Errors: INVALID_REQUEST, INVALID_TIN, COMPANY_NAME_REQUIRED, TINCOMPLY_ERROR, VERIFICATION_FAILED.
| Name | Type | Req | Description |
|---|---|---|---|
| company_name | string | yes | Legal company name to match against the TIN |
| tin | string | yes | TIN/EIN to verify, 9 digits, e.g. 123456789 |
No output schema declared.
No examples provided.
team_create_role Create a custom role ~191
Create a customer-owned role with the given scope set. Scopes must exist in the platform registry (discover them with acct_list_scopes), be non-superadmin, and be held by the caller (no privilege escalation). To start from an existing role's scopes instead, use team_duplicate_role. Requires the team:write scope.
| Name | Type | Req | Description |
|---|---|---|---|
| customer_id | string | yes | Your customer UUID (shown in the WARP portal under Settings) |
| description | string | — | Optional free-text description of the role's purpose |
| display_name | string | yes | Human-readable role name, e.g. 'Billing Viewer' |
| name | string | yes | Machine name for the role (unique within the customer), e.g. 'billing_viewer' |
| scopes | array | yes | Permission scopes the role grants, e.g. ['team:read', 'billing:read']. Use acct_list_scopes to see the full catalog. |
No output schema declared.
No examples provided.
team_delete_role Delete a custom role ~97
Permanently delete a customer-owned role. HIGH IMPACT and irreversible. Fails when the role is still assigned to any user (reassign members via team_update_member_role first) or when it is a system role. Requires the team:write scope.
| Name | Type | Req | Description |
|---|---|---|---|
| customer_id | string | yes | Your customer UUID (shown in the WARP portal under Settings) |
| role_id | string | yes | Role UUID (find it via team_list_roles) |
No output schema declared.
No examples provided.
team_duplicate_role Duplicate a role ~162
Create a new customer-owned role copying the source role's scope set (the source may be a system role). Useful for customizing a system role: duplicate it, then adjust scopes with team_update_role. The caller must hold every copied scope. Requires the team:write scope.
| Name | Type | Req | Description |
|---|---|---|---|
| customer_id | string | yes | Your customer UUID (shown in the WARP portal under Settings) |
| description | string | — | Optional free-text description of the new role |
| display_name | string | yes | Human-readable name for the new role |
| name | string | yes | Machine name for the new role (unique within the customer), e.g. 'support_admin_custom' |
| role_id | string | yes | Source role UUID to copy scopes from (find it via team_list_roles) |
No output schema declared.
No examples provided.
team_get_role Get a role ~93
Get one role (system or customer-owned) with its full scope list. Use to inspect exactly what a role grants before assigning it (team_update_member_role) or editing it (team_update_role). Requires the team:read scope.
| Name | Type | Req | Description |
|---|---|---|---|
| customer_id | string | yes | Your customer UUID (shown in the WARP portal under Settings) |
| role_id | string | yes | Role UUID (find it via team_list_roles) |
No output schema declared.
No examples provided.
team_list_members List team members ~81
List every user holding a role in this customer, alphabetical by email. Use to see who is on the team and which role each member holds, or to find a user UUID for team_update_member_role / team_remove_member. Requires the team:read scope.
| Name | Type | Req | Description |
|---|---|---|---|
| customer_id | string | yes | Your customer UUID (shown in the WARP portal under Settings) |
No output schema declared.
No examples provided.
team_list_roles List roles ~75
List the system roles plus this customer's custom roles. Use to find a role UUID for team_update_member_role, team_get_role, team_update_role, team_duplicate_role, or team_delete_role. Requires the team:read scope.
| Name | Type | Req | Description |
|---|---|---|---|
| customer_id | string | yes | Your customer UUID (shown in the WARP portal under Settings) |
No output schema declared.
No examples provided.
team_remove_member Remove a team member ~118
Remove a user's membership (role assignment) from this customer. HIGH IMPACT: the user immediately loses access and all their sessions are invalidated. You cannot remove yourself. Find the user UUID via team_list_members first. To change a member's permissions instead of removing them, use team_update_member_role. Requires the team:write scope.
| Name | Type | Req | Description |
|---|---|---|---|
| customer_id | string | yes | Your customer UUID (shown in the WARP portal under Settings) |
| user_id | string | yes | User UUID of the team member (find it via team_list_members) |
No output schema declared.
No examples provided.
team_update_member_role Set a member's role ~140
Assign a role (system or customer-owned, never superadmin) to a member of this customer, replacing their current role. The caller must hold every scope the role grants (no privilege escalation). Find user UUIDs via team_list_members and role UUIDs via team_list_roles. Requires the team:write scope.
| Name | Type | Req | Description |
|---|---|---|---|
| customer_id | string | yes | Your customer UUID (shown in the WARP portal under Settings) |
| role_id | string | yes | UUID of the role to assign (from team_list_roles); superadmin roles cannot be assigned |
| user_id | string | yes | User UUID of the team member (find it via team_list_members) |
No output schema declared.
No examples provided.
team_update_role Update a custom role ~178
Update the display name, description, and/or scope set of a customer-owned role. System roles are immutable. HIGH IMPACT when changing scopes: session invalidation fans out to every user holding the role. Only provided fields are changed. Use acct_list_scopes to discover valid scopes. Requires the team:write scope.
| Name | Type | Req | Description |
|---|---|---|---|
| customer_id | string | yes | Your customer UUID (shown in the WARP portal under Settings) |
| description | string | — | New free-text description of the role's purpose |
| display_name | string | — | New human-readable role name |
| role_id | string | yes | Role UUID (find it via team_list_roles) |
| scopes | array | — | Replacement scope set, e.g. ['team:read', 'billing:read']. Replaces the role's entire scope list and invalidates sessions of affected users. |
No output schema declared.
No examples provided.
trunk_add_ip_acl Add a trunk IP ACL entry ~195
Add an IP/netmask to an owned trunk's ACL and sync it to Kamailio, allowing that source IP to send calls. The trunk's auth_type should include IP_ACL (IP_ACL, EITHER, or BOTH — check with trunk_get). Step-up MFA required. Errors: NO_ACTIVE_CUSTOMER, INVALID_ID, NOT_FOUND, INVALID_PAYLOAD, INTERNAL_ERROR.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | — | Free-text label for this ACL entry (e.g. 'HQ PBX') |
| enabled | boolean | — | Whether the entry is active (default true) |
| ip | string | yes | IPv4 address to allow (e.g. 203.0.113.10) |
| netmask | integer | — | CIDR netmask bits, 0-32 (e.g. 32 for a single host) |
| trunk_id | string | yes | Trunk group UUID (find it with trunk_list) |
No output schema declared.
No examples provided.
trunk_create Create a trunk ~309
Create a new trunk group on your account. Enforces your account's allowed number-classes and per-direction capacity ceilings (check acct_get_capacity first). Note: a capacity of 0 means 'direction disabled' — calls in that direction are rejected with 503 + Retry-After. Errors: NO_ACTIVE_CUSTOMER, INVALID_PAYLOAD, VALIDATION_ERROR, INTERNAL_ERROR.
| Name | Type | Req | Description |
|---|---|---|---|
| allowed_number_classes | array | — | Number classes this trunk may carry (must be within the account's allowed classes) |
| auth_type | string | yes | Authentication mode: IP_ACL (source-IP allowlist), DIGEST (SIP username/password), EITHER, or BOTH |
| capacity_channels_inbound | integer | — | Max concurrent inbound channels; 0 disables inbound |
| capacity_channels_outbound | integer | — | Max concurrent outbound channels; 0 disables outbound |
| capacity_cps_inbound | integer | — | Max inbound calls-per-second. 0 is valid and means the direction is disabled (runtime gate returns 503 + Retry-After) |
| capacity_cps_outbound | integer | — | Max outbound calls-per-second; 0 disables outbound |
| description | string | — | Free-text description of the trunk |
| name | string | yes | Trunk name (required) |
| sip_config | object | — | SIP config object persisted as JSONB (e.g. { codecs: [...], dtmf_mode: '...' }). The customer portal only writes codecs and dtmf_mode; other keys are admin-surface. |
No output schema declared.
No examples provided.
trunk_create_credential Create a SIP credential ~122
Create a SIP Digest credential on an owned trunk. The trunk's auth_type must be DIGEST, EITHER, or BOTH (check with trunk_get). The plaintext password is returned exactly once — save it immediately. Step-up MFA required. Errors: INVALID_ID, NO_ACTIVE_CUSTOMER, TRUNK_UNOWNED, VALIDATION_ERROR, INVALID_PAYLOAD, CONFLICT, INTERNAL_ERROR.
| Name | Type | Req | Description |
|---|---|---|---|
| trunk_id | string | yes | Trunk group UUID (find it with trunk_list) |
| username | string | yes | SIP auth username for the new credential (required) |
No output schema declared.
No examples provided.
trunk_create_endpoint Create a trunk endpoint ~245
Add a dispatcher endpoint (SIP destination) to an owned trunk, either as structured host/port/transport or as a raw_uri. Returns HTTP 207 with a warning when the Kamailio sync is deferred. Step-up MFA required. Errors: NO_ACTIVE_CUSTOMER, INVALID_ID, NOT_FOUND, INVALID_PAYLOAD, VALIDATION_ERROR, INTERNAL_ERROR.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | — | Free-text label for the endpoint |
| enabled | boolean | — | Whether the endpoint is active in the dispatcher |
| host | string | — | SIP destination hostname or IP (structured form; mutually alternative to raw_uri) |
| port | integer | — | SIP destination port (e.g. 5060) |
| priority | integer | — | Failover priority (lower is tried first) |
| raw_uri | string | — | Raw SIP URI (alternative to structured host/port/transport, e.g. sip:pbx.example.com:5061;transport=tls) |
| transport | string | — | SIP transport protocol |
| trunk_id | string | yes | Trunk group UUID (find it with trunk_list) |
| weight | integer | — | Load-balancing weight among endpoints of the same priority |
No output schema declared.
No examples provided.
trunk_delete Delete a trunk ~107
Delete an owned trunk. Rejected with CONFLICT when the trunk has live calls (drain first — check trunk_get_throttle_state) or is referenced by CDRs (disable it via trunk_update instead). Run trunk_get_cascade_preview first to see what will be removed. Step-up MFA required. Errors: NO_ACTIVE_CUSTOMER, INVALID_ID, NOT_FOUND, CONFLICT, INTERNAL_ERROR.
| Name | Type | Req | Description |
|---|---|---|---|
| trunk_id | string | yes | Trunk group UUID (find it with trunk_list) |
No output schema declared.
No examples provided.
trunk_delete_credential Delete a SIP credential ~112
Delete a SIP credential and cascade removal from Redis + Kamailio usrloc. Idempotent (returns 204 when already gone). Use trunk_list_credentials first to find the credential id. Step-up MFA required. Errors: INVALID_ID, NO_ACTIVE_CUSTOMER, TRUNK_UNOWNED, NOT_FOUND, INTERNAL_ERROR.
| Name | Type | Req | Description |
|---|---|---|---|
| cred_id | string | yes | SIP credential UUID (find it with trunk_list_credentials) |
| trunk_id | string | yes | Trunk group UUID (find it with trunk_list) |
No output schema declared.
No examples provided.
trunk_delete_endpoint Delete a trunk endpoint ~96
Remove a dispatcher endpoint from an owned trunk and drop it from Kamailio. Use trunk_list_endpoints first to find the endpoint id. Step-up MFA required. Errors: NO_ACTIVE_CUSTOMER, INVALID_ID, NOT_FOUND, INTERNAL_ERROR.
| Name | Type | Req | Description |
|---|---|---|---|
| endpoint_id | integer | yes | Endpoint ID (integer, find it with trunk_list_endpoints) |
| trunk_id | string | yes | Trunk group UUID (find it with trunk_list) |
No output schema declared.
No examples provided.
trunk_delete_ip_acl Delete a trunk IP ACL entry ~101
Remove an IP ACL entry from an owned trunk; that source IP can no longer send calls via IP auth. Use trunk_list_ips first to find the ip_id. Step-up MFA required. Errors: NO_ACTIVE_CUSTOMER, INVALID_ID, NOT_FOUND, INTERNAL_ERROR.
| Name | Type | Req | Description |
|---|---|---|---|
| ip_id | string | yes | IP ACL entry UUID (find it with trunk_list_ips) |
| trunk_id | string | yes | Trunk group UUID (find it with trunk_list) |
No output schema declared.
No examples provided.
trunk_get Get a trunk ~60
Get one trunk group you own, including its IP ACL entries. Use trunk_list first to find the trunk id. Errors: UNAUTHORIZED, INVALID_ID, NOT_FOUND.
| Name | Type | Req | Description |
|---|---|---|---|
| trunk_id | string | yes | Trunk group UUID (find it with trunk_list) |
No output schema declared.
No examples provided.
trunk_get_cascade_preview Preview trunk deletion cascade ~93
Get per-trunk cascade-preview counts (src_ips, tns_routed_here, active_calls, cdr_count) for an owned trunk. Use before trunk_delete to see what would be affected; active_calls is read live from Redis. Errors: NO_ACTIVE_CUSTOMER, INVALID_ID, NOT_FOUND, INTERNAL_ERROR.
| Name | Type | Req | Description |
|---|---|---|---|
| trunk_id | string | yes | Trunk group UUID (find it with trunk_list) |
No output schema declared.
No examples provided.
trunk_get_endpoint Get a trunk endpoint ~84
Get one dispatcher endpoint on an owned trunk. Use trunk_list_endpoints first to find the endpoint id. Errors: NO_ACTIVE_CUSTOMER, INVALID_ID, NOT_FOUND, INTERNAL_ERROR.
| Name | Type | Req | Description |
|---|---|---|---|
| endpoint_id | integer | yes | Endpoint ID (integer, find it with trunk_list_endpoints) |
| trunk_id | string | yes | Trunk group UUID (find it with trunk_list) |
No output schema declared.
No examples provided.
trunk_get_throttle_state Get trunk live throttle state ~89
Get an owned trunk's configured capacity plus live CPS/channel counters. Use to check current load before draining, deleting, or resizing a trunk. On a Redis read failure the counters are null and counters_available=false (still HTTP 200). Errors: INVALID_ID, NO_ACTIVE_CUSTOMER, NOT_FOUND.
| Name | Type | Req | Description |
|---|---|---|---|
| trunk_id | string | yes | Trunk group UUID (find it with trunk_list) |
No output schema declared.
No examples provided.
trunk_list List my trunks ~45
List all of your trunk groups, each with its IP ACL entries. Use this first to find a trunk_id for the other trunk_* tools. Errors: UNAUTHORIZED, INTERNAL_ERROR.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
trunk_list_credential_calls List a credential's active calls ~111
List active SIP dialogs for a credential's AOR. Note: the dialog-tracking store is not yet live, so this currently returns an empty array. Use trunk_list_credentials first to find the credential id. Errors: INVALID_ID, NO_ACTIVE_CUSTOMER, TRUNK_UNOWNED, NOT_FOUND, INTERNAL_ERROR.
| Name | Type | Req | Description |
|---|---|---|---|
| cred_id | string | yes | SIP credential UUID (find it with trunk_list_credentials) |
| trunk_id | string | yes | Trunk group UUID (find it with trunk_list) |
No output schema declared.
No examples provided.
trunk_list_credential_registrations List a credential's live registrations ~116
List the current Kamailio usrloc bindings (live SIP registrations) for a credential's AOR. Use to see which devices are registered, or to find a contact_id for trunk_revoke_registration. Errors: INVALID_ID, NO_ACTIVE_CUSTOMER, TRUNK_UNOWNED, NOT_FOUND, GATEWAY_UNAVAILABLE.
| Name | Type | Req | Description |
|---|---|---|---|
| cred_id | string | yes | SIP credential UUID (find it with trunk_list_credentials) |
| trunk_id | string | yes | Trunk group UUID (find it with trunk_list) |
No output schema declared.
No examples provided.
trunk_list_credentials List SIP credentials ~83
List SIP Digest credentials for an owned trunk (no HA1, no password), each enriched with live registration_count and active_call_count. Use trunk_list first to find the trunk id. Errors: INVALID_ID, NO_ACTIVE_CUSTOMER, TRUNK_UNOWNED, INTERNAL_ERROR.
| Name | Type | Req | Description |
|---|---|---|---|
| trunk_id | string | yes | Trunk group UUID (find it with trunk_list) |
No output schema declared.
No examples provided.
trunk_list_endpoints List trunk endpoints ~73
List the dispatcher endpoints (SIP destinations WARP delivers calls to) for an owned trunk. Use trunk_list first to find the trunk id. Errors: NO_ACTIVE_CUSTOMER, INVALID_ID, NOT_FOUND, INTERNAL_ERROR.
| Name | Type | Req | Description |
|---|---|---|---|
| trunk_id | string | yes | Trunk group UUID (find it with trunk_list) |
No output schema declared.
No examples provided.
trunk_list_ips List trunk IP ACL entries ~81
List all IP ACL entries for an owned trunk. Use to audit which source IPs may send calls, or to find an ip_id for trunk_update_ip_acl / trunk_delete_ip_acl. Errors: NO_ACTIVE_CUSTOMER, INVALID_ID, NOT_FOUND, INTERNAL_ERROR.
| Name | Type | Req | Description |
|---|---|---|---|
| trunk_id | string | yes | Trunk group UUID (find it with trunk_list) |
No output schema declared.
No examples provided.
trunk_revoke_registration Revoke a single SIP registration ~143
Evict one SIP contact binding from Kamailio usrloc for a credential's AOR. Use trunk_list_credential_registrations first to find the contact_id. Step-up MFA required. Errors: INVALID_ID, MISSING_ID, NO_ACTIVE_CUSTOMER, TRUNK_UNOWNED, NOT_FOUND, GATEWAY_UNAVAILABLE.
| Name | Type | Req | Description |
|---|---|---|---|
| contact_id | string | yes | usrloc contact ID of the registration binding to revoke (from trunk_list_credential_registrations) |
| cred_id | string | yes | SIP credential UUID (find it with trunk_list_credentials) |
| trunk_id | string | yes | Trunk group UUID (find it with trunk_list) |
No output schema declared.
No examples provided.
trunk_rotate_credential Rotate a SIP credential's password ~110
Generate a new password + HA1 for a SIP credential (username and realm unchanged). The old password stops working immediately and the new plaintext password is returned exactly once — save it immediately. Step-up MFA required. Errors: INVALID_ID, NO_ACTIVE_CUSTOMER, TRUNK_UNOWNED, NOT_FOUND, INTERNAL_ERROR.
| Name | Type | Req | Description |
|---|---|---|---|
| cred_id | string | yes | SIP credential UUID (find it with trunk_list_credentials) |
| trunk_id | string | yes | Trunk group UUID (find it with trunk_list) |
No output schema declared.
No examples provided.
trunk_update Update a trunk ~303
Update an owned trunk's settings (name, auth type, capacities, SIP config). The trunk being updated is excluded from the account capacity-sum check. POI assignment is silently ignored (admin-only). Step-up MFA required. Use trunk_list first to find the trunk id. Errors: NO_ACTIVE_CUSTOMER, INVALID_ID, NOT_FOUND, INVALID_PAYLOAD, VALIDATION_ERROR, INTERNAL_ERROR.
| Name | Type | Req | Description |
|---|---|---|---|
| allowed_number_classes | array | — | Number classes this trunk may carry |
| auth_type | string | — | Authentication mode: IP_ACL, DIGEST, EITHER, or BOTH |
| capacity_channels_inbound | integer | — | Max concurrent inbound channels; 0 disables inbound |
| capacity_channels_outbound | integer | — | Max concurrent outbound channels; 0 disables outbound |
| capacity_cps_inbound | integer | — | Max inbound calls-per-second; 0 disables inbound (503 + Retry-After at runtime) |
| capacity_cps_outbound | integer | — | Max outbound calls-per-second; 0 disables outbound |
| description | string | — | Free-text description of the trunk |
| name | string | — | Trunk name |
| sip_config | object | — | SIP config object persisted as JSONB (e.g. { codecs: [...], dtmf_mode: '...' }). The customer portal only writes codecs and dtmf_mode; other keys are admin-surface. |
| trunk_id | string | yes | Trunk group UUID (find it with trunk_list) |
No output schema declared.
No examples provided.
trunk_update_credential Enable or disable a SIP credential ~140
Toggle a SIP credential's enabled flag. Disabling drops the Redis HA1 + AOR and tears down active registrations (in-progress dialogs are NOT terminated); enabling restores them. Use trunk_list_credentials first to find the credential id. Step-up MFA required. Errors: INVALID_ID, NO_ACTIVE_CUSTOMER, TRUNK_UNOWNED, INVALID_PAYLOAD, NOT_FOUND, INTERNAL_ERROR.
| Name | Type | Req | Description |
|---|---|---|---|
| cred_id | string | yes | SIP credential UUID (find it with trunk_list_credentials) |
| enabled | boolean | — | true to enable the credential, false to disable it |
| trunk_id | string | yes | Trunk group UUID (find it with trunk_list) |
No output schema declared.
No examples provided.
trunk_update_endpoint Update a trunk endpoint ~270
Update a dispatcher endpoint on an owned trunk (structured host/port/transport fields or a raw_uri). Returns HTTP 207 with a warning when the Kamailio sync is deferred. Use trunk_list_endpoints first to find the endpoint id. Step-up MFA required. Errors: NO_ACTIVE_CUSTOMER, INVALID_ID, NOT_FOUND, INVALID_PAYLOAD, VALIDATION_ERROR, INTERNAL_ERROR.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | — | Free-text label for the endpoint |
| enabled | boolean | — | Whether the endpoint is active in the dispatcher |
| endpoint_id | integer | yes | Endpoint ID (integer, find it with trunk_list_endpoints) |
| host | string | — | SIP destination hostname or IP (structured form; mutually alternative to raw_uri) |
| port | integer | — | SIP destination port (e.g. 5060) |
| priority | integer | — | Failover priority (lower is tried first) |
| raw_uri | string | — | Raw SIP URI (alternative to structured host/port/transport, e.g. sip:pbx.example.com:5061;transport=tls) |
| transport | string | — | SIP transport protocol |
| trunk_id | string | yes | Trunk group UUID (find it with trunk_list) |
| weight | integer | — | Load-balancing weight among endpoints of the same priority |
No output schema declared.
No examples provided.
trunk_update_ip_acl Update a trunk IP ACL entry ~132
Update the description and/or enabled flag of an owned trunk's IP ACL entry. Use trunk_list_ips first to find the ip_id. Step-up MFA required. Errors: NO_ACTIVE_CUSTOMER, INVALID_ID, NOT_FOUND, INVALID_PAYLOAD, INTERNAL_ERROR.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | — | New free-text label for the ACL entry |
| enabled | boolean | — | true to enable the ACL entry, false to disable it |
| ip_id | string | yes | IP ACL entry UUID (find it with trunk_list_ips) |
| trunk_id | string | yes | Trunk group UUID (find it with trunk_list) |
No output schema declared.
No examples provided.
warp_status WARP MCP status ~62
Check warp-mcp configuration and API connectivity. Use this first when any other tool returns an auth error, or to confirm the server is set up correctly. Reports the server version, API base URL, whether an API key is configured, and whether the API accepts it.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.