feat(mcp): register loopover_propose_action as a local stdio tool - #7987
Closed
real-venus wants to merge 2 commits into
Closed
feat(mcp): register loopover_propose_action as a local stdio tool#7987real-venus wants to merge 2 commits into
real-venus wants to merge 2 commits into
Conversation
loopover_propose_action has a remote MCP tool (src/mcp/server.ts) and a `maintain propose` CLI command, but no local stdio MCP tool registration. JSONbored#6744 added the REST route + CLI but never the matching stdio tool. Adds the registerStdioTool block mirroring the maintain-adjacent sibling pattern (loopover_list_pending_actions et al.) -- POSTs to the same {repoBase}/agent/pending-actions route the CLI hits, with the identical stripUndefined body so absent optional fields are omitted. Stages the action into the approval queue; the route never executes it until a maintainer approves. Input mirrors the remote proposeActionShape; description via stdioToolDescription; category "agent". test/unit/mcp-cli-propose-action.test.ts drives it IN-PROCESS (JSONbored#7764 entrypoint guard + InMemoryTransport) so the registration + handler get real Codecov-measured coverage -- a subprocess spawn can't be v8-instrumented. Count 97 -> 98. Closes JSONbored#7753
Contributor
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
|
Signed-off-by: venus <153379385+real-venus@users.noreply.github.com>
Contributor
|
This repository reviews pull requests one-shot: the PR must be correct as originally opened. Pushing an additional commit closes it automatically instead of restarting review — open a fresh pull request with every fix included. |
This was referenced Jul 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes #7753 —
loopover_propose_actionhas a remote MCP tool (src/mcp/server.ts) and amaintain proposeCLI command, but no local stdio MCP tool registration. #6744 added the REST route + CLI but never the matching stdio tool.What changed (
packages/loopover-mcp/bin/loopover-mcp.ts)registerStdioTool("loopover_propose_action", …)block, placed next to the maintain-adjacent siblings (loopover_list_pending_actionset al.), mirroring their pattern — POSTs to the same{repoBase}/agent/pending-actionsroute themaintain proposeCLI already calls, with the identicalstripUndefined({pullNumber, actionClass, reason, label, reviewBody, mergeMethod, closeComment})body (absent optionals omitted).proposeActionShapemirrors the remote (sameactionClassenum, same bounds). Description viastdioToolDescription(...);category: "agent".Testing / coverage
test/unit/mcp-cli-propose-action.test.tsdrives it in-process (the loopover_plan_repo_issues has no REST route, CLI command, or local stdio MCP tool #7764isProcessEntrypointguard +InMemoryTransport) so the registration + handler get real Codecov-measured coverage — a subprocess spawn can't be v8-instrumented (that's what left prior attempts at this exact tool at 0.00% patch). Asserts thePOST /v1/repos/owner/repo/agent/pending-actionsand that the serialized body (echoed by the fixture) carries the rightactionClass/pullNumber/reason.No REST/OpenAPI/CLI-surface change —
ui:openapi:check,command-reference:check,docs/manifestdrift all clean;build:mcpclean.