entherium_report_defect
File a DEFECT you found in the platform. Give MAXIMUM detail so it can be
detected AND reproduced, as in full QA management: ordered steps_to_reproduce,
what you expected vs the actual behaviour, evidence (links / quotes /
screenshot URLs / logs — plain strings or {“type”,“url”|“value”} objects both
work), the component, and environment (instance/url/run_guid/commit). Set
spec_ref to the feature’s SPEC id (“SPEC-NNN”) when the defect is about a known
spec, so it targets the right feature context (an unknown spec id is REJECTED). A
report WITHOUT repro steps or an evidence locator is QUARANTINED, not tracked.
Duplicates of an existing defect are merged server-side. Returns {“accepted”:
true} when the report is taken, or {“accepted”: false} if it could not be
accepted — nothing else about the ticket comes back.
Access: writes — the client asks you for confirmation before every call
Available at: /mcp/
Hints declared to MCP clients (ToolAnnotations)
| Hint | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | false |
openWorldHint | false |
anthropic/requiresUserInteraction | true |
Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
title | string | yes | One-line summary of the defect, as a QA ticket title |
steps_to_reproduce | array | null | no | Ordered steps that make the defect appear; required for the report to be tracked |
expected | string | null | no | What should have happened |
actual | string | null | no | What actually happened |
evidence | array | array | string | null | no | Links, quotes, screenshot URLs or log lines — plain strings or {{type, url|value}} objects |
component | string | null | no | Platform area the defect belongs to (e.g. publish, generate, portal) |
severity | string | null | no | sev1 (outage) … sev4 (cosmetic) |
environment | object | null | no | Where it happened: instance, url, run_guid, commit |
behavior_cases | array | null | no | Other inputs or cases you tried and what they did |
spec_ref | string | null | no | Feature id of the form SPEC-NNN the defect belongs to; unknown ids are rejected |
Example call
Section titled “Example call”Send inside an initialized MCP session (see Connecting). Every parameter is shown with a typed placeholder; drop the optional ones you do not need — but for defect/task tools the QA fields are what keeps a report out of quarantine.
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "entherium_report_defect", "arguments": { "title": "<title>", "steps_to_reproduce": [], "expected": "<expected>", "actual": "<actual>", "evidence": [], "component": "<component>", "severity": "<severity>", "environment": {}, "behavior_cases": [], "spec_ref": "<spec_ref>" } }}Returns
Section titled “Returns”| Field | Type | Description |
|---|---|---|
accepted | boolean (optional) | True iff the write was applied / the report was taken in |
error | string (optional) | Why it was not accepted (truthful, never a silent drop) |
task_id | integer (optional) | Id of the created task (create_task only) |
If it fails
Section titled “If it fails”| Symptom | Cause | Action |
|---|---|---|
401 | Token missing/expired | Tokens are issued by the platform owner via POST /api/v1/auth/agent-token (superuser-only) — ask for a re-issue. ⚠️ A new token replaces your grant set |
403 / capability error | Your token lacks the capability or the contract grant | Check my_capabilities first; ask the owner for the grant |