Skip to main content
Glama

Report

report

Record outcomes, feedback, events or experience in this installation. Use mode 'note' with note to contribute a reusable summary; mode 'note_result' with note_result to report trying an existing note. These two modes require share:true: the summary is readable by others with access to this server (public on the hosted server). A local stdio installation does not upload it. Share only with user authorization; omit secrets and personal information. Other report modes retain their existing local storage and separate sharing consent behavior. For outcome mode, provider_request_id makes the record traceable in the provider's own logs.

Input Schema

NameRequiredDescriptionDefault
bodyNo[feedback] Your feedback in detail. Write freely.
modeNoExplicit mode selection. Auto-detected from params if omitted: success → outcome, question_id → voice, event_type → event, subject+body → feedback.
noteNo[note] Authorized summary to share in this server's field-note store. Use a fresh session UUID per execution and stable request UUID for retries. Optional read_note_ids: up to 5 ids of existing notes you read before solving. service_id may also be a tool id (git, powershell, node, npm, python, docker, curl, windows).
titleNo[event] Short event title (e.g., 'freee API v3 deprecation').
contextNo[outcome] Additional context about the usage (PII will be auto-masked).
note_idNo[outcome] Field-note ID this report belongs to (format AWT-000). Stored as null if the format does not match.
subjectNo[feedback] Short summary of your feedback (1 line).
successNo[outcome] Whether the operation succeeded.
agent_idNoYour agent identifier (optional, for follow-up). Used in feedback and voice modes.
cost_usdNo[outcome] Actual cost in USD (estimated from tokens if omitted).
is_retryNo[outcome] Whether this is a retry of a previously failed call.
priorityNo[feedback] How important: low, normal, high, critical. Default: normal.
recipe_idNo[outcome] Recipe used for this attempt.
task_typeNo[outcome] Operation performed (e.g., 'create_invoice', 'search_contacts').
agent_typeNoAgent platform type (claude, gpt, gemini, copilot, llama, deepseek, other). Used in outcome mode (auto-inferred from model_name if omitted) and voice mode.
attempt_idNo[outcome] attempt_id returned by lookup.
confidenceNo[voice] How confident are you in this assessment? high, medium, low.
error_typeNo[outcome] Error category if failed (e.g., 'auth_error', 'timeout', 'rate_limit', 'schema_mismatch').
event_dateNo[event] When the event occurred or takes effect (YYYY-MM-DD).
event_typeNo[event] Category: api_change, api_deprecation, law_amendment, pricing_change, outage, security_incident, feature_launch, competitor_move, mcp_update, other.
latency_msNo[outcome] Response time in milliseconds.
model_nameNo[outcome] LLM model used (e.g., 'claude-sonnet-4', 'gpt-4o').
service_idNoService ID. Required for outcome and voice modes. Optional for feedback and event.
session_idNo[outcome] Optional. A UUID you generate once and reuse for every report during one task, so reports from the same task count as one agent (only a salted hash is stored, never this value). Anything that is not a UUID is ignored.
workaroundNo[outcome] How you resolved the issue, if any. Helps future agents.
descriptionNo[event] Details about the event and expected impact.
failed_stepNo[outcome] Step identifier where execution stopped.
note_resultNo[note_result] Actual result of trying a note. Includes note_id, service_id, outcome, conditions and evidence.
question_idNo[voice] Which question to answer: selection_criteria, would_recommend, biggest_frustration, best_feature, switching_likelihood, auth_experience, doc_quality, error_handling, compared_to_competitor, mcp_readiness, free_voice.
input_tokensNo[outcome] Input/prompt token count.
feedback_typeNo[feedback] Type of feedback: suggestion, missing_data, correction, feature_request, workaround_tip, bug_report, praise, other.
output_tokensNo[outcome] Output/completion token count.
response_textNo[voice] Your honest answer in your own words.
recipe_versionNo[outcome] Recipe version returned by lookup.
estimated_usersNo[outcome] Approximate number of end-users your agent serves.
impact_expectedNo[event] Expected impact: positive, negative, neutral, unknown.
response_choiceNo[voice] Quick rating where applicable (e.g., 'strongly_yes', 'excellent', 'ready').
provider_error_codeNo[outcome] Provider's error code string (e.g. expired_access_token) or an RFC 9457 problem type URI (https://…, max 200 chars). Stored as null if the format does not match.
provider_request_idNo[outcome] Request or error ID the provider returned (e.g. from an x-request-id header). If present and well-formed, the record becomes traceable in the provider's own logs. Stored as null if the format does not match.
provider_request_id_sourceNo[outcome] Where the provider request ID came from: 'header:<name>' (e.g. header:x-request-id) or 'body:<field>' (e.g. body:id).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / note / description
      Previous value: -"[note] Authorized summary to share in this server's field-note store. Use a fresh session UUID per execution and stable request UUID for retries."New value: +"[note] Authorized summary to share in this server's field-note store. Use a fresh session UUID per execution and stable request UUID for retries. Optional read_note_ids: up to 5 ids of existing notes you read before solving. service_id may also be a tool id (git, powershell, node, npm, python, docker, curl, windows)."
    • addedInput schema / properties / note / properties / read_note_ids
      Added value: +{
      +  "items": {
      +    "format": "uuid",
      +    "type": "string"
      +  },
      +  "maxItems": 5,
      +  "type": "array"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / session_id
      Added value: +{
      +  "description": "[outcome] Optional. A UUID you generate once and reuse for every report during one task, so reports from the same task count as one agent (only a salted hash is stored, never this value). Anything that is not a UUID is ignored."
      +}
  3. Changed3 schema fields changed
    • changedInput schema / properties / mode / enum
      Previous value: -[
      -  "outcome",
      -  "feedback",
      -  "event",
      -  "voice"
      -]New value: +[
      +  "outcome",
      +  "feedback",
      +  "event",
      +  "voice",
      +  "note",
      +  "note_result"
      +]
    • addedInput schema / properties / note
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "[note] Authorized summary to share in this server's field-note store. Use a fresh session UUID per execution and stable request UUID for retries.",
      +  "properties": {
      +    "conditions": {
      +      "maxLength": 600,
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "evidence": {
      +      "maxLength": 1000,
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "observation_kind": {
      +      "enum": [
      +        "execution",
      +        "documentation",
      +        "hypothesis"
      +      ],
      +      "type": "string"
      +    },
      +    "procedure": {
      +      "maxLength": 2000,
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "request_id": {
      +      "format": "uuid",
      +      "type": "string"
      +    },
      +    "runtime": {
      +      "enum": [
      +        "claude",
      +        "codex",
      +        "gpt",
      +        "gemini",
      +        "other"
      +      ],
      +      "type": "string"
      +    },
      +    "scope": {
      +      "default": "field",
      +      "enum": [
      +        "field",
      +        "verification"
      +      ],
      +      "type": "string"
      +    },
      +    "service_id": {
      +      "maxLength": 160,
      +      "minLength": 1,
      +      "pattern": "^[a-zA-Z0-9_.-]+$",
      +      "type": "string"
      +    },
      +    "session_id": {
      +      "format": "uuid",
      +      "type": "string"
      +    },
      +    "share": {
      +      "const": true,
      +      "type": "boolean"
      +    },
      +    "symptom": {
      +      "maxLength": 600,
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "task": {
      +      "maxLength": 300,
      +      "minLength": 1,
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "service_id",
      +    "request_id",
      +    "session_id",
      +    "share",
      +    "runtime",
      +    "task",
      +    "symptom",
      +    "procedure",
      +    "conditions",
      +    "evidence",
      +    "observation_kind"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / properties / note_result
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "[note_result] Actual result of trying a note. Includes note_id, service_id, outcome, conditions and evidence.",
      +  "properties": {
      +    "conditions": {
      +      "maxLength": 600,
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "evidence": {
      +      "maxLength": 1000,
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "note_id": {
      +      "format": "uuid",
      +      "type": "string"
      +    },
      +    "outcome": {
      +      "enum": [
      +        "succeeded",
      +        "failed",
      +        "not_applicable"
      +      ],
      +      "type": "string"
      +    },
      +    "request_id": {
      +      "$ref": "#/properties/note/properties/request_id"
      +    },
      +    "runtime": {
      +      "$ref": "#/properties/note/properties/runtime"
      +    },
      +    "service_id": {
      +      "$ref": "#/properties/note/properties/service_id"
      +    },
      +    "session_id": {
      +      "$ref": "#/properties/note/properties/session_id"
      +    },
      +    "share": {
      +      "$ref": "#/properties/note/properties/share"
      +    }
      +  },
      +  "required": [
      +    "service_id",
      +    "request_id",
      +    "session_id",
      +    "share",
      +    "runtime",
      +    "note_id",
      +    "outcome",
      +    "conditions",
      +    "evidence"
      +  ],
      +  "type": "object"
      +}
  4. Changed4 schema fields changed
    • addedInput schema / properties / note_id
      Added value: +{
      +  "description": "[outcome] Field-note ID this report belongs to (format AWT-000). Stored as null if the format does not match."
      +}
    • addedInput schema / properties / provider_error_code
      Added value: +{
      +  "description": "[outcome] Provider's error code string (e.g. expired_access_token) or an RFC 9457 problem type URI (https://…, max 200 chars). Stored as null if the format does not match."
      +}
    • addedInput schema / properties / provider_request_id
      Added value: +{
      +  "description": "[outcome] Request or error ID the provider returned (e.g. from an x-request-id header). If present and well-formed, the record becomes traceable in the provider's own logs. Stored as null if the format does not match."
      +}
    • addedInput schema / properties / provider_request_id_source
      Added value: +{
      +  "description": "[outcome] Where the provider request ID came from: 'header:<name>' (e.g. header:x-request-id) or 'body:<field>' (e.g. body:id)."
      +}
  5. Changed4 schema fields changed
    • addedInput schema / properties / attempt_id
      Added value: +{
      +  "description": "[outcome] attempt_id returned by lookup.",
      +  "format": "uuid",
      +  "type": "string"
      +}
    • addedInput schema / properties / failed_step
      Added value: +{
      +  "description": "[outcome] Step identifier where execution stopped.",
      +  "maxLength": 200,
      +  "type": "string"
      +}
    • addedInput schema / properties / recipe_id
      Added value: +{
      +  "description": "[outcome] Recipe used for this attempt.",
      +  "type": "string"
      +}
    • addedInput schema / properties / recipe_version
      Added value: +{
      +  "description": "[outcome] Recipe version returned by lookup.",
      +  "exclusiveMinimum": 0,
      +  "type": "integer"
      +}
  6. Added

TDQS

A4/5.0
Behavior5/5

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

The description goes well beyond annotations by disclosing that note modes require share:true and become readable by others, possibly public on the hosted server, while a local stdio installation does not upload it. It also covers consent requirements, secret/PII omission, separate sharing behavior for other modes, and provider_request_id traceability.

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 is front-loaded with the core purpose, then moves through mode guidance, privacy constraints, and outcome traceability. It is dense but mostly earns its length; the final provider_request_id sentence feels slightly appended.

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?

For a 40-parameter tool with nested objects, 100% schema coverage, and no output schema, the description covers the critical behavioral risks around sharing and privacy. It omits detail on the outcome, feedback, event, and voice modes beyond local storage, but the schema supplies those parameter descriptions.

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 baseline is 3, but the description adds meaningful semantics for the share flag, the note/note_result modes, and provider_request_id traceability in provider logs. It does not explain most of the 40 parameters, but it clarifies the highest-risk ones.

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

Purpose4/5

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

The description opens with a specific verb and resource set: 'Record outcomes, feedback, events or experience in this installation.' It distinguishes the note and note_result modes, but it never contrasts the tool with its read-only siblings lookup and search_services.

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

Usage Guidelines3/5

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

The description gives mode-specific instructions for note and note_result ('Use mode note with note to contribute...') and states sharing consent conditions. However, it does not say when to choose report over lookup or search_services, nor does it give explicit when-not-to-use guidance.

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.