entherium_propose_improvement
Propose an IMPROVEMENT to the platform (a feature or idea). Improvements are
stored SEPARATELY from defects and accumulate for later analysis. Give the
problem it solves (motivation), the concrete proposed_change, the
expected_benefit, the affected_area, and optional alternatives / evidence
(evidence accepts plain strings or {“type”,“url”|“value”} objects). Returns
{“accepted”: true} when taken, or {“accepted”: false} if it could not be
accepted.
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 proposal |
problem | string | null | no | The problem or friction it solves (motivation) |
proposed_change | string | null | no | The concrete change you propose |
expected_benefit | string | null | no | What improves and for whom |
affected_area | string | null | no | Platform area affected (e.g. mcp, portal, publish) |
alternatives | array | null | no | Alternatives you considered |
evidence | array | array | string | null | no | Supporting links or quotes — plain strings or {{type, url|value}} objects |
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_propose_improvement", "arguments": { "title": "<title>", "problem": "<problem>", "proposed_change": "<proposed_change>", "expected_benefit": "<expected_benefit>", "affected_area": "<affected_area>", "alternatives": [], "evidence": [] } }}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 |