feat(mcp): register loopover_get_repo_onboarding_pack as a local stdio tool#7968
feat(mcp): register loopover_get_repo_onboarding_pack as a local stdio tool#7968rsnetworkinginc wants to merge 1 commit into
Conversation
…o tool
loopover_get_repo_onboarding_pack has a remote MCP tool (src/mcp/server.ts) and
a `maintain onboarding-pack` CLI mirror, but no local stdio MCP tool
registration, so a self-host operator using the local MCP server could not call
it.
Adds the registerStdioTool block following the existing sibling get-repo pattern
(loopover_get_repo_focus_manifest et al.): a repoOnboardingPackShape zod const
(owner/repo required, refresh optional), a STDIO_TOOL_DESCRIPTORS entry, and a
thin GET proxy of {repoBase}/onboarding-pack/preview -- the same endpoint the
onboarding-pack CLI already calls, no duplicated HTTP. `refresh: true` forwards
?refresh=true exactly as the CLI does; omitted otherwise so the server serves
the cached preview.
test/unit/mcp-cli-get-repo-onboarding-pack.test.ts drives it in-process (the
coverage, exercising both sides of the refresh query ternary. Tool-count
invariant bumped 90 -> 91.
Closes JSONbored#7756
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
|
Warning ⏸️ LoopOver review result - manual review recommendedReview updated: 2026-07-22 00:41:08 UTC
Review summary Nits — 5 non-blocking
Decision drivers
Context & advisory signals — never blocks the verdict
Linked issue satisfactionAddressed Review context
Contributor next steps
Signal definitions
🧪 Chat with LoopOverAsk LoopOver a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://loopover.ai/docs/loopover-commands 🧪 Experimental — new and may change. 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #7968 +/- ##
===========================================
- Coverage 91.87% 81.78% -10.09%
===========================================
Files 735 91 -644
Lines 75477 23718 -51759
Branches 22960 4552 -18408
===========================================
- Hits 69344 19398 -49946
+ Misses 5041 4124 -917
+ Partials 1092 196 -896
Flags with carried forward coverage won't be shown. Click here to find out more.
|
|
LoopOver is closing this pull request on the maintainer's behalf (conflicts with the base branch — resolve and open a fresh PR). This is an automated maintenance action — to pursue this change, please open a new pull request with the issues resolved. Closed PRs may be analyzed later to improve review accuracy, but they are not automatically reopened or re-reviewed. |
Summary
Closes #7756 —
loopover_get_repo_onboarding_packhas a remote MCP tool (src/mcp/server.ts) and amaintain onboarding-packCLI command, but no local stdio MCP tool registration. #6738 added the REST route + CLI but never the matching stdio tool, so a self-host operator using the local MCP server (not the CLI or remote MCP) couldn't call it.What changed (
packages/loopover-mcp/bin/loopover-mcp.ts)registerStdioTool("loopover_get_repo_onboarding_pack", …)block, following the existing sibling get-repo pattern exactly.apiGet(\${prefix}/onboarding-pack/preview${query}`)call** themaintain onboarding-packCLI already makes (query = refresh === true ? "?refresh=true" : ""`) — no duplicated HTTP logic.repoOnboardingPackShape(owner/reporequired,refreshoptional boolean) and aSTDIO_TOOL_DESCRIPTORSentry (categorymaintainer, matching the remote registration).owner/reporesolve the same way as the sibling repo-scoped stdio tools;refreshis optional (omit for the cached preview,trueto force a refresh — the server treats only the exact string"true"as a refresh, matching the CLI).Tests
test/unit/mcp-cli-get-repo-onboarding-pack.test.tsdrives the tool in-process (the loopover_plan_repo_issues has no REST route, CLI command, or local stdio MCP tool #7764 entrypoint-guard pattern —InMemoryTransportagainst the exportedserver) so the registration + handler get real Codecov coverage. Both arms of therefreshternary are covered (omitted → no query;refresh: true→?refresh=true). Themcp-cli-harnessalready had the/v1/repos/:owner/:repo/onboarding-pack/previewroute + fixture, so no new harness hook was needed.mcp-tool-rename-aliases.test.tsbumped 91 → 92.Verified locally on top of current
main:npm run typecheckclean,npm run build:mcpclean,git diff --checkclean,test/unit/mcp-cli-get-repo-onboarding-pack.test.ts+test/unit/mcp-tool-rename-aliases.test.tsall green, and 100% patch coverage on the changedbin/loopover-mcp.tslines (the singlerefreshbranch covered both ways).