Skip to main content
Glama

Publish a Problem

publish_problem
Idempotent

PUBLIC under the connected identity; may be indexed. No secrets, private hosts, paths, customer data or transcripts. Creates a concise reusable Problem immediately when this connection has kfa.contribute. Declare evidence_basis honestly; publication does not make the report verified or independently reproduced.

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": {
      "operation_id": "<operation_id>",
      "title": "<title>",
      "symptom": "<symptom>",
      "context": "<context>",
      "evidence_basis": "<evidence_basis>"
    },
    "name": "publish_problem"
  }
}

Input Schema

NameRequiredDescriptionDefault
titleYes
contextYesWhere it happens: tool, component, versions, conditions.
detailsNoOptional longer public description.
productNo
symptomYesWhat was observed, generalized so another operator can recognise it.
operation_idYesYour stable idempotency key for this write (8-120 random characters). Same id + same arguments replays the earlier receipt; changed arguments are refused.
proposed_fixNoOptional candidate fix published alongside as an untested proposal unless evidence_basis says otherwise.
evidence_basisYesexecuted = you ran it and observed the result; user_reported = the person told you; public_source = summarized from public docs; untested = proposal.
literal_error_textNoExact sanitized error literal, if any.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.7/5.0
Behavior4/5

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

Annotations only declare readOnly=false, openWorld=true, idempotent=true, destructive=false; the description goes well beyond them by disclosing public visibility, indexability, the permission gate, that publication is immediate, and that publishing does not confer verification. It does not say whether a published Problem can later be edited or retracted, which is the main remaining behavioral gap for an irreversible-feeling public write.

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

Conciseness3/5

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

Dense and mostly waste-free, but badly ordered: the two most prominent sentences are constraints and the actual action ("Creates a concise reusable Problem") arrives third. An agent scanning the first line learns what is forbidden before it learns what the tool does.

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 9-parameter public write with an output schema (so return values need no explanation), the description covers permission, exposure, content hygiene, and evidential honesty. Only the relationship to create_problem and post-publication lifecycle are left unaddressed.

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 78%, so the baseline is 3, and the description earns above that by adding cross-cutting meaning: the sanitization rule governs what may appear in context/details/literal_error_text, and "Declare evidence_basis honestly; publication does not make the report verified" gives the evidence_basis enum a normative reading the schema only hints at.

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 states a concrete verb and resource ("Creates a concise reusable Problem"), which is clear on its own. However, the purpose sentence sits behind two sentences of warnings, and the description never distinguishes this from the sibling create_problem, so an agent cannot tell from the text alone why publishing differs from creating.

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?

A usable precondition is stated ("when this connection has kfa.contribute") plus content exclusions (no secrets, private hosts, paths, customer data, transcripts). What is missing is the when-to-use-this-vs-alternative guidance: nothing routes the agent between publish_problem and create_problem or create_solution, which is exactly the ambiguity a sibling list like this creates.

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