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
- 01Search SIP documentation and protocol references
- 02Identify protocol stacks and config vendors
- 03Parse, minimize, and compare SIP traces
- 04Review configs, SDP, and STIR/SHAKEN
- 05Cite source URLs in answers
Use cases
- 01Troubleshoot SIP response codes and messages
- 02Review Kamailio or Asterisk configurations
- 03Analyze SDP negotiation and call traces
- 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.
https://mcp.sipflow.dev/mcpclaude mcp add --transport http dev-sipflow-sipflow https://mcp.sipflow.dev/mcp{"mcpServers":{"dev-sipflow-sipflow":{"type":"http","url":"https://mcp.sipflow.dev/mcp"}}}Open in Cursor{"servers":{"dev-sipflow-sipflow":{"type":"http","url":"https://mcp.sipflow.dev/mcp"}}}Open in VS Code{"mcpServers":{"dev-sipflow-sipflow":{"type":"http","url":"https://mcp.sipflow.dev/mcp"}}}{"mcpServers":{"dev-sipflow-sipflow":{"serverUrl":"https://mcp.sipflow.dev/mcp"}}}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| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | No | Maximum number of snippets to return (1-15). |
| query | string | Yes | Natural-language question or keywords. Be specific - include vendor name, header, error code, module, or RFC if known. Multi-sentence queries are fine. |
| vendor | enum | No | Restrict 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 |
| sourceType | any | No | Restrict 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 READMESipflow 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.
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.
- Live endpoint:
https://mcp.sipflow.dev/mcp(Streamable HTTP) - Web app: https://www.sipflow.dev
- Install page (one-click + all clients): https://www.sipflow.dev/tools/mcp
Install
Cursor (one-click)
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 / Folder | Marketplace | Purpose |
|---|---|---|
server.json | Official MCP Registry | Canonical server descriptor. PulseMCP auto-ingests from here. |
smithery.yaml | Smithery | Remote HTTP listing. |
.cursor-plugin/plugin.json | Cursor Marketplace | Plugin manifest. |
mcp.json | Cursor plugin auto-discovery | Points the plugin at the remote endpoint. |
skills/sip-debugger/ | Cursor plugin | "When to use Sipflow" playbook surfaced as /sip-debugger. |
rules/sip-grounding.mdc | Cursor plugin | Auto-attaches when editing .pcap, kamailio/opensips/freeswitch/asterisk configs, dialplans, .sdp. |
assets/logo.svg | All | Logo. |
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:
sipflowserver in Settings -> Features -> Model Context Protocolsip-debuggerskill under Settings -> Rules (Agent Decides)sip-groundingrule 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
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.