MCP serverdev.sipflow/sipflow
SIP/VoIP/telecom grounding for AI agents: vendor docs, RFCs, STIR/SHAKEN, traces, configs.
Overview
Score?
UNRATED 0.672
of what a free look can see, on 30 looks
Looks
36
last 23 min ago
Tools
22
More info
URL
mcp.sipflow.dev/mcp
streamable-http
Says it is
sipflow 0.2.0
protocol 2025-06-18
In the record since
32 days ago
Among servers18,413 with a card
0median 0.606 · this server 0.672 · highest on record 0.8561
Toolsfrom sha256:173d9afab2…a9b250
| Tool | Schema |
|---|---|
| compare_sdp_offer_answer [cost: free (pure CPU, no network) | read-only]
Diff a SIP/SDP offer and answer and surface the issues that actually break calls in practice: codec intersection per m-line, direct |
input · no output |
| detect_sip_stack [cost: free (pure CPU, no network) | read-only]
Identify the SIP product behind a piece of input. Works on both:
- a SIP trace (User-Agent / Server headers from PCAP/sngrep/sysl |
input · no output |
| detect_sip_vendor_from_config [cost: free (pure CPU, no network) | read-only]
Heuristic-only sibling of `detect_sip_stack`, scoped to vendor configs. Returns the matched vendor slug, a confidence level, and th |
input · no output |
| diff_sip_messages [cost: free (pure CPU, no network) | read-only, no persistence]
Take two SIP messages (typically the same request observed at two adjacent hops - e.g. the INVITE leaving FreeSWITC |
input · no output |
| dns_diagnose_sip_target [cost: external_io (DNS via Cloudflare + Google; TLS handshake + a SIP OPTIONS keepalive to public targets when applicable) | read-only | rate-limited per IP: 10/min, 200/day]
Wal |
input · no output |
| fetch_sipflow_share [cost: external_io (Mongo + S3 fetch on the Sipflow backend) | read-only, no persistence | rate limit: shared with the public share endpoint]
Given a Sipflow share URL (https://si |
input · no output |
| lint_sip_request [cost: free (pure CPU, no network) | read-only, no persistence]
Run RFC 3261 / RFC 3325 / RFC 8224 / RFC 8225 / CTIA BCID compliance checks on a single raw SIP request (typically |
input · no output |
| lookup_response_code [cost: free (pure CPU, no network) | read-only]
Instant static lookup of a SIP response code (100-699). Returns name, RFC anchor, category, description, common operator-flavored c |
input · no output |
| lookup_sip_header [cost: free (pure CPU, no network) | read-only]
Instant lookup of a SIP header by canonical or compact form (e.g. "Via" / "v", "Diversion", "P-Asserted-Identity", "Identity", "Ses |
input · no output |
| minimize_sip_trace [cost: free (pure CPU, no network) | read-only, no persistence]
Reduce a raw SIP trace to a compact form suitable for sending to an LLM. Preserves SDP bodies and routing/auth/dial |
input · no output |
| parse_sdp [cost: free (pure CPU, no network) | read-only]
Parse a Session Description Protocol body and return a structured view: origin, session, timing, per-media codecs (rtpmap + fmtp), |
input · no output |
| parse_sip_message [cost: free (pure CPU, no network) | read-only, no persistence]
Parse a single raw SIP message (request OR response) and return a structured view: start line (method/status), ever |
input · no output |
| render_sip_ladder [cost: free (pure CPU, no network) | read-only]
Parse a raw SIP trace (PCAP-decoded text, sngrep export, syslog, or pasted INVITE/200 dialog) and emit a Mermaid `sequenceDiagram` |
input · no output |
| review_sip_config [cost: free (pure CPU, no network) | read-only]
Use this when the user asks 'review my config' or attaches a kamailio.cfg, sip.conf, pjsip.conf, FreeSWITCH XML profile, opensips.c |
input · no output |
| search_sip_docs [cost: rag (one embed + one vector search) | read-only, network: outbound to embed model only]
Vector search over Sipflow's curated VoIP knowledge base: vendor docs (Asterisk, Fre |
input · no output |
| sip_ladder_example [cost: free (pure CPU, no network) | read-only]
Return a hand-curated SIP scenario as a Mermaid `sequenceDiagram` plus a bullet list of step-by-step explanations with RFC referenc |
input · no output |
| stir_attestation_explainer [cost: free (pure CPU, no network) | read-only]
Static explainer for STIR/SHAKEN: maps attestation levels (A / B / C per RFC 8588) to plain-English requirements + common scenarios |
input · no output |
| submit_sipflow_feedback [cost: write (single MongoDB row) | rate-limited per IP: 3/min, 20/day]
Send the Sipflow team feedback when something doesn't work, a vendor or RFC isn't covered, or a tool produc |
input · no output |
| troubleshoot_response_code [cost: rag (one embed + one vector search) | read-only, network: outbound to embed model only | rate-limited per IP]
Like `lookup_response_code` but augmented: returns the static |
input · no output |
| validate_e164_number [cost: free (pure CPU, no network) | read-only]
Parse a phone number, normalize to E.164, and classify it. International coverage is via libphonenumber-js (every country, line typ |
input · no output |
| validate_stir_shaken_identity [cost: external_io (HTTPS fetch of the x5u cert) | read-only]
Verify a SIP `Identity:` JWS (RFC 8224 / SHAKEN). Fetches the x5u certificate, parses it, verifies the ES256 signatur |
input · no output |
| webrtc_sip_checklist [cost: free (pure CPU, no network) | read-only]
Return a curated checklist of WebRTC ↔ SIP requirements (WSS transport, ICE gathering, DTLS-SRTP fingerprint, rtcp-mux + BUNDLE, me |
input · no output |
Verify it yourself
npx teppi-check https://mcp.sipflow.dev/mcpcurl -s https://api.teppi.xyz/v1/trust/mcp/mcs_01M1FZ2AF98VA0ZDSZ4A6X1V3E