Skip to main content
Glama

Submit Feedback

submit_feedback

FEEDBACK: Submit feedback, bug reports, or feature requests to Luther Systems Use this tool to forward user feedback directly to the Luther Systems team. This includes bug reports, feature requests, questions, or general feedback about InsideOut. The agent itself can also use this tool to report issues it encounters during operation.

REQUIRES: session_id, category, message OPTIONAL: user_email (for follow-up), user_name, source (default: 'mcp'), initiator ('user' or 'agent')

Categories: bug_report, feature_request, general_feedback, question, security

The 'initiator' field tracks who triggered the report:

  • 'user' — the user explicitly reported the issue or requested feedback submission

  • 'agent' — Riley detected an issue and initiated the feedback flow

Examples:

  • User says 'the deploy button is broken' → submit_feedback(category='bug_report', message='...', initiator='user')

  • User says 'I wish it had dark mode' → submit_feedback(category='feature_request', message='...', initiator='user')

  • Deployment failed with Terraform error → submit_feedback(category='bug_report', message='Deployment failed: Terraform apply error on aws_alb resource — timeout waiting for ALB provisioning', initiator='agent')

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "session_id": "<session_id>",
      "category": "<category>",
      "message": "<message>"
    },
    "name": "submit_feedback"
  }
}

Input Schema

NameRequiredDescriptionDefault
sourceNoOptional source channel: 'mcp', 'cli', or 'web'.
messageYesFeedback content. Free-form text describing the issue, request, or comment.
categoryYesFeedback category. One of: bug_report, feature_request, general_feedback, question.
initiatorNoOptional originator: 'user' (human triggered) or 'agent' (automated).
user_nameNoOptional display name for attribution.
session_idYesSession ID from convoopen — pass back EXACTLY as returned, including the ?token=... suffix (format: sess_v2_*?token=*). The suffix is part of the session credential; never strip it when summarizing. Identifies the conversation the feedback is about.
user_emailNoOptional email address for follow-up.

Output Schema

NameRequiredDescriptionDefault
okNoTrue when the feedback was delivered to Luther Systems.
hintsNoGuidance for the calling agent: what to do next and which tools relate to this result.
messageNoConfirmation text to show the user.
session_idNoSession ID this result belongs to (format sess_v2_*?token=*). Pass it back verbatim to later tools.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "hints": {
      +      "description": "Guidance for the calling agent: what to do next and which tools relate to this result.",
      +      "properties": {
      +        "next_actions": {
      +          "description": "Suggested next steps, in order, often as ready-to-run tool calls.",
      +          "items": {
      +            "description": "One suggested next step.",
      +            "type": "string"
      +          },
      +          "type": [
      +            "null",
      +            "array"
      +          ]
      +        },
      +        "related_tools": {
      +          "description": "Names of tools that are useful after this result.",
      +          "items": {
      +            "description": "A tool name.",
      +            "type": "string"
      +          },
      +          "type": [
      +            "null",
      +            "array"
      +          ]
      +        }
      +      },
      +      "type": [
      +        "null",
      +        "object"
      +      ]
      +    },
      +    "message": {
      +      "description": "Confirmation text to show the user.",
      +      "type": "string"
      +    },
      +    "ok": {
      +      "description": "True when the feedback was delivered to Luther Systems.",
      +      "type": "boolean"
      +    },
      +    "session_id": {
      +      "description": "Session ID this result belongs to (format sess_v2_*?token=*). Pass it back verbatim to later tools.",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Changed14 schema fields changed
    • addedInput schema / properties / category / description
      Added value: +"Feedback category. One of: bug_report, feature_request, general_feedback, question."
    • addedInput schema / properties / category / enum
      Added value: +[
      +  "bug_report",
      +  "feature_request",
      +  "general_feedback",
      +  "question"
      +]
    • addedInput schema / properties / initiator / description
      Added value: +"Optional originator: 'user' (human triggered) or 'agent' (automated)."
    • addedInput schema / properties / initiator / enum
      Added value: +[
      +  "user",
      +  "agent"
      +]
    • addedInput schema / properties / message / description
      Added value: +"Feedback content. Free-form text describing the issue, request, or comment."
    • addedInput schema / properties / message / maxLength
      Added value: +10000
    • addedInput schema / properties / message / minLength
      Added value: +1
    • addedInput schema / properties / session_id / description
      Added value: +"Session ID from convoopen — pass back EXACTLY as returned, including the ?token=... suffix (format: sess_v2_*?token=*). The suffix is part of the session credential; never strip it when summarizing. Identifies the conversation the feedback is about."
    • addedInput schema / properties / session_id / pattern
      Added value: +"^sess_v2_[0-9A-Za-z]+\\?token=[0-9a-f]+$"
    • addedInput schema / properties / source / description
      Added value: +"Optional source channel: 'mcp', 'cli', or 'web'."
    • addedInput schema / properties / source / enum
      Added value: +[
      +  "mcp",
      +  "cli",
      +  "web"
      +]
    • addedInput schema / properties / user_email / description
      Added value: +"Optional email address for follow-up."
    • addedInput schema / properties / user_email / format
      Added value: +"email"
    • addedInput schema / properties / user_name / description
      Added value: +"Optional display name for attribution."
  3. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare this is a non-read-only, non-destructive, open-world write, so the safety profile is covered. The description adds real value beyond that: the destination team, the initiator tracking semantics ('user' vs 'agent'), and the accepted categories/examples of what constitutes reportable feedback.

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?

It is longer than most, but well front-loaded with FEEDBACK/REQUIRES/OPTIONAL headers and each section (categories, initiator semantics, examples) earns its place. Slight redundancy between the prose intro and the examples.

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

Completeness4/5

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

With an output schema present, return values need not be explained. Required/optional parameters, category enum, and initiator semantics are all covered. The only shortfall is the 'security' category mentioned in prose but absent from the schema enum, leaving minor ambiguity.

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

Parameters4/5

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

Schema coverage is 100%, so the schema already documents each parameter; the description goes further by restating required vs optional fields with intent (user_email 'for follow-up', source 'default: mcp', initiator meaning). One caveat: it lists 'security' as a category, but the schema enum omits it, creating a small mismatch.

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 opens with a specific verb+resource ("Submit feedback, bug reports, or feature requests to Luther Systems") and names the destination team. It is trivially distinguishable from all siblings, which are terraform/AWS/conversation tools with no overlapping function.

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?

It clearly states when to use it (forward user feedback; agent self-reporting issues) and provides three concrete trigger examples. It lacks explicit when-NOT-to-use guidance or named alternatives, but no sibling competes for this function, so the gap is minor.

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