You're viewing a demo portfolio

Join the waitlist
PRSM

ic_feedback_submit

Active

Tool of Immersive Commons

declared in 1.31.0

Send a structured note to the Immersive Commons operator. Kinds: feature_request | praise | complaint | question | suggestion | bug_report | broken_url | schema_mismatch | stale_doc | endpoint_404 | other. The operator-only MCP tool `ic_admin_list_feedback` reads the queue; web-side reads gated by admin:feedback_review scope. Per-IP rate limit 10/UTC hour (shared with the anonymous REST endpoint). Returns: { ok, ticket_id, received_at }. Quote the ticket_id when following up. Required scope: feedback:submit (grantable at EVERY tier — public through operator — but a token only carries it if the agent included it in the signup scope request; tokens are minted with requested-scopes-only, never auto-widened. Missing it? Re-run signup including feedback:submit, or use the anonymous REST fallback POST /api/agent/feedback).

Parameters schema

{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "kind",
    "message"
  ],
  "properties": {
    "got": {
      "type": "string",
      "maxLength": 500,
      "description": "Optional. What the agent observed instead (breakage kinds)."
    },
    "url": {
      "type": "string",
      "maxLength": 500,
      "description": "Optional. URL the agent was on when it filed."
    },
    "kind": {
      "enum": [
        "broken_url",
        "schema_mismatch",
        "stale_doc",
        "endpoint_404",
        "bug_report",
        "feature_request",
        "praise",
        "complaint",
        "question",
        "suggestion",
        "other"
      ],
      "type": "string",
      "description": "What this is. Pick the most specific kind. feature_request = 'I want X'; suggestion = softer 'maybe X'; praise/complaint = 'X is good/bad'; question = 'how does X work'; broken_url / schema_mismatch / stale_doc / endpoint_404 / bug_report = breakage in IC's agent surface; other = catch-all."
    },
    "contact": {
      "type": "string",
      "maxLength": 500,
      "description": "Optional. Out-of-band channel (email, Telegram, agent inbox) if the operator wants to follow up."
    },
    "message": {
      "type": "string",
      "maxLength": 2000,
      "minLength": 1,
      "description": "Free-form context. Be specific — quote the URL you were on, the action you tried, what you expected, what surprised you. The operator reads this verbatim."
    },
    "agent_id": {
      "type": "string",
      "maxLength": 500,
      "description": "Optional. Self-identification (e.g. 'Claude Code 4.7 @ home'). Surfaced in the operator dashboard."
    },
    "category": {
      "type": "string",
      "maxLength": 500,
      "description": "Optional operator-defined bucket (e.g. 'headsets', 'mcp', 'docs'). Free-form; the operator uses it to triage faster."
    },
    "expected": {
      "type": "string",
      "maxLength": 500,
      "description": "Optional. What the agent expected (breakage kinds)."
    },
    "priority": {
      "enum": [
        "low",
        "normal",
        "high"
      ],
      "type": "string",
      "description": "Optional. low | normal (default) | high. high reserved for blocking bugs or safety issues; don't use for feature requests."
    }
  }
}

What this tool wraps· 0 endpoints

min confidence0.700.50

No endpoints wrapped at confidence ≥ 0.70.

Parent server

Immersive Commons

https://github.com/immersive-commons/ic-skills

1/7 registries
View full server →