Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.werebear73/sipnav-mcp

NUGET · WARETECH.SIPNAVMCP · SCANNED SEP 20

MCP server for the SIPNAV VOIP switch.

0 this week 73 Trust /100
Trust breakdown (7 categories)

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 → Why this is hard to score →

Supply Chain Security100
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • No production dependencies, so there is no dependency health to assess. View diagnostics → Pass
Provenance & Transparency6
Schema Quality & AI Usability75
  • AI-judged instruction clarity (good).Pass
  • Tool/resource definitions use about 5168 tokens (~57/item across 90 items; 90 tools + 0 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management83
  • Stability observed for 25 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
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 6 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "user_permission_remove" implies "remove" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 90 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the io.github.werebear73/sipnav-mcp server?

io.github.werebear73/sipnav-mcp runs locally as a NuGet package, launched with dnx Waretech.SipnavMcp@0.1.3 --yes. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.

nuget · Waretech.SipnavMcp

# add to Claude Code
claude mcp add werebear73-sipnav-mcp -- dnx Waretech.SipnavMcp@0.1.3 --yes
// .cursor/mcp.json
{
  "mcpServers": {
    "werebear73-sipnav-mcp": {
      "command": "dnx",
      "args": [
        "Waretech.SipnavMcp@0.1.3",
        "--yes"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "werebear73-sipnav-mcp": {
      "command": "dnx",
      "args": [
        "Waretech.SipnavMcp@0.1.3",
        "--yes"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add werebear73-sipnav-mcp -- dnx Waretech.SipnavMcp@0.1.3 --yes
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "werebear73-sipnav-mcp": {
      "type": "local",
      "command": [
        "dnx",
        "Waretech.SipnavMcp@0.1.3",
        "--yes"
      ],
      "enabled": true
    }
  }
}
# ~/.hermes/config.yaml
mcp_servers:
  werebear73-sipnav-mcp:
    command: "dnx"
    args: ["Waretech.SipnavMcp@0.1.3", "--yes"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "werebear73-sipnav-mcp": {
      "Transport": "stdio",
      "Command": "dnx",
      "Arguments": [
        "Waretech.SipnavMcp@0.1.3",
        "--yes"
      ]
    }
  }
}
// mcp.json
{
  "mcpServers": {
    "werebear73-sipnav-mcp": {
      "command": "dnx",
      "args": [
        "Waretech.SipnavMcp@0.1.3",
        "--yes"
      ]
    }
  }
}
Changelog

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.

  • 20 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

  • 19 Sept 26 −3
    • Stability: pass → 0.80 functional
  • 18 Sept 26 0
    • Stability: 0.97 → pass security
  • 17 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 15 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.

  • 13 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

  • 12 Sept 26 −3
    • Stability: pass → 0.80 functional
  • 11 Sept 26 0
    • Stability: 0.97 → pass security
Diagnostics

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 20 Sept 2026 · Analysed nuget/Waretech.SipnavMcp@0.1.3

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem nuget
Reason Signature present, unreadable

Background: How many MCP packages publish verified provenance →

Dependencies 0 packages
Packages resolved 0
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 90 exposed · ~5,168 tokens

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. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
account_carriers_list ~52

List carriers for a specific account with detailed data.

NameTypeReqDescription
account_idintegeryesAccount ID
pageinteger|nullPage number
per_pageinteger|nullItems per page

No output schema declared.

No examples provided.

account_hosts_create ~82

Create a new account host endpoint. Requires account_id and ip_addr.

NameTypeReqDescription
json_bodystringyesJSON object. Required: account_id (int), ip_addr (string). Optional: port, enabled (0/1), bypass_media, b2bua, grp, mask, tech_prefix, limit_cps, limit_sessions, type, endpoint_name

No output schema declared.

No examples provided.

account_hosts_delete ~31

Delete an account host by its ah_id.

NameTypeReqDescription
idstringyesAccount host ID (ah_id)

No output schema declared.

No examples provided.

account_hosts_get ~32

Retrieve a specific account host by its ah_id.

NameTypeReqDescription
idstringyesAccount host ID (ah_id)

No output schema declared.

No examples provided.

account_hosts_list ~65

List account hosts with pagination. Filter by account_id.

NameTypeReqDescription
account_idinteger|nullFilter by account ID
pageinteger|nullPage number (default: 1)
per_pageinteger|nullItems per page (default: 15)

No output schema declared.

No examples provided.

account_hosts_update ~76

Update an existing account host.

NameTypeReqDescription
idstringyesAccount host ID (ah_id)
json_bodystringyesJSON object with fields to update: ip_addr, port, enabled, bypass_media, b2bua, grp, mask, tech_prefix, limit_cps, limit_sessions, type, endpoint_name

No output schema declared.

No examples provided.

account_rate_deck_download ~47

Get download link for an account rate deck file.

NameTypeReqDescription
idintegeryesRate deck ID
localinteger1 for local, 0 for international

No output schema declared.

No examples provided.

account_rate_deck_list ~77

Get account rate decks. Filter by local/international and account_id.

NameTypeReqDescription
account_idinteger|nullFilter by account ID
enabledinteger|nullFilter enabled (1) or disabled (0) rate decks
localinteger|null1 for local, 0 for international rate decks

No output schema declared.

No examples provided.

account_rate_deck_lookup ~103

Find destination pricing rows in an account rate deck CSV (for example, South Africa).

NameTypeReqDescription
account_idintegeryesAccount ID
destination_querystringyesDestination search text (for example: South Africa)
enabledintegerFilter enabled (1) or disabled (0) rate decks
localinteger1 for local, 0 for international
max_resultsintegerMaximum matching rows to return

No output schema declared.

No examples provided.

account_rate_deck_process ~70

Initiate processing of an uploaded account rate deck CSV file.

NameTypeReqDescription
json_bodystringyesJSON object with processing parameters. Required: carrier_id, account_id, rdId, local, restrict_areas, maxEffectiveStart, effectiveStart, effectiveEnd, filename, type, fieldsmap

No output schema declared.

No examples provided.

account_rate_deck_upload ~85

Upload a CSV file for account rate deck. Provide a local file path to the CSV file (max 2MB).

NameTypeReqDescription
account_idintegeryesAccount ID to associate the rate deck with
file_pathstringyesAbsolute path to the CSV file on the local filesystem
localintegeryes1 for local, 0 for international

No output schema declared.

No examples provided.

accounts_create ~62

Create a new account. Requires account_name and customer_id at minimum.

NameTypeReqDescription
json_bodystringyesJSON object with account fields. Required: account_name, customer_id. Optional: status, limit_cps, limit_sessions, international, block_wireless, etc.

No output schema declared.

No examples provided.

accounts_get ~24

Retrieve a single account by ID.

NameTypeReqDescription
idintegeryesAccount ID

No output schema declared.

No examples provided.

accounts_list ~115

List accounts with pagination. System/platform admins see all accounts, others see only allowed accounts.

NameTypeReqDescription
columnsstring|nullComma-separated columns to return
orderstring|nullSort order: asc or desc (default: desc)
pageinteger|nullPage number (default: 1)
per_pageinteger|nullItems per page (default: 100)
sortstring|nullSort column: account_id, account_name, limit_cps, limit_sessions, international

No output schema declared.

No examples provided.

accounts_update ~39

Update an existing account by ID.

NameTypeReqDescription
idintegeryesAccount ID
json_bodystringyesJSON object with account fields to update

No output schema declared.

No examples provided.

call_restrictions_history ~55

Retrieve call restriction change history. Supports paging via per_page + page_token.

NameTypeReqDescription
page_tokenstring|nullOpaque pagination cursor from a previous response
per_pageinteger|nullItems per page

No output schema declared.

No examples provided.

call_restrictions_num_create ~290

Create a number-based call restriction. Parameters are sent as query parameters. Dates are ISO-8601 (e.g. 2026-05-30T00:00:00Z). Known Delta API limitation: restriction_start must be in the future — the server rejects today/now and effectively forces a next-day floor (issue #24). To start a restriction today, create it with a next-day start, then call call_restrictions_num_update to backdate restriction_start to the true effective time (the update endpoint has no such restriction).

NameTypeReqDescription
account_idintegeryesAccount ID the restriction applies to
carrier_idintegeryesCarrier ID the restriction applies to
dst_numberstringyesDestination number to restrict
notestring|nullFree-text note (optional). Delta API caps this at 100 characters; longer values are rejected (issue #25) — keep it concise.
priorityintegeryesPriority (lower applies first)
restriction_endstringyesRestriction end (ISO-8601 date-time)
restriction_startstringyesRestriction start (ISO-8601 date-time). Delta API requires a future value; same-day/now is rejected (issue #24).
src_match_typeintegeryesSource match type
src_numberstring|nullSource number (optional)

No output schema declared.

No examples provided.

call_restrictions_num_disable ~67

Disable (deactivate) a number-based call restriction by ID. This is the removal operation — the API has no hard delete.

NameTypeReqDescription
idintegeryesRestriction ID
platform_idinteger|nullPlatform ID (optional; only for non-default platforms)

No output schema declared.

No examples provided.

call_restrictions_num_get ~32

Retrieve a single number-based call restriction by ID.

NameTypeReqDescription
idintegeryesRestriction ID

No output schema declared.

No examples provided.

call_restrictions_num_list ~117

List number-based call restrictions. Supports paging via per_page + page_token (an opaque cursor returned by a prior call).

NameTypeReqDescription
account_idinteger|nullFilter by account ID
carrier_idinteger|nullFilter by carrier ID
dst_numberstring|nullFilter by destination number
page_tokenstring|nullOpaque pagination cursor from a previous response
per_pageinteger|nullItems per page
src_numberstring|nullFilter by source number

No output schema declared.

No examples provided.

call_restrictions_num_update ~258

Update a number-based call restriction (parameters sent as query params). IMPORTANT: the API applies an update only when the FULL field set is supplied — a partial update (restriction_id plus a few fields) returns success but silently changes nothing. Pass restriction_id together with priority, carrier_id, account_id, src_match_type, dst_number, restriction_start, restriction_end (and src_number/note if used), carrying over the current values for any field you are not changing. Tip: call call_restrictions_num_get first to read current values.

NameTypeReqDescription
account_idinteger|nullAccount ID
carrier_idinteger|nullCarrier ID
dst_numberstring|nullDestination number
notestring|nullFree-text note (max 100 chars; #25)
priorityinteger|nullPriority
restriction_endstring|nullRestriction end (ISO-8601 date-time)
restriction_idintegeryesID of the restriction to update
restriction_startstring|nullRestriction start (ISO-8601 date-time)
src_match_typeinteger|nullSource match type
src_numberstring|nullSource number

No output schema declared.

No examples provided.

call_restrictions_ocn_create ~144

Create an OCN-based call restriction. Parameters are sent as query parameters. Dates are ISO-8601.

NameTypeReqDescription
account_idintegeryesAccount ID the restriction applies to
carrier_idintegeryesCarrier ID the restriction applies to
dst_ocnstringyesDestination OCN
notestring|nullFree-text note (optional; max 100 chars; #25)
restriction_endstringyesRestriction end (ISO-8601 date-time)
restriction_startstringyesRestriction start (ISO-8601 date-time)
src_ocnstringyesSource OCN

No output schema declared.

No examples provided.

call_restrictions_ocn_disable ~50

Disable (deactivate) an OCN-based call restriction by ID. This is the removal operation — the API has no hard delete.

NameTypeReqDescription
idintegeryesRestriction ID

No output schema declared.

No examples provided.

call_restrictions_ocn_get ~34

Retrieve a single OCN-based call restriction by ID.

NameTypeReqDescription
idintegeryesRestriction ID

No output schema declared.

No examples provided.

call_restrictions_ocn_list ~114

List OCN-based call restrictions. Supports paging via per_page + page_token.

NameTypeReqDescription
account_idinteger|nullFilter by account ID
carrier_idinteger|nullFilter by carrier ID
dst_ocninteger|nullFilter by destination OCN
page_tokenstring|nullOpaque pagination cursor from a previous response
per_pageinteger|nullItems per page
src_ocninteger|nullFilter by source OCN

No output schema declared.

No examples provided.

call_restrictions_ocn_update ~229

Update an OCN-based call restriction (parameters sent as query params). IMPORTANT: the API applies an update only when the FULL field set is supplied — a partial update returns success but silently changes nothing. Pass restriction_id together with carrier_id, account_id, src_ocn, dst_ocn, restriction_start, restriction_end (and note if used), carrying over the current values for any field you are not changing. Tip: call call_restrictions_ocn_get first to read current values.

NameTypeReqDescription
account_idinteger|nullAccount ID
carrier_idinteger|nullCarrier ID
dst_ocnstringyesDestination OCN
notestring|nullFree-text note (max 100 chars; #25)
restriction_endstring|nullRestriction end (ISO-8601 date-time)
restriction_idintegeryesID of the restriction to update
restriction_startstring|nullRestriction start (ISO-8601 date-time)
src_ocnstringyesSource OCN

No output schema declared.

No examples provided.

carrier_account_disable ~26

Disable a carrier-account relationship.

NameTypeReqDescription
idintegeryesCarrier-account relationship ID

No output schema declared.

No examples provided.

carrier_account_enable ~44

Enable a carrier-account relationship.

NameTypeReqDescription
json_bodystringyesJSON object with carrier_id, account_id, and optional fields like limit_cps, limit_sessions, priority

No output schema declared.

No examples provided.

carrier_accounts_list ~26

List accounts for a specific carrier.

NameTypeReqDescription
carrier_idintegeryesCarrier ID

No output schema declared.

No examples provided.

carrier_gateway_create ~46

Create a new carrier gateway.

NameTypeReqDescription
json_bodystringyesJSON object with gateway fields. Required: carrier_id, ip_addr. Optional: port, enabled, description, etc.

No output schema declared.

No examples provided.

carrier_gateway_delete ~29

Delete a carrier gateway by ID.

NameTypeReqDescription
idstringyesCarrier gateway ID (cg_id)

No output schema declared.

No examples provided.

carrier_gateway_get ~30

Retrieve a specific carrier gateway by ID.

NameTypeReqDescription
idstringyesCarrier gateway ID (cg_id)

No output schema declared.

No examples provided.

carrier_gateway_list ~50

List carrier gateways with pagination.

NameTypeReqDescription
carrier_idinteger|nullFilter by carrier ID
pageinteger|nullPage number
per_pageinteger|nullItems per page

No output schema declared.

No examples provided.

carrier_gateway_update ~42

Update an existing carrier gateway.

NameTypeReqDescription
idstringyesCarrier gateway ID (cg_id)
json_bodystringyesJSON object with fields to update

No output schema declared.

No examples provided.

carrier_rate_deck_download ~76

Download a carrier rate deck file. The API returns a signed URL on an internal host that external automation often cannot reach, so this tool follows the URL server-side and returns the CSV content directly.

NameTypeReqDescription
idintegeryesRate deck ID
localinteger1 for local, 0 for international

No output schema declared.

No examples provided.

carrier_rate_deck_failures ~88

Download the over-ceiling/failed rows from a processed carrier rate deck. Failures are per-deck, not per-carrier: pass the crd_id returned by carrier_rate_deck_process or carrier_rate_deck_list.

NameTypeReqDescription
crd_idintegeryesCRD ID (rate deck ID) returned by carrier_rate_deck_process or carrier_rate_deck_list

No output schema declared.

No examples provided.

carrier_rate_deck_list ~65

Get current carrier rate deck details.

NameTypeReqDescription
carrier_idinteger|nullFilter by carrier ID
enabledinteger|nullFilter enabled (1) or disabled (0)
localinteger|null1 for local, 0 for international

No output schema declared.

No examples provided.

carrier_rate_deck_process ~67

Initiate processing of an uploaded carrier rate deck CSV file.

NameTypeReqDescription
json_bodystringyesJSON object with processing parameters. Required: carrier_id, crd_id, local, max_rate, restrict_areas, effectiveStart, effectiveEnd, negative, filename, fieldsmap

No output schema declared.

No examples provided.

carrier_rate_deck_status ~32

Check the status of an uploaded carrier rate deck.

NameTypeReqDescription
carrier_idinteger|nullCarrier ID

No output schema declared.

No examples provided.

carrier_rate_deck_upload ~70

Upload a CSV file for carrier rate deck.

NameTypeReqDescription
carrier_idintegeryesCarrier ID to associate the rate deck with
file_pathstringyesAbsolute path to the CSV file on the local filesystem
localintegeryes1 for local, 0 for international

No output schema declared.

No examples provided.

carriers_create ~63

Create a new carrier. Requires carrier_name and customer_id.

NameTypeReqDescription
json_bodystringyesJSON object. Required: carrier_name, customer_id. Optional: carrier_account_number, carrier_group, status, cps_limit, session_limit, international, billing_time_zone, etc.

No output schema declared.

No examples provided.

carriers_get ~26

Get details for a specific carrier by ID.

NameTypeReqDescription
idintegeryesCarrier ID

No output schema declared.

No examples provided.

carriers_list ~65

List carriers with pagination and detailed data for each carrier.

NameTypeReqDescription
orderstring|nullSort order: asc or desc
pageinteger|nullPage number
per_pageinteger|nullItems per page
sortstring|nullSort column

No output schema declared.

No examples provided.

carriers_update ~39

Update an existing carrier by ID.

NameTypeReqDescription
idintegeryesCarrier ID
json_bodystringyesJSON object with carrier fields to update

No output schema declared.

No examples provided.

cdr_search ~254

Search Call Detail Records (CDRs). The API caps the window at 24 hours. All arguments are optional filters; omitted ones are not sent. Dates are ISO-8601 (e.g. 2026-05-30T00:00:00Z).

NameTypeReqDescription
account_idstring|nullAccount ID to filter by
carrier_idstring|nullCarrier ID to filter by. Known limitation: the Delta API currently ignores this filter and returns platform-wide results regardless (server-side issue #26).
dst_numberstring|nullDestination number
end_timestring|nullWindow end (ISO-8601 date-time)
limitinteger|nullMaximum number of records to return
lrn_numberstring|nullLRN number to search for
max_durationinteger|nullMaximum call duration in seconds
min_durationinteger|nullMinimum call duration in seconds
search_completedinteger|nullFilter by completion status (1 = completed, 0 = not completed)
src_numberstring|nullSource number
start_datestring|nullWindow start (ISO-8601 date-time)

No output schema declared.

No examples provided.

companies_get ~24

Retrieve a single company by ID.

NameTypeReqDescription
idintegeryesCompany ID

No output schema declared.

No examples provided.

companies_get_balance ~26

Get the balance for a specific company.

NameTypeReqDescription
idintegeryesCompany ID

No output schema declared.

No examples provided.

companies_list ~62

List companies with pagination and detailed data.

NameTypeReqDescription
orderstring|nullSort order: asc or desc
pageinteger|nullPage number
per_pageinteger|nullItems per page
sortstring|nullSort column

No output schema declared.

No examples provided.

companies_names ~21

Get a simple list of company names (id and name only).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

companies_update ~38

Update a company by ID.

NameTypeReqDescription
idintegeryesCompany ID
json_bodystringyesJSON object with company fields to update

No output schema declared.

No examples provided.

Common questions

What is the io.github.werebear73/sipnav-mcp server?

io.github.werebear73/sipnav-mcp is listed in the public MCP registry as io.github.werebear73/sipnav-mcp. MCP server for the SIPNAV VOIP switch. This page covers its NuGet package (Waretech.SipnavMcp).

Is the io.github.werebear73/sipnav-mcp server safe to use?

io.github.werebear73/sipnav-mcp scores 73 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.werebear73/sipnav-mcp server expose?

io.github.werebear73/sipnav-mcp exposes 90 tools: static_states, file_download, accounts_list, user_permission_remove, carriers_update, and 85 more. Their descriptions and schemas cost roughly 5,168 tokens of context every time the server is loaded.

Is the io.github.werebear73/sipnav-mcp server still maintained?

io.github.werebear73/sipnav-mcp is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.