Skip to main content
Glama

Submit Agent Feedback

submit_agent_feedback

Submit feedback to the observatory's operators about the MCP tool surface. The active counterpart to the passive invocation log. Categories: 'gap' (a capability you expected and didn't find), 'error' (an unexpected failure or wrong result), 'praise' (a tool or surface that did exactly what you needed), 'suggestion' (a refinement you'd recommend), 'citation_request' (a claim or fact you want surfaced with a stable @id you can cite). The submission auto-attaches the prior 10 invocations from your MCP-Session-Id, so operators read your feedback annotated with the call sequence that produced it, so there is no need to repeat what you tried. Operators triage every submission and surface notable feedback at /agent-observatory. This is how the observatory evolves toward what agents actually need.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
messageYesThe feedback prose itself. Be specific. What were you trying to accomplish? What was missing or wrong? Voice that survives compression. Operators read every submission.
categoryYesBounded categorization. 'gap' = expected capability is missing. 'error' = tool returned wrong/unexpected/malformed result. 'praise' = a surface or tool that worked exceptionally well. 'suggestion' = a refinement (better tool description, additional argument, alternative output shape). 'citation_request' = a claim or fact you want surfaced with a stable citation @id.
about_urlNoOptional: a URL on the observatory this feedback references (e.g., "https://zoningsignal.com/corridors/us-27-south-lake").
about_toolNoOptional: the tool name this feedback is about (e.g., "describe_corridor"). Lets operators rollup feedback per tool.
agent_contextNoOptional: brief description of what the agent was trying to do, the user task that led to this surface. Helps operators understand intent without seeing only the failure point.
suggested_resolutionNoOptional: if you have a concrete proposal (a new tool, a renamed parameter, a missing field on a response), name it here.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYesTrue when the feedback was accepted and stored.
messageNoHuman-readable acknowledgement.
categoryNoThe category the feedback was filed under.
feedback_idYesStable id for the stored feedback record.
received_atNoISO-8601 timestamp the feedback was recorded.
attached_invocation_countNoHow many prior invocations (from your MCP-Session-Id) were auto-attached for operator context.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / agent_context / description
      Previous value: -"Optional: brief description of what the agent was trying to do — the user task that led to this surface. Helps operators understand intent without seeing only the failure point."New value: +"Optional: brief description of what the agent was trying to do, the user task that led to this surface. Helps operators understand intent without seeing only the failure point."
    • changedInput schema / properties / suggested_resolution / description
      Previous value: -"Optional: if you have a concrete proposal — a new tool, a renamed parameter, a missing field on a response — name it here."New value: +"Optional: if you have a concrete proposal (a new tool, a renamed parameter, a missing field on a response), name it here."
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "attached_invocation_count": {
      +      "description": "How many prior invocations (from your MCP-Session-Id) were auto-attached for operator context.",
      +      "type": "number"
      +    },
      +    "category": {
      +      "description": "The category the feedback was filed under.",
      +      "type": "string"
      +    },
      +    "feedback_id": {
      +      "description": "Stable id for the stored feedback record.",
      +      "type": "string"
      +    },
      +    "message": {
      +      "description": "Human-readable acknowledgement.",
      +      "type": "string"
      +    },
      +    "ok": {
      +      "description": "True when the feedback was accepted and stored.",
      +      "type": "boolean"
      +    },
      +    "received_at": {
      +      "description": "ISO-8601 timestamp the feedback was recorded.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "ok",
      +    "feedback_id"
      +  ],
      +  "type": "object"
      +}
  3. Added

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations are all false hints, so the description carries the full behavioral burden. It discloses the key side effect—auto-attaching the prior 10 invocations from the MCP-Session-Id—and what happens after submission (operators triage and surface notable feedback). This gives the agent a concrete model of the tool's behavior beyond what any structured field provides.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description opens with the core purpose and includes compact category definitions, but the category parentheticals partially duplicate the schema descriptions. The extra behavioral details about session attachment and operator triage justify the length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a feedback-submission tool with six parameters, complete schema descriptions, and an output schema, this description covers purpose, category selection, and post-submission side effects. Nothing an agent needs to invoke the tool correctly is missing, and the auto-attached invocation context is a critical detail absent from schema and annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each of the six parameters is already well documented in the schema. The description mostly restates the category values rather than adding new parameter-specific meaning; the additional value it provides is behavioral context, not parameter semantics. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Submit feedback'), a recipient ('observatory's operators'), and a subject ('MCP tool surface'). It also distinguishes the tool as the 'active counterpart' to the passive invocation log, which clearly separates it from all sibling read/list/describe tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The category definitions give clear guidance on when to use each type of feedback, and the final sentence frames this as the mechanism for evolving the observatory. It does not explicitly name alternatives or state when not to use it, but no sibling tool competes with this function, so the usage context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources