Skip to content

feat(mcp): expose repo registration readiness as a read-only MCP tool (loopover_get_registration_readiness) #5824

Description

@JSONbored

Context

GET /v1/repos/:owner/:repo/registration-readiness (src/api/routes.ts, handler buildRegistrationReadinessResponse, backed by buildRegistrationReadiness in src/signals/registration-readiness) already exists and returns a repo's registration-readiness report — a distinct capability from the "onboarding pack" that already IS exposed via MCP as loopover_get_repo_onboarding_pack (which wraps GET /v1/repos/:owner/:repo/onboarding-pack/preview, "contribution lanes, label policy, and public-safe guidance"). Registration readiness is its own signal built from a different input set (see the route handler's own comment about needing to see focus-manifest fields unmerged, #2912), and is proven as a standalone, reusable payload: buildSelfDogfoodRegistrationPackResponse calls it directly alongside (and separately from) the config-recommendation builder to assemble the internal self-dogfood pack.

It sits behind the same generic /v1/repos/* API-token auth tier as the already-exposed loopover_get_repo_onboarding_pack and loopover_get_repo_context tools (no extra session-only or internal-only gate). The repo-owner-intake MCP client profile in packages/loopover-mcp/bin/loopover-mcp.js explicitly names loopover_repo_owner_intake_readiness as a recommended PROMPT for that profile's stated purpose ("Review registration readiness...") — but there is no actual TOOL backing that readiness check; the profile's recommendedTools currently only lists loopover_get_repo_context and loopover_get_issue_quality, neither of which returns registration-readiness data.

Requirements

  • Add a new tool loopover_get_registration_readiness to src/mcp/server.ts, following the same pattern as loopover_get_repo_onboarding_pack (a sibling repo-scoped, preview-only, ownerRepoShape GET-wrapper tool it sits directly next to conceptually).
  • Input schema: ownerRepoShape ({ owner, repo }).
  • Implementation: call the existing buildRegistrationReadinessResponse(env, fullName) function directly rather than an internal HTTP round-trip — do not reimplement buildRegistrationReadiness's signal logic.
  • Description text: state plainly this returns the repo's registration-readiness report (what's missing/present before/after registering with LoopOver) and that it is preview/advisory-only, not a registration action.
  • Add an output schema following the file's structured-output convention.

Deliverables

  • loopover_get_registration_readiness tool registration in src/mcp/server.ts
  • Unit/integration test(s) covering: a fully-ready repo, a repo with outstanding readiness gaps, and the not-found/unregistered-repo case
  • Add loopover_get_registration_readiness to the repo-owner-intake profile's recommendedTools list in packages/loopover-mcp/bin/loopover-mcp.js (AGENT_PROFILES), which already names the readiness prompt but has no backing tool

Test Coverage Requirements

99%+ Codecov patch coverage on every changed line and branch in src/mcp/server.ts for the new tool handler, including the ready and not-ready branches.

Expected Outcome

An MCP client (e.g. under the repo-owner-intake profile) can call loopover_get_registration_readiness({ owner, repo }) and get the same registration-readiness report GET /v1/repos/:owner/:repo/registration-readiness already returns, without needing direct REST/API access.

Links & Resources

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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