mcpField
S
Sipflow

Sipflow

Remote
sipflow.devDeveloper Tools0Updated 24w ago

About Sipflow

Sipflow is a hosted, read-only MCP server for SIP, VoIP, and telecom work, grounding answers in vendor documentation, RFCs, STIR/SHAKEN references, and trace or configuration analysis. Its tools cover protocol troubleshooting and reviews, and answers cite source URLs.

Key features

  1. 01Search SIP documentation and protocol references
  2. 02Identify protocol stacks and config vendors
  3. 03Parse, minimize, and compare SIP traces
  4. 04Review configs, SDP, and STIR/SHAKEN
  5. 05Cite source URLs in answers

Use cases

  1. 01Troubleshoot SIP response codes and messages
  2. 02Review Kamailio or Asterisk configurations
  3. 03Analyze SDP negotiation and call traces
  4. 04Validate STIR/SHAKEN identities

MCP support

Sipflow is a read-only MCP server over streamable HTTP, exposing about 20 tools and the sipflow://docs/{vendor}/{id} resource. Tools perform no outbound I/O except DNS and TLS diagnosis and certificate retrieval.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://mcp.sipflow.dev/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

22
ParameterTypeRequiredDescription
limitintegerNoMaximum number of snippets to return (1-15).
querystringYesNatural-language question or keywords. Be specific - include vendor name, header, error code, module, or RFC if known. Multi-sentence queries are fine.
vendorenumNoRestrict results to a single vendor/stack (e.g. "asterisk", "kamailio"). Omit to search all vendors.asterisk | freeswitch | kamailio | opensips | freepbx | yate | cisco-cube | ribbon | oracle-acme | audiocodes | cisco-cucm | avaya | mitel | metaswitch | 3cx | nec | twilio | telnyx | bandwidth | bandwidth-bxf | vonage | plivo | signalwire | aws-chime | didww | voxbone | genband | cisco-bts | teams | zoom-phone | ringcentral | webex-calling | eight-by-eight | polycom | yealink | cisco-phone | grandstream | snom | linphone | microsip | bria | zoiper | jssip | sip-js | stir-shaken
sourceTypeanyNoRestrict by document type. Available: rfc | pbx (Asterisk/FreeSWITCH/Kamailio/OpenSIPS) | sbc (SBCs) | cpaas (Twilio/Telnyx/...) | uc-cloud (Teams/Zoom/...) | endpoint (phones/softphones) | stir-shaken | transport (RTP/SRTP/DTLS/ICE/STUN/TURN RFCs) | regulatory | observability.

Details

From the project README

Sipflow MCP

SIP/VoIP/telecom grounding for AI agents. Vendor docs across ~40 stacks, 60+ RFCs, STIR/SHAKEN, trace and config analysis - every answer cites a verbatim source_url.

smithery badge

Sipflow is a hosted, read-only Model Context Protocol server. It gives your editor or agent ~20 tools that ground SIP/VoIP answers in a curated corpus instead of training-data recall.

Install

Cursor (one-click)

Install Sipflow in Cursor

Or from the Cursor Marketplace. This repo also ships as a Cursor plugin with a bundled Skill and Rule (see What's in this repo below).

Cursor (manual) - ~/.cursor/mcp.json
{
  "mcpServers": {
    "sipflow": { "url": "https://mcp.sipflow.dev/mcp" }
  }
}
VS Code - .vscode/mcp.json or user settings.json
{
  "servers": {
    "sipflow": {
      "type": "http",
      "url": "https://mcp.sipflow.dev/mcp"
    }
  }
}

Requires VS Code 1.99+ with the GitHub Copilot extension.

Claude Desktop - claude_desktop_config.json

Claude Desktop is stdio-only, so use the mcp-remote shim:

{
  "mcpServers": {
    "sipflow": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.sipflow.dev/mcp"]
    }
  }
}
Claude Code (CLI)
claude mcp add --transport http sipflow https://mcp.sipflow.dev/mcp
Codex CLI - ~/.codex/config.toml
[mcp_servers.sipflow]
url = "https://mcp.sipflow.dev/mcp"
Cline - Settings -> MCP Servers -> Edit JSON
{
  "mcpServers": {
    "sipflow": { "url": "https://mcp.sipflow.dev/mcp" }
  }
}
Continue - ~/.continue/config.yaml
mcpServers:
  - name: sipflow
    transport:
      type: streamable-http
      url: https://mcp.sipflow.dev/mcp
Windsurf - ~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "sipflow": {
      "serverUrl": "https://mcp.sipflow.dev/mcp"
    }
  }
}
Goose - ~/.config/goose/config.yaml
extensions:
  sipflow:
    type: http
    uri: https://mcp.sipflow.dev/mcp
    enabled: true
Generic / curl smoke-test
curl -sS -X POST https://mcp.sipflow.dev/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

What's in this repo

File / FolderMarketplacePurpose
server.jsonOfficial MCP RegistryCanonical server descriptor. PulseMCP auto-ingests from here.
smithery.yamlSmitheryRemote HTTP listing.
.cursor-plugin/plugin.jsonCursor MarketplacePlugin manifest.
mcp.jsonCursor plugin auto-discoveryPoints the plugin at the remote endpoint.
skills/sip-debugger/Cursor plugin"When to use Sipflow" playbook surfaced as /sip-debugger.
rules/sip-grounding.mdcCursor pluginAuto-attaches when editing .pcap, kamailio/opensips/freeswitch/asterisk configs, dialplans, .sdp.
assets/logo.svgAllLogo.

The Cursor-specific files (.cursor-plugin/, mcp.json, skills/, rules/) are silently ignored by non-Cursor marketplaces - they only parse their own manifest.

Tool catalog

All tools are read-only. The only outbound IO is dns_diagnose_sip_target (DNS + TLS handshake) and validate_stir_shaken_identity (cert fetch).

Discovery / grounding - search_sip_docs, lookup_response_code, lookup_sip_header

Detection - detect_sip_stack, detect_sip_vendor_from_config

Traces - minimize_sip_trace, render_sip_ladder, sip_ladder_example, lint_sip_request, parse_sip_message, diff_sip_messages

Config review - review_sip_config, webrtc_sip_checklist

SDP - parse_sdp, compare_sdp_offer_answer

STIR/SHAKEN - validate_stir_shaken_identity, stir_attestation_explainer

Telecom - validate_e164_number, troubleshoot_response_code

Network - dns_diagnose_sip_target (rate-limited)

Share hydration - fetch_sipflow_share for sipflow.dev/share/<token> URLs

Resource - sipflow://docs/{vendor}/{id} for a single corpus chunk

Corpus coverage

  • ~40 vendor stacks: Kamailio, OpenSIPS, FreeSWITCH, Asterisk (PJSIP + chan_sip), SIP.js, JsSIP, FreePBX, 3CX, OpenSER, Twilio, Cisco, ...
  • 60+ RFCs: SIP, SDP, RTP, WebRTC core
  • STIR/SHAKEN: RFC 8224/8225/8226/8588/9027/9795
  • Branded calling: ATIS-1000074, ATIS-1000094, ATIS-1000084, CTIA BCID

Local development (Cursor plugin)

Test the plugin locally by symlinking this repo into Cursor's local plugin folder:

ln -s "$PWD" ~/.cursor/plugins/local/sipflow

Run Developer: Reload Window in Cursor. You should see:

  • sipflow server in Settings -> Features -> Model Context Protocol
  • sip-debugger skill under Settings -> Rules (Agent Decides)
  • sip-grounding rule under Settings -> Rules

Submitting updates

When the MCP server changes, bump version in three places to keep registries in sync:

  • server.json -> Official MCP Registry
  • .cursor-plugin/plugin.json -> Cursor Marketplace
  • The hosted server's serverInfo.version

Then re-run mcp-publisher publish for the Official Registry. Cursor, Smithery, and Glama auto-track the default branch.

License

MIT - see LICENSE.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.