Generated tool names and help omit the object and outcome for basic actions #821

Open
opened 2026-10-02 13:16:39 +00:00 by kayg · 2 comments
Owner

Context: #427 rev-mcp-api review, #484, DESIGN §41. Source base c4a61e8cf090170f35b1bed3350d9de20c83ecd5. Priority: Low. Source review only; product code is unchanged.

Evidence:

  • scripts/action_registry.py:153 builds names from raw operation IDs, and :154 falls back to an operation ID with spaces when there is no summary.
  • contracts/actions.json has 23 eligible actions with one-word help. Examples: calternal_api_update for public-link settings, calternal_api_properties for Task edits, and calternal_api_head and calternal_api_terminate for tus uploads.
  • crates/calternal-server/src/mcp.rs:338 builds discovery from those fields. apps/web/src/lib/webmcp/generated.ts:82 uses the same help for title and description.
  • contracts/action-overrides.json:5 already shows the reuse path: create is named calternal_api_create_note with Create a Note help. The other ambiguous entries have no corresponding override.

Impact:

Discovery gives an agent no object type or outcome for basic operations. Generic fields such as id or path cannot supply all of the missing context. The tools also mix bare verbs and plugin-qualified names.

Expected:

Use the existing name/help override mechanism or route summaries to state an object and outcome. Prefer consistent plugin-qualified names for new tools; keep documented compatibility aliases for existing names. Include required revision, continuation and important result identities in useful help.

Regression test idea:

Add a metadata review check for the identified ambiguous operations. Assert that help states the object and action and that a name change preserves compatibility. Keep descriptions concise.

Duplicate check:

Searched all issue states for action-overrides, calternal_list_files and parity; no specific generated-help issue found.

Context: #427 rev-mcp-api review, #484, DESIGN §41. Source base `c4a61e8cf090170f35b1bed3350d9de20c83ecd5`. Priority: Low. Source review only; product code is unchanged. Evidence: - `scripts/action_registry.py:153` builds names from raw operation IDs, and `:154` falls back to an operation ID with spaces when there is no summary. - `contracts/actions.json` has 23 eligible actions with one-word help. Examples: calternal_api_update for public-link settings, calternal_api_properties for Task edits, and calternal_api_head and calternal_api_terminate for tus uploads. - `crates/calternal-server/src/mcp.rs:338` builds discovery from those fields. `apps/web/src/lib/webmcp/generated.ts:82` uses the same help for title and description. - `contracts/action-overrides.json:5` already shows the reuse path: create is named calternal_api_create_note with Create a Note help. The other ambiguous entries have no corresponding override. Impact: Discovery gives an agent no object type or outcome for basic operations. Generic fields such as id or path cannot supply all of the missing context. The tools also mix bare verbs and plugin-qualified names. Expected: Use the existing name/help override mechanism or route summaries to state an object and outcome. Prefer consistent plugin-qualified names for new tools; keep documented compatibility aliases for existing names. Include required revision, continuation and important result identities in useful help. Regression test idea: Add a metadata review check for the identified ambiguous operations. Assert that help states the object and action and that a name change preserves compatibility. Keep descriptions concise. Duplicate check: Searched all issue states for `action-overrides`, `calternal_list_files` and `parity`; no specific generated-help issue found.
Author
Owner

Confirmed the ambiguous entries from the issue, including calternal_api_update, calternal_api_properties, calternal_api_head and calternal_api_terminate. Twenty-four basic actions now have descriptive canonical names, object/outcome help and their former names as aliases. MCP and WebMCP register both names with the same schema and route; download, cursor and stable-ID guidance is included. Contract and adapter tests are pending generation.

Confirmed the ambiguous entries from the issue, including `calternal_api_update`, `calternal_api_properties`, `calternal_api_head` and `calternal_api_terminate`. Twenty-four basic actions now have descriptive canonical names, object/outcome help and their former names as aliases. MCP and WebMCP register both names with the same schema and route; download, cursor and stable-ID guidance is included. Contract and adapter tests are pending generation.
Author
Owner

Generated tool names now have a canonical descriptive name and keep the old calternal_api_<id> name as an alias in MCP and WebMCP. I found the CLI still listed only operation IDs and rejected those names; its list now exposes name/aliases, and action run accepts the ID, canonical name or alias under the same confirmation policy. Registry tests cover the exact names/help and WebMCP alias registration; a CLI regression test is added. Final crate gates are pending.

Generated tool names now have a canonical descriptive name and keep the old `calternal_api_<id>` name as an alias in MCP and WebMCP. I found the CLI still listed only operation IDs and rejected those names; its list now exposes `name`/`aliases`, and `action run` accepts the ID, canonical name or alias under the same confirmation policy. Registry tests cover the exact names/help and WebMCP alias registration; a CLI regression test is added. Final crate gates are pending.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/calternal#821
No description provided.