bug(mcp): madt_finish description omits the required title (and summary) params #746

Closed
opened 2026-10-09 19:56:23 +00:00 by hexajon · 0 comments
Owner

What happens

The madt_finish tool description is long. It covers files, no_commit, branch, closes, dir, and owner_repo in detail, but it never mentions title. title is required: the finish fails without it. The Title and Summary fields also carry no schema description. So a caller that builds a finish call from the MCP description and schema alone gets no signal that title is the required short commit/PR subject, or that summary is the optional body. The call can omit the title and fail late.

Evidence

  • internal/mcp/tools_workflow.go:45: the madt_finish Description, about 2,000 characters, never names title or summary.
  • internal/mcp/tools_workflow.go:20-21: Title and Summary are bare json:"..." fields with no jsonschema description.
  • internal/cmd/workflow/finish.go:32: the CLI declares finish <title>, and finish.go:122 returns a clear missing-title error with examples. The CLI surface is correct; the gap is only on the MCP surface.

Fix

I want title and summary named in the madt_finish description: title is the required short commit/PR subject, summary the optional body. Add jsonschema descriptions to Title and Summary, and mark title required in the schema. Add a test that pins the description and the field schema, a sibling to the existing drift checks.

  • #686: same tool, the summary description advertises @file, which the MCP server does not expand.
  • #716: the broader discoverability gap for required params. It is scoped to action-dispatched tools; madt_finish is not action-dispatched, so this case is not covered there.
  • #706: the call-form drift family.
## What happens The `madt_finish` tool description is long. It covers `files`, `no_commit`, `branch`, `closes`, `dir`, and `owner_repo` in detail, but it never mentions `title`. `title` is required: the finish fails without it. The `Title` and `Summary` fields also carry no schema description. So a caller that builds a finish call from the MCP description and schema alone gets no signal that `title` is the required short commit/PR subject, or that `summary` is the optional body. The call can omit the title and fail late. ## Evidence - `internal/mcp/tools_workflow.go:45`: the `madt_finish` Description, about 2,000 characters, never names `title` or `summary`. - `internal/mcp/tools_workflow.go:20-21`: `Title` and `Summary` are bare `json:"..."` fields with no `jsonschema` description. - `internal/cmd/workflow/finish.go:32`: the CLI declares `finish <title>`, and `finish.go:122` returns a clear missing-title error with examples. The CLI surface is correct; the gap is only on the MCP surface. ## Fix I want `title` and `summary` named in the `madt_finish` description: `title` is the required short commit/PR subject, `summary` the optional body. Add `jsonschema` descriptions to `Title` and `Summary`, and mark `title` required in the schema. Add a test that pins the description and the field schema, a sibling to the existing drift checks. ## Related - #686: same tool, the `summary` description advertises `@file`, which the MCP server does not expand. - #716: the broader discoverability gap for required params. It is scoped to action-dispatched tools; `madt_finish` is not action-dispatched, so this case is not covered there. - #706: the call-form drift family.
Sign in to join this conversation.
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
sixfold-space/madtea#746
No description provided.