Skip to content

loopover_get_activation_preview has a REST route but no remote MCP tool or local stdio MCP tool #7799

Description

@JSONbored

Context

GET /v1/repos/:owner/:repo/activation-preview (src/api/routes.ts:3002) returns the maintainer-activation demo — "here's what LoopOver would have surfaced" over a repo's recent PRs (buildMaintainerActivationPreview), deterministic and gated by requireRepoMaintainer — the same per-repo maintainer gate loopover_get_maintainer_noise uses. It has no remote MCP tool and no local stdio MCP tool, unlike its maintainer-noise sibling which has both.

Requirements

⚠️ Required pattern — mirror loopover_get_maintainer_noise's two-surface shape exactly (src/mcp/server.ts:1923-1930, stdio registration packages/loopover-mcp/bin/loopover-mcp.ts:1459-1467). No separate human CLI verb exists for that sibling either — do not add one here.

  • Register loopover_get_activation_preview as a remote MCP tool in src/mcp/server.ts, using ownerRepoShape as input, calling the existing REST route's underlying data path (getRepository + resolveRepositorySettings + listPullRequestsbuildMaintainerActivationPreview, exactly as the route already assembles it).
  • Add loopover_get_activation_preview to MCP_TOOL_CATEGORIES as "maintainer".
  • Register loopover_get_activation_preview as a local stdio MCP tool in packages/loopover-mcp/bin/loopover-mcp.ts, calling GET ${repoBase}/activation-preview via apiGet.
  • Do not add a new human-typable CLI verb — out of scope, matching maintainer-noise.
  • Do not change buildMaintainerActivationPreview, the REST route, or its requireRepoMaintainer gate.

Deliverables

  • loopover_get_activation_preview registered as a remote MCP tool in src/mcp/server.ts, category "maintainer".
  • loopover_get_activation_preview registered as a local stdio MCP tool in packages/loopover-mcp/bin/loopover-mcp.ts.
  • No new REST route and no new human CLI verb (both explicitly out of scope).

Test Coverage Requirements

src/mcp/server.ts and packages/loopover-mcp are both under this repo's 99%+ Codecov patch gate. Add a unit test for the new remote-tool registration mirroring the loopover_get_maintainer_noise test, and a stdio-tool test matching the existing sibling-tool convention (verify packages/loopover-mcp's own coverage.include scoping first).

Expected Outcome

loopover_get_activation_preview is reachable via remote MCP and local stdio MCP, matching its existing REST route — an MCP client can pull the maintainer-activation demo the same way it already can for maintainer-noise.

Links & Resources

  • src/api/routes.ts:3002 (existing REST route, requireRepoMaintainer-gated)
  • src/mcp/server.ts:1923-1930, packages/loopover-mcp/bin/loopover-mcp.ts:1459-1467 (the loopover_get_maintainer_noise pattern to mirror)
  • src/mcp/server.ts:1798-1890 (MCP_TOOL_CATEGORIES map)

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