feat(mcp): register loopover_propose_action as a local stdio MCP tool - #7906
feat(mcp): register loopover_propose_action as a local stdio MCP tool#7906tryeverything24 wants to merge 1 commit into
Conversation
Closes JSONbored#7753 Mirrors the exact registerStdioTool pattern PR JSONbored#6382 used for the 5 maintain-surface siblings (loopover_list_pending_actions et al): the handler calls the same bare POST .../agent/pending-actions endpoint `maintain propose` already calls, through the same apiPost client, and its description comes from the same stdioToolDescription centralized lookup. JSONbored#6744 added the route + CLI mirror without a stdio registration, so it fell outside JSONbored#6152's batch despite being the same family. The route's response always carries a fully-populated `action` (id/actionClass/status set unconditionally, per src/api/routes.ts's POST handler) -- only `created` genuinely varies, so that's the only branch the handler formats defensively. New dedicated suite (mcp-cli-propose-action-tool.test.ts) covers registration, the proxy contract, both the "Staged"/"Already staged" branches, an API-failure path, and pre-flight schema rejection -- following mcp-cli-maintain- tools.test.ts's shape. Bumped the pinned stdio tool count 80 -> 81 in mcp-tool-rename-aliases.test.ts (rebased past JSONbored#7877's own 79 -> 80 bump).
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
|
Caution 🛑 LoopOver review result - fixes requiredReview updated: 2026-07-21 17:14:49 UTC
Review summary Nits — 5 non-blocking
CI checks failing
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.
|
|
LoopOver is closing this pull request on the maintainer's behalf (CI is failing (validate, validate-tests (1), validate, validate-tests (1))). 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. |
Registers
loopover_propose_actionas a local stdio MCP tool inpackages/loopover-mcp/bin/loopover-mcp.ts, mirroring theregisterStdioTool/stdioToolDescription/toolResultpattern PR #6382 already established for its five sibling tools. Reuses the existingmaintain proposeCLI command's call path -- no duplicated HTTP logic.Note on
codecov/patch: this file's stdio-tool tests (test/unit/mcp-cli-propose-action-tool.test.ts, 8 tests) spawn the CLI as a real subprocess vianode --experimental-strip-typesagainst the actual edited source, not a stale prebuilt bundle -- the tests genuinely exercise the new code, but v8/istanbul coverage cannot instrument a child process, socodecov/patchreporting 0% here is a known tooling limitation of this file, not a gap in test coverage (same shape as PR #7877, an identical stdio-tool-registration PR).Closes #7753