Skip to content

loopover_plan_repo_issues has no REST route, CLI command, or local stdio MCP tool #7764

Description

@JSONbored

Context

loopover_plan_repo_issues is registered only as a remote MCP tool (src/mcp/server.ts:2637, implementation server.ts:4326-4364, calling generateIssuePlanDrafts from src/services/issue-plan-draft.ts). It shipped via Epic #7424 / Spec #7426 (both closed 2026-07-20) — after the "MCP Platform Wave 1" tool-parity milestone had already closed. As a result it never entered the systematic "REST + CLI mirror" pipeline that every other analytical/write MCP tool in this repo went through: it has no REST route (nothing in src/api/routes.ts calls generateIssuePlanDrafts), no CLI command (zero mentions in packages/loopover-mcp/bin/loopover-mcp.ts), and no local stdio MCP tool. It's the only tool of its class (repo-scoped, maintainer-gated via requireRepoManageAccess — same gate as generateContributorIssueDrafts, which does have all three surfaces) missing all three mirrors.

Requirements

⚠️ Required pattern — mirror loopover_generate_contributor_issue_drafts's three-surface shape exactly, since it uses the identical requireRepoManageAccess gate and is the closest existing analog. Read its REST route in src/api/routes.ts, its CLI command in packages/loopover-mcp/bin/loopover-mcp.ts, and its stdio-tool registration before starting — do not invent a different shape for any of the three surfaces.

  • Add a REST route in src/api/routes.ts that calls generateIssuePlanDrafts (src/services/issue-plan-draft.ts), gated by requireRepoManageAccess the same way loopover_generate_contributor_issue_drafts's route is.
  • Add a CLI command to packages/loopover-mcp/bin/loopover-mcp.ts that calls the new REST route, following the existing CLI-command pattern used by its sibling maintain-family commands.
  • Add a registerStdioTool block for loopover_plan_repo_issues in the same file, calling the new CLI logic — mirroring the pattern at packages/loopover-mcp/bin/loopover-mcp.ts:2533-2600.
  • Do not change generateIssuePlanDrafts itself or the remote tool's existing behavior — this issue is purely about adding the three missing mirror surfaces.

Deliverables

  • REST route added in src/api/routes.ts for generateIssuePlanDrafts, gated the same way as loopover_generate_contributor_issue_drafts's route.
  • CLI command added to packages/loopover-mcp/bin/loopover-mcp.ts calling the new route.
  • loopover_plan_repo_issues registered as a local stdio MCP tool, calling the new CLI logic.

Test Coverage Requirements

src/api/routes.ts is under the top-level 99% patch coverage gate — the new route needs a regression test. packages/loopover-mcp — match whatever coverage convention its existing CLI-command/stdio-tool tests already use; confirm this package's own coverage.include scoping before assuming the src/** gate applies identically.

Expected Outcome

loopover_plan_repo_issues has full parity with every other analytical MCP tool in this repo: callable via remote MCP, local stdio MCP, CLI, and REST — not just remote MCP.

Links & Resources

Metadata

Metadata

Assignees

No one assigned

    Labels

    gittensor:featureGittensor-scored feature linked to a feature issue — scores a 0.25x multiplier.help wantedExtra attention is needed

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions