Browse documentation

send_feedback

[feedback]

Sends abstract feedback and product facts as a public GitHub issue. Search open and closed Glider issues for a duplicate. Check the loaded root against the intended worktree and build configuration, then repeat the operation. Update and restart when practical; state any check you could not do. Include observed evidence when available. For an invented code example, supply evidence, run instructions, and invented files. Use preview first, show the complete public text to the user, and get explicit approval before sending.

Before you use this tool

With preview=false, this tool sends authored text off the machine and files it as a public GitHub issue. The tool asks the agent to tell the user what it sent; whether a call runs without a prompt is decided by the MCP client approval settings, not by the server. GLIDER_FEEDBACK=0 disables the tool; --no-telemetry and DO_NOT_TRACK=1 also disable it. At most 5 distinct reports are attempted per session. Retries with the original reportId use no additional report quota. The issue carries the report id and never an install or session identifier.

Try it locally in the Glider playground

Parameters

NameTypeRequiredDescription
categorystringYesReport category: missing-capability | bad-output | error | praise.
messagestringYesWhat you tried to do and could not do, abstractly. 1 to 500 characters. The tool refuses code, paths, source and config file names, secrets, and stack traces, and names the reason. Do not name private symbols.
relatedToolstringNoGlider tool the report is about, for example find_code. Optional.
harnessstringNoCoding agent and its version, for example "claude-code 2.1.0". Optional. Letters, digits, spaces, and . _ + - only.
modelstringNoModel that wrote the report. Optional. Same character rules as harness.
otherMcpServersjsonNoOther MCP servers in the session, only when they matter to the report. JSON array of up to 8 names of lowercase letters, digits, - and _.
evidencejsonNoOptional observed facts: reproductionStatus is required inside evidence. Use original_reproduced only after repeating the failure, synthetic_reproduced only after running an invented example, or unable_to_test when blocked. Optional workspaceMatch, steps, expected, actual, and context stay abstract; each text field is at most 500 Unicode scalar values. No code or paths. Unreleased parameter. Available in development builds.
previewbooleanNoSet true to validate and show the public issue and duplicate comment without sending or using quota. Unreleased parameter. Available in development builds. Default: false
instructionsstringNoRun instructions for invented files. Supply with files and synthetic_reproduced evidence. Unreleased parameter. Available in development builds.
filesjsonNoOne to six invented .cs, .csproj, or .md files. Up to 8 KiB each and 16 KiB total. Supply with instructions and synthetic_reproduced evidence. Unreleased parameter. Available in development builds.
reportIdstringNoOptional GUID returned for a report in this server session. Reuse it with the original authored fields within 29 days to retry that report. Unreleased parameter. Available in development builds.
responseDetailstringNocompact returns results and actionable state. full adds diagnostic metadata under responseDiagnostics. Default: "compact"

Examples

Replace sample paths and symbol keys with values from your workspace.

Report a missing capability after an update and a duplicate search

Arguments
{
  "category": "missing-capability",
  "message": "no tool returns the package dependency graph for a solution",
  "relatedTool": "get_project_graph"
}
Full MCP request
Full MCP request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "send_feedback",
    "arguments": {
      "category": "missing-capability",
      "message": "no tool returns the package dependency graph for a solution",
      "relatedTool": "get_project_graph"
    }
  }
}
Illustrative response
{
  "success": true,
  "status": "filed",
  "reportId": "3f9c2b1e-8d4a-4c6f-9a21-5b7e0d1c2f34",
  "issueUrl": "https://github.com/glidermcp/glidermcp.com/issues/123",
  "report": {
    "category": "missing-capability",
    "message": "no tool returns the package dependency graph for a solution",
    "relatedTool": "get_project_graph",
    "harness": null,
    "model": null,
    "otherMcpServers": null
  },
  "product": {
    "product": "glider",
    "productVersion": "7.3.0",
    "os": "macos",
    "arch": "arm64",
    "runtime": "10.0"
  },
  "remainingThisSession": 4,
  "hints": {
    "nextSteps": [
      "Show the user the issue URL; the report is public there."
    ]
  }
}

Retry an unconfirmed report with its returned ID in the same session

Arguments
{
  "reportId": "3f9c2b1e-8d4a-4c6f-9a21-5b7e0d1c2f34",
  "category": "missing-capability",
  "message": "no tool returns the package dependency graph for a solution",
  "relatedTool": "get_project_graph"
}
Full MCP request
Full MCP request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "send_feedback",
    "arguments": {
      "reportId": "3f9c2b1e-8d4a-4c6f-9a21-5b7e0d1c2f34",
      "category": "missing-capability",
      "message": "no tool returns the package dependency graph for a solution",
      "relatedTool": "get_project_graph"
    }
  }
}

Response Notes

With preview=true, returns the full public issue and duplicate comment without a network request, quota use, or report ID. The worker adds a report marker only when sending. With preview=false, returns the status of the report (filed, duplicate, queued, failed, or unconfirmed), report id, public issue URL, authored fields including any evidence and synthetic files, public product facts, reports left this session, and next steps. The result excludes the install and session identifiers. A refused report names the rejected field so the agent can rewrite it in abstract words. Feedback is disabled by GLIDER_FEEDBACK=0, --no-telemetry, or DO_NOT_TRACK=1. At most 5 distinct reports are attempted per session. An unconfirmed report may already be public. Retry it with the original reportId and every unchanged authored field in the same server session, within 29 days. A failed report was stored but could not be published. An expired retry ID cannot start a replacement report. Results use top-level fields with success. Compact is the default; full adds responseDiagnostics. Both modes retain errors, coverage, partial state, and recovery advice.