Skip to main content
Glama

Generate interview report

generate_interview_report
Destructive

[Results] Generate an interview result report (HTML/PDF/JSON) for a completed interview. The report is decision-support material for a human reviewer, not an automated hiring decision. A report in a language other than the result's is translated, at 0.1 credit per result. interview_result_id from list_interview_results: a single-stage row's id, a multi-stage row's interview_result_id.

Every argument in full, with examples: get_tool_reference.

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": {
      "export_type": "<export_type>"
    },
    "name": "generate_interview_report"
  }
}

Input Schema

NameRequiredDescriptionDefault
templateNoReport layout: `classic`, `modern` or `one_pager`. Omit for the merchant default (modern when unset).
llm_modelNoYour model id, e.g. "claude-opus-4-8"; "unknown" if unsure. For analytics.
store_fileNoWhen true (pdf only), persist the file to storage and return a signed URL.
export_typeYesOutput format. Values: `pdf`: a signed URL to a PDF file | `html`: the report as an HTML string | `json`: the report data as structured JSON.
conversation_idNoThe conversation_id this server returned earlier in this conversation, unchanged, including after later user messages. Omit it if you have none. Recorded for the server developer's analytics.
interview_result_idNoThe interview result to report on (a result id from list_interview_results).
interview_result_idsNoGenerate a single combined report for multiple results.
export_features_resultNoWhich sections the report includes (contact details, AI assessment, transcript, scores...); its template is for a saved auto-export configuration (the top-level template wins). Left out: contact details, AI assessment, analytics, transcript and files are included; recordings, the rubric and the candidate packet are not.

Output Schema

NameRequiredDescriptionDefault
resultYes
_mcp_instructionsNoServer-issued metadata for this conversation.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • addedInput schema / properties / export_features_result / description
      Added value: +"Which sections the report includes (contact details, AI assessment, transcript, scores...); its template is for a saved auto-export configuration (the top-level template wins). Left out: contact details, AI assessment, analytics, transcript and files are included; recordings, the rubric and the candidate packet are not."
    • changedInput schema / properties / export_type / description
      Previous value: -"Output format."New value: +"Output format. Values: `pdf`: a signed URL to a PDF file | `html`: the report as an HTML string | `json`: the report data as structured JSON."
    • changedInput schema / properties / interview_result_id / description
      Previous value: -"The interview result to report on (interview_result.id)."New value: +"The interview result to report on (a result id from list_interview_results)."
    • changedInput schema / properties / template / allOf
      Previous value: -[
      -  {
      -    "enum": [
      -      "classic",
      -      "modern",
      -      "one_pager"
      -    ],
      -    "type": "string"
      -  },
      -  {
      -    "description": "Report layout: `classic`, `modern` or `one_pager`. Omit for the merchant default (modern when unset)."
      -  }
      -]New value: +[
      +  {
      +    "description": "Report layout. Omit to use the merchant's default from Branding & Configuration (modern when none is set).",
      +    "enum": [
      +      "classic",
      +      "modern",
      +      "one_pager"
      +    ],
      +    "type": "string"
      +  },
      +  {}
      +]
    • addedInput schema / properties / template / description
      Added value: +"Report layout: `classic`, `modern` or `one_pager`. Omit for the merchant default (modern when unset)."
  2. Changed2 schema fields changed
    • addedInput schema / properties / export_type / description
      Added value: +"Output format."
    • addedInput schema / properties / interview_result_id / description
      Added value: +"The interview result to report on (interview_result.id)."
  3. Changed20 schema fields changed
    • removedInput schema / properties / export_features_result / properties / ai_recruiter_assessment / description
      Removed value: -"Include the AI recruiter assessment: resume analysis, overall AI analysis, and the why-hire / why-not-hire summaries."
    • removedInput schema / properties / export_features_result / properties / ai_scoring_rubric / description
      Removed value: -"Include the AI scoring rubric — the candidate-expectation buckets (strong / moderate / weak). Only takes effect when ai_recruiter_assessment is also true. A json export carries the rubric unless this is sent as false."
    • removedInput schema / properties / export_features_result / properties / analytics / description
      Removed value: -"Include speech analytics for each answer (its scores, speech accuracy, fluency, recognition confidence, sentiment, cadence / words-per-minute)."
    • removedInput schema / properties / export_features_result / properties / answer_recording / description
      Removed value: -"Include a signed recording URL (audio/video) for each individual answer."
    • removedInput schema / properties / export_features_result / properties / contact_details / description
      Removed value: -"Include the candidate's contact details (name, email, LinkedIn, phone number, physical address, photo); without them the report names the candidate by id. Applies to every export_type, json included."
    • removedInput schema / properties / export_features_result / properties / files / description
      Removed value: -"Include the candidate's uploaded files (resume and cover letter) as signed page URLs."
    • removedInput schema / properties / export_features_result / properties / group_by_question / description
      Removed value: -"Group answers under their expected questions (instead of chronological order), including questions that were not reached."
    • removedInput schema / properties / export_features_result / properties / job_description / description
      Removed value: -"Candidate packet: start the report with the job description of the position (or of the interview when it has no position)."
    • removedInput schema / properties / export_features_result / properties / meeting_notes / description
      Removed value: -"Candidate packet: add the notes and evaluation forms filled in on the meeting steps of the application, after the interview."
    • removedInput schema / properties / export_features_result / properties / mojito_language_code / description
      Removed value: -"Report language. Optional: if omitted, the report uses each result's own language code. If provided and it differs from the result's language, the report content is translated, which costs 0.1 credit per result."
    • removedInput schema / properties / export_features_result / properties / mojito_language_code / example
      Removed value: -"en"
    • removedInput schema / properties / export_features_result / properties / session_recording / description
      Removed value: -"Include the full interview session recording and the video introduction as signed URLs."
    • removedInput schema / properties / export_features_result / properties / template / description
      Removed value: -"Report layout for this export. Same values as the top-level `template`; the top-level field wins when both are given. Kept here so a saved auto-export configuration carries its template."
    • removedInput schema / properties / export_features_result / properties / template / example
      Removed value: -"modern"
    • removedInput schema / properties / export_features_result / properties / transcript / description
      Removed value: -"Include the full interview transcript: each question, the candidate answer, and the per-answer AI analysis."
    • removedInput schema / properties / interview_result_id / example
      Removed value: -"93c98d21-e04d-4a84-9afa-ed154cf73636"
    • addedInput schema / properties / llm_model
      Added value: +{
      +  "description": "Your model id, e.g. \"claude-opus-4-8\"; \"unknown\" if unsure. For analytics.",
      +  "type": "string"
      +}
    • changedInput schema / properties / template / allOf
      Previous value: -[
      -  {
      -    "description": "Report layout for this export. Same values as the top-level `template`; the top-level field wins when both are given. Kept here so a saved auto-export configuration carries its template.",
      -    "enum": [
      -      "classic",
      -      "modern",
      -      "one_pager"
      -    ],
      -    "example": "modern",
      -    "type": "string"
      -  },
      -  {
      -    "description": "Report layout: `classic`, `modern` or `one_pager`. Omit for the merchant default (modern when unset)."
      -  }
      -]New value: +[
      +  {
      +    "enum": [
      +      "classic",
      +      "modern",
      +      "one_pager"
      +    ],
      +    "type": "string"
      +  },
      +  {
      +    "description": "Report layout: `classic`, `modern` or `one_pager`. Omit for the merchant default (modern when unset)."
      +  }
      +]
    • changedOutput schema / properties / result / anyOf
      Previous value: -[
      -  {
      -    "description": "Returned when `export_type` is `pdf`.",
      -    "properties": {
      -      "pdf_export_url": {
      -        "description": "Signed URL of the generated PDF.",
      -        "format": "uri",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "pdf_export_valid_until": {
      -        "description": "ISO timestamp until which the signed URL is valid.",
      -        "example": "2026-09-01T12:00:00.000Z",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      }
      -    },
      -    "required": [
      -      "pdf_export_url",
      -      "pdf_export_valid_until"
      -    ],
      -    "title": "PDF export",
      -    "type": "object"
      -  },
      -  {
      -    "description": "Returned when `export_type` is `html`.",
      -    "properties": {
      -      "html_export": {
      -        "description": "The full report rendered as an HTML document string.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      }
      -    },
      -    "required": [
      -      "html_export"
      -    ],
      -    "title": "HTML export",
      -    "type": "object"
      -  },
      -  {
      -    "description": "Returned when `export_type` is `json`.",
      -    "properties": {
      -      "json_export": {
      -        "properties": {
      -          "results": {
      -            "items": {
      -              "properties": {
      -                "data": {
      -                  "additionalProperties": {},
      -                  "type": [
      -                    "object",
      -                    "null"
      -                  ]
      -                },
      -                "files": {
      -                  "items": {
      -                    "properties": {
      -                      "page": {
      -                        "type": [
      -                          "number",
      -                          "null"
      -                        ]
      -                      },
      -                      "page_signed": {
      -                        "type": [
      -                          "string",
      -                          "null"
      -                        ]
      -                      },
      -                      "type": {
      -                        "type": [
      -                          "string",
      -                          "null"
      -                        ]
      -                      }
      -                    },
      -                    "required": [
      -                      "type",
      -                      "page",
      -                      "page_signed"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "type": [
      -                    "array",
      -                    "null"
      -                  ]
      -                }
      -              },
      -              "required": [
      -                "data",
      -                "files"
      -              ],
      -              "type": "object"
      -            },
      -            "type": [
      -              "array",
      -              "null"
      -            ]
      -          },
      -          "table": {
      -            "description": "Overview table HTML, present only for multi-result exports.",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          }
      -        },
      -        "required": [
      -          "results"
      -        ],
      -        "type": [
      -          "object",
      -          "null"
      -        ]
      -      }
      -    },
      -    "required": [
      -      "json_export"
      -    ],
      -    "title": "JSON export",
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "pdf_export_url": {
      +        "format": "uri",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "pdf_export_valid_until": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "pdf_export_url",
      +      "pdf_export_valid_until"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "html_export": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "html_export"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "json_export": {
      +        "properties": {
      +          "results": {
      +            "items": {
      +              "properties": {
      +                "data": {
      +                  "additionalProperties": {},
      +                  "type": [
      +                    "object",
      +                    "null"
      +                  ]
      +                },
      +                "files": {
      +                  "items": {
      +                    "properties": {
      +                      "page": {
      +                        "type": [
      +                          "number",
      +                          "null"
      +                        ]
      +                      },
      +                      "page_signed": {
      +                        "type": [
      +                          "string",
      +                          "null"
      +                        ]
      +                      },
      +                      "type": {
      +                        "type": [
      +                          "string",
      +                          "null"
      +                        ]
      +                      }
      +                    },
      +                    "required": [
      +                      "type",
      +                      "page",
      +                      "page_signed"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": [
      +                    "array",
      +                    "null"
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "data",
      +                "files"
      +              ],
      +              "type": "object"
      +            },
      +            "type": [
      +              "array",
      +              "null"
      +            ]
      +          },
      +          "table": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "results"
      +        ],
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "json_export"
      +    ],
      +    "type": "object"
      +  }
      +]
    • removedOutput schema / properties / result / description
      Removed value: -"The generated report. Exactly one of the three shapes below is returned, selected by the request `export_type`: `pdf` → `{ pdf_export_url, pdf_export_valid_until }`; `html` → `{ html_export }`; `json` → `{ json_export }`."
  4. Changed3 schema fields changed
    • changedInput schema / properties / export_features_result / properties / ai_scoring_rubric / description
      Previous value: -"Include the AI scoring rubric — the candidate-expectation buckets (strong / moderate / weak). Only takes effect when ai_recruiter_assessment is also true."New value: +"Include the AI scoring rubric — the candidate-expectation buckets (strong / moderate / weak). Only takes effect when ai_recruiter_assessment is also true. A json export carries the rubric unless this is sent as false."
    • changedInput schema / properties / export_features_result / properties / analytics / description
      Previous value: -"Include speech analytics for each answer (speech accuracy, fluency, recognition confidence, sentiment, cadence / words-per-minute)."New value: +"Include speech analytics for each answer (its scores, speech accuracy, fluency, recognition confidence, sentiment, cadence / words-per-minute)."
    • changedInput schema / properties / export_features_result / properties / contact_details / description
      Previous value: -"Include the candidate's contact details (email, LinkedIn, phone number, physical address)."New value: +"Include the candidate's contact details (name, email, LinkedIn, phone number, physical address, photo); without them the report names the candidate by id. Applies to every export_type, json included."
  5. Changed19 schema fields changed
    • changedInput schema / properties / conversation_id / description
      Previous value: -"Pass the exact conversation_id from the server's previous response, unchanged. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it. Keep passing the same conversation_id for the rest of the conversation, including after later user messages or on a different task; do not reset it when the user starts a new request."New value: +"The conversation_id this server returned earlier in this conversation, unchanged, including after later user messages. Omit it if you have none. Recorded for the server developer's analytics."
    • changedInput schema / properties / export_features_result / properties / ai_recruiter_assessment / type
      Previous value: -[
      -  "boolean",
      -  "null"
      -]New value: +"boolean"
    • changedInput schema / properties / export_features_result / properties / ai_scoring_rubric / type
      Previous value: -[
      -  "boolean",
      -  "null"
      -]New value: +"boolean"
    • changedInput schema / properties / export_features_result / properties / analytics / type
      Previous value: -[
      -  "boolean",
      -  "null"
      -]New value: +"boolean"
    • changedInput schema / properties / export_features_result / properties / answer_recording / type
      Previous value: -[
      -  "boolean",
      -  "null"
      -]New value: +"boolean"
    • changedInput schema / properties / export_features_result / properties / contact_details / type
      Previous value: -[
      -  "boolean",
      -  "null"
      -]New value: +"boolean"
    • changedInput schema / properties / export_features_result / properties / files / type
      Previous value: -[
      -  "boolean",
      -  "null"
      -]New value: +"boolean"
    • changedInput schema / properties / export_features_result / properties / group_by_question / type
      Previous value: -[
      -  "boolean",
      -  "null"
      -]New value: +"boolean"
    • changedInput schema / properties / export_features_result / properties / job_description / type
      Previous value: -[
      -  "boolean",
      -  "null"
      -]New value: +"boolean"
    • changedInput schema / properties / export_features_result / properties / meeting_notes / type
      Previous value: -[
      -  "boolean",
      -  "null"
      -]New value: +"boolean"
    • changedInput schema / properties / export_features_result / properties / mojito_language_code / enum
      Previous value: -[
      -  "ar",
      -  "bg",
      -  "zh",
      -  "hr",
      -  "cs",
      -  "da",
      -  "nl",
      -  "en",
      -  "fil",
      -  "fi",
      -  "fr",
      -  "de",
      -  "el",
      -  "hi",
      -  "hu",
      -  "id",
      -  "it",
      -  "ja",
      -  "ko",
      -  "ms",
      -  "no",
      -  "pl",
      -  "pt",
      -  "br",
      -  "ro",
      -  "ru",
      -  "sk",
      -  "es",
      -  "sv",
      -  "ta",
      -  "th",
      -  "tr",
      -  "uk",
      -  "vi",
      -  null
      -]New value: +[
      +  "ar",
      +  "bg",
      +  "zh",
      +  "hr",
      +  "cs",
      +  "da",
      +  "nl",
      +  "en",
      +  "fil",
      +  "fi",
      +  "fr",
      +  "de",
      +  "el",
      +  "hi",
      +  "hu",
      +  "id",
      +  "it",
      +  "ja",
      +  "ko",
      +  "ms",
      +  "no",
      +  "pl",
      +  "pt",
      +  "br",
      +  "ro",
      +  "ru",
      +  "sk",
      +  "es",
      +  "sv",
      +  "ta",
      +  "th",
      +  "tr",
      +  "uk",
      +  "vi"
      +]
    • changedInput schema / properties / export_features_result / properties / mojito_language_code / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +"string"
    • changedInput schema / properties / export_features_result / properties / session_recording / type
      Previous value: -[
      -  "boolean",
      -  "null"
      -]New value: +"boolean"
    • changedInput schema / properties / export_features_result / properties / transcript / type
      Previous value: -[
      -  "boolean",
      -  "null"
      -]New value: +"boolean"
    • changedInput schema / properties / export_type / enum
      Previous value: -[
      -  "pdf",
      -  "html",
      -  "json",
      -  null
      -]New value: +[
      +  "pdf",
      +  "html",
      +  "json"
      +]
    • changedInput schema / properties / export_type / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +"string"
    • changedInput schema / properties / interview_result_id / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +"string"
    • changedInput schema / properties / interview_result_ids / type
      Previous value: -[
      -  "array",
      -  "null"
      -]New value: +"array"
    • changedInput schema / properties / store_file / type
      Previous value: -[
      -  "boolean",
      -  "null"
      -]New value: +"boolean"
  6. Changed2 schema fields changed
    • addedInput schema / properties / export_features_result / properties / job_description
      Added value: +{
      +  "description": "Candidate packet: start the report with the job description of the position (or of the interview when it has no position).",
      +  "type": [
      +    "boolean",
      +    "null"
      +  ]
      +}
    • addedInput schema / properties / export_features_result / properties / meeting_notes
      Added value: +{
      +  "description": "Candidate packet: add the notes and evaluation forms filled in on the meeting steps of the application, after the interview.",
      +  "type": [
      +    "boolean",
      +    "null"
      +  ]
      +}
  7. Changed1 schema field changed
    • changedInput schema / properties / conversation_id / description
      Previous value: -"Echo the conversation_id from the server's previous response. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it."New value: +"Pass the exact conversation_id from the server's previous response, unchanged. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it. Keep passing the same conversation_id for the rest of the conversation, including after later user messages or on a different task; do not reset it when the user starts a new request."
  8. Changed2 schema fields changed
    • addedInput schema / properties / conversation_id
      Added value: +{
      +  "description": "Echo the conversation_id from the server's previous response. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / _mcp_instructions
      Added value: +{
      +  "description": "Server-issued metadata for this conversation.",
      +  "properties": {
      +    "conversation_id": {
      +      "description": "The server-issued conversation identifier.",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  9. Changed1 schema field changed
    • changedInput schema / properties / template / allOf
      Previous value: -[
      -  {
      -    "description": "Report layout for this export. Same values as the top-level `template`; the top-level field wins when both are given. Kept here so a saved auto-export configuration carries its template.",
      -    "enum": [
      -      "classic",
      -      "modern",
      -      "one_pager"
      -    ],
      -    "example": "modern",
      -    "type": "string"
      -  },
      -  {
      -    "description": "Report layout: `classic` (default), `modern` or `one_pager`."
      -  }
      -]New value: +[
      +  {
      +    "description": "Report layout for this export. Same values as the top-level `template`; the top-level field wins when both are given. Kept here so a saved auto-export configuration carries its template.",
      +    "enum": [
      +      "classic",
      +      "modern",
      +      "one_pager"
      +    ],
      +    "example": "modern",
      +    "type": "string"
      +  },
      +  {
      +    "description": "Report layout: `classic`, `modern` or `one_pager`. Omit for the merchant default (modern when unset)."
      +  }
      +]
  10. Changed2 schema fields changed
    • addedInput schema / properties / export_features_result / properties / template
      Added value: +{
      +  "description": "Report layout for this export. Same values as the top-level `template`; the top-level field wins when both are given. Kept here so a saved auto-export configuration carries its template.",
      +  "enum": [
      +    "classic",
      +    "modern",
      +    "one_pager"
      +  ],
      +  "example": "modern",
      +  "type": "string"
      +}
    • addedInput schema / properties / template
      Added value: +{
      +  "allOf": [
      +    {
      +      "description": "Report layout for this export. Same values as the top-level `template`; the top-level field wins when both are given. Kept here so a saved auto-export configuration carries its template.",
      +      "enum": [
      +        "classic",
      +        "modern",
      +        "one_pager"
      +      ],
      +      "example": "modern",
      +      "type": "string"
      +    },
      +    {
      +      "description": "Report layout: `classic` (default), `modern` or `one_pager`."
      +    }
      +  ]
      +}
  11. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly=false, destructive=true, idempotent=false, openWorld=true, so the safety bar is lower. The description still adds material behavior the annotations lack: the report is decision-support for a human reviewer, non-default-language output is translated at 0.1 credit per result, and store_file persists a file to storage. It does not explain credit cost for the default path or why the operation is flagged destructive, which would have completed the picture.

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?

Effectively four short, front-loaded blocks: purpose, reviewer framing, cost note, identifier rule, plus a pointer to get_tool_reference for full argument detail. Dense but no obviously wasted sentences; the pointer replaces would-be bloat.

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?

An output schema exists, so return values need no explanation, and the description covers format, cost, idempotency-adjacent side effects (file persistence) and identifier sourcing. It is slightly incomplete for a tool with a nested export_features_result object and a multi-id variant that goes unmentioned.

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 baseline is 3 and the schema already explains template, export_type, store_file and export_features_result defaults. The description adds only the id-field selection rule, and says nothing about `interview_result_ids` for combined reports or how it interacts with the singular id.

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?

States a specific verb and resource ("Generate an interview result report (HTML/PDF/JSON) for a completed interview") and names the sibling that supplies the identifier (list_interview_results). It stops short of distinguishing itself from report-oriented siblings such as get_report or run_report, so the agent cannot tell from this text alone which report tool to pick.

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?

Gives a real precondition ("for a completed interview") and routing guidance for the identifier: a single-stage row's `id` versus a multi-stage row's `interview_result_id` from list_interview_results. It does not state when to prefer this over get_report/run_report, so alternatives remain unresolved.

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.