submit_sipflow_feedback
ActiveTool of Sipflow
[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 produced a wrong/incomplete answer. Categories: - docs_gap: search_sip_docs returned nothing useful, vendor missing, coverage incomplete - tool_bug: a tool errored, returned garbage, or behaved unexpectedly on a real input - wrong_answer: the answer it produced was incorrect for the SIP/VoIP question asked - feature_request: a new tool, dataset, or behavior the user wants - general: anything else PRIVACY CONTRACT (MUST FOLLOW): 1. Use this tool only when the user explicitly asks to send feedback, OR when you have completed the user's primary task and there is a clear, actionable gap worth reporting. 2. ALWAYS show the user the exact `summary` + `details` + other fields you plan to send and wait for an explicit yes before calling this tool. Set `userConsent: true` only after that confirmation. 3. NEVER include raw SIP traces, INVITE/REGISTER bodies, SDP, phone numbers, IP addresses, Call-IDs, or any other PII. Summarize in your own words instead. The server runs a sanitizer as a backstop, but you are the first line of defense. 4. The `contact` field is optional and may only be filled when the user explicitly provides an email and asks you to include it. 5. The `traceExcerpt` field is optional and accepts a sanitized SIP message text block (Via/From/To/Call-ID, optional minimal SDP) the user explicitly approved attaching. Pipe `minimize_sip_trace` output here, NEVER raw INVITE / REGISTER bodies or full pcap text. Phone numbers, IPs, and emails are scrubbed server-side as a backstop; the agent must still summarize / minimize first. The same `userConsent: true` covers both the text fields and the excerpt - if the user wants the excerpt included you must show it to them before sending. The tool returns a ticket id (fb_xxxxxxxx) and stores one anonymous row keyed by your daily-rotating IP hash (no raw IP, no account). Rate-limited at 3/min and 20/day per IP hash.
Parameters schema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"category",
"summary",
"userConsent"
],
"properties": {
"contact": {
"type": "string",
"maxLength": 200,
"description": "Optional email the user can be reached at. Only include when the user explicitly provides one and asks you to attach it."
},
"details": {
"type": "string",
"maxLength": 4000,
"description": "Longer description: what the user was trying to do, what happened, what they expected. PII-free."
},
"summary": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Short one-line description of the feedback. Will be shown to humans triaging. PII-free."
},
"category": {
"enum": [
"docs_gap",
"tool_bug",
"wrong_answer",
"feature_request",
"general"
],
"type": "string",
"description": "Bucket. Use docs_gap for missing RAG coverage, tool_bug for broken behavior, wrong_answer for incorrect output, feature_request for new asks, general for anything else."
},
"relatedTool": {
"type": "string",
"maxLength": 200,
"description": "Name of the Sipflow MCP tool the feedback relates to, if any (e.g. `search_sip_docs`, `troubleshoot_response_code`)."
},
"userConsent": {
"type": "boolean",
"const": true,
"description": "MUST be true. Set this only after you have shown the user the exact payload above (including any `traceExcerpt`) and they have confirmed they want it sent."
},
"relatedQuery": {
"type": "string",
"maxLength": 200,
"description": "The search query / question that failed or returned poor results. PII-free."
},
"traceExcerpt": {
"type": "string",
"maxLength": 32000,
"description": "Optional sanitized SIP message text the user explicitly approved attaching. Use the output of `minimize_sip_trace` (or a hand-scrubbed Via/From/To/Call-ID/CSeq block, optionally with minimal SDP). NEVER paste raw INVITE / REGISTER bodies, full pcap text, or anything containing phone numbers / IPs / Call-IDs you have not already redacted. The server runs a backstop sanitizer that redacts phones, IPs, and emails. Hard cap 32 kB."
},
"vendorOrTopic": {
"type": "string",
"maxLength": 200,
"description": "Vendor slug, RFC number, or topic the feedback relates to (e.g. 'freeswitch', 'RFC 3261', 'fax-over-IP')."
}
},
"additionalProperties": false
}Parent server
Sipflow
https://github.com/cmendes0101/sipflow-cursor-plugin
1/7 registries