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
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
Context
GET /v1/repos/:owner/:repo/registration-readiness(src/api/routes.ts, handlerbuildRegistrationReadinessResponse, backed bybuildRegistrationReadinessinsrc/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 asloopover_get_repo_onboarding_pack(which wrapsGET /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:buildSelfDogfoodRegistrationPackResponsecalls 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-exposedloopover_get_repo_onboarding_packandloopover_get_repo_contexttools (no extra session-only or internal-only gate). Therepo-owner-intakeMCP client profile inpackages/loopover-mcp/bin/loopover-mcp.jsexplicitly namesloopover_repo_owner_intake_readinessas a recommended PROMPT for that profile's stated purpose ("Review registration readiness...") — but there is no actual TOOL backing that readiness check; the profile'srecommendedToolscurrently only listsloopover_get_repo_contextandloopover_get_issue_quality, neither of which returns registration-readiness data.Requirements
loopover_get_registration_readinesstosrc/mcp/server.ts, following the same pattern asloopover_get_repo_onboarding_pack(a sibling repo-scoped, preview-only,ownerRepoShapeGET-wrapper tool it sits directly next to conceptually).ownerRepoShape({ owner, repo }).buildRegistrationReadinessResponse(env, fullName)function directly rather than an internal HTTP round-trip — do not reimplementbuildRegistrationReadiness's signal logic.Deliverables
loopover_get_registration_readinesstool registration insrc/mcp/server.tsloopover_get_registration_readinessto therepo-owner-intakeprofile'srecommendedToolslist inpackages/loopover-mcp/bin/loopover-mcp.js(AGENT_PROFILES), which already names the readiness prompt but has no backing toolTest Coverage Requirements
99%+ Codecov patch coverage on every changed line and branch in
src/mcp/server.tsfor the new tool handler, including the ready and not-ready branches.Expected Outcome
An MCP client (e.g. under the
repo-owner-intakeprofile) can callloopover_get_registration_readiness({ owner, repo })and get the same registration-readiness reportGET /v1/repos/:owner/:repo/registration-readinessalready returns, without needing direct REST/API access.Links & Resources
loopover_get_repo_onboarding_packinsrc/mcp/server.ts(same repo-scoped, preview-only,ownerRepoShapepattern; sibling capability bundled alongside this one inbuildSelfDogfoodRegistrationPackResponse)buildRegistrationReadinessResponse/buildRegistrationReadinessinsrc/api/routes.ts/src/signals/registration-readiness, routeGET /v1/repos/:owner/:repo/registration-readiness