Skip to main content
Glama
io.github.JC7333/mandatia

io.github.JC7333/mandatia

by JC7333

report_issue

Report AMR bugs, confusing errors, or missing features with sanitized details. Returns a pre-filled issue link or creates the issue directly when an issue token is configured.

Instructions

Report a problem with AMR itself (a bug, a confusing error, a missing feature).

Write only what you observed: the tool name, what you sent, what came back. Never paste real mandate contents, personal data, keys or tokens: nothing from the registry is attached; PEM blocks, JWS-shaped tokens, GitHub tokens and bare Ed25519 private keys are refused, other secrets are not detected.

Without AMR_ISSUE_TOKEN in the server's environment, no network call is made: the result holds new_issue_url, a pre-filled link to open. With it, the issue is created on the AMR repository and its link is returned.

Args: title: Short summary, 5 to 120 characters. Example: "issue_action_token refuses an allowed action" description: What happened and what you expected, 10 to 4000 characters. version: AMR version you run. Example: "0.1.0" context: Optional, up to 1000 characters: MCP client, OS, Python version.

Returns: JSON string with key status: "not_sent" (no token): new_issue_url, issues_url, message; "created": issue_number, issue_url. On error: {"error": "...", "code": "..."} with code issue_report_invalid, issue_contains_secret or issue_not_created (then new_issue_url as a fallback).

Input Schema

NameRequiredDescriptionDefault
titleYes
contextNo
versionYes
descriptionYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4.7/5.0
Behavior5/5

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

No annotations are supplied, so the description carries the full disclosure burden and does so unusually well: it states that without AMR_ISSUE_TOKEN no network call occurs and a pre-filled URL is returned instead, and that with the token a real issue is filed publicly. It also discloses the secret-scanning behavior precisely, including its limit (PEM blocks, JWS-shaped tokens, GitHub tokens and bare Ed25519 keys are refused; other secrets are not detected), which is exactly the failure mode an agent needs to know before retrying.

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?

Front-loaded with purpose, then safety constraint, then environment-dependent behavior, then a compact Args/Returns block, so an agent reading only the first two lines already knows what to do. The Returns block partially restates the output schema (status, error codes), which is mild redundancy, but the code semantics (issue_contains_secret, issue_not_created fallback) justify most of it.

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 four-parameter mutation tool with no annotations, the definition covers both execution paths (local URL vs. remote creation), the secret-refusal failure mode, and the shape of every success and error outcome. Nothing an agent needs in order to call it correctly, or to explain the result to a user, is missing.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate and it does: each of the four parameters gets length bounds (5-120, 10-4000, up to 1000), a stated purpose, and a realistic example for title and version. It also marks context as optional, which the bare schema only implies via the null default.

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 and resource: report a problem with AMR itself, and enumerates the problem classes (bug, confusing error, missing feature). Every sibling tool operates on mandates, registry keys, or actions, so an agent can immediately tell this is the meta/feedback channel rather than a mandate operation.

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?

Usage context is clear: use this for defects in AMR tooling, and the write-only-what-you-observed instruction scopes what belongs in a report. It never names an explicit alternative or exclusion (e.g. that mandate disputes belong to contest_action), so routing is inferred from the phrase 'AMR itself' rather than stated.

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