Skip to content

feat(mcp): register loopover_get_automation_state stdio tool - #7949

Closed
xfodev wants to merge 2 commits into
JSONbored:mainfrom
xfodev:feat/mcp-stdio-automation-state-7752
Closed

feat(mcp): register loopover_get_automation_state stdio tool#7949
xfodev wants to merge 2 commits into
JSONbored:mainfrom
xfodev:feat/mcp-stdio-automation-state-7752

Conversation

@xfodev

@xfodev xfodev commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Summary

loopover_get_automation_state already exposed a remote MCP tool (src/mcp/server.ts) and a maintain automation-state CLI verb, but had no local stdio MCP registration — unlike every other tool in its maintain family. This adds the missing stdio surface:

  • registerStdioTool("loopover_get_automation_state", …) + its STDIO_TOOL_DESCRIPTORS entry in packages/loopover-mcp/bin/loopover-mcp.ts, mirroring the merged loopover_get_gate_config_effective sibling: ownerRepo input shape, apiGet proxy, toolResult wrapper.
  • The stdio tool proxies the existing GET /v1/repos/:owner/:repo/automation-state route — the same route the remote tool and CLI already use. No new REST route, no new CLI verb, no src/mcp/server.ts change.

Tests

  • test/unit/mcp-cli-automation-state.test.ts (new, in-process): drives the tool through a real MCP Client over InMemoryTransport against a fixture server, asserting the tool is listed and the proxied request hits the automation-state route.
  • test/unit/mcp-tool-rename-aliases.test.ts: stdio tool-count pin bumped 89 → 90 (all three assertions) with a running-log comment.
  • test/unit/mcp-output-schemas.test.ts: added the tool to the output-schema coverage set.
  • Category-sync (mcp-tool-categories) and completion-spec parity (mcp-cli-completion-spec) tests pass unchanged.

UI Evidence

N/A — backend MCP tooling only; no apps/** files touched.

Validation

  • Root tsc --noEmit clean (my files).
  • mcp-tool-rename-aliases, mcp-tool-categories, mcp-output-schemas, mcp-cli-completion-spec pass; the live server registers exactly 90 tools.
  • Rebased on latest main; no base conflict.
  • No wallet/hotkey/trust-score/reward terms in tool output.

Closes #7752

…ed#7752)

The loopover_get_automation_state tool already exposed a remote MCP
surface (src/mcp/server.ts) and a `maintain automation-state` CLI verb,
but had no local stdio MCP registration, unlike its maintain-family
siblings. Add the registerStdioTool block + STDIO_TOOL_DESCRIPTORS entry
in packages/loopover-mcp/bin/loopover-mcp.ts, proxying the existing
GET /v1/repos/:owner/:repo/automation-state route via apiGet.

Covers the new stdio lines with an in-process mcp-cli test that drives
the tool through a real MCP client over InMemoryTransport, and bumps the
stdio tool-count pin from 89 to 90 with the output-schema entry.

Closes JSONbored#7752
@xfodev
xfodev requested a review from JSONbored as a code owner July 21, 2026 20:44
@superagent-security

Copy link
Copy Markdown
Contributor

Superagent didn't find any vulnerabilities or security issues in this PR.

@loopover-orb loopover-orb Bot added the gittensor:bug Gittensor-scored bug fix — scores a 0.05x multiplier. label Jul 21, 2026
@loopover-orb loopover-orb Bot closed this Jul 21, 2026
@loopover-orb

loopover-orb Bot commented Jul 21, 2026

Copy link
Copy Markdown
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.

@loopover-orb loopover-orb Bot added the review-evasion Gittensor contributor context label Jul 21, 2026
@codecov

codecov Bot commented Jul 21, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (main@002a864). Learn more about missing BASE report.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #7949   +/-   ##
=======================================
  Coverage        ?   11.38%           
=======================================
  Files           ?        1           
  Lines           ?     2188           
  Branches        ?      838           
=======================================
  Hits            ?      249           
  Misses          ?     1921           
  Partials        ?       18           
Flag Coverage Δ
shard-1 0.00% <0.00%> (?)
shard-2 0.00% <0.00%> (?)
shard-3 11.38% <100.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
packages/loopover-mcp/bin/loopover-mcp.ts 11.38% <100.00%> (ø)

@xfodev

xfodev commented Jul 22, 2026

Copy link
Copy Markdown
Contributor Author

Superseded — #7752 was merged upstream while this was in CI; loopover_get_automation_state is already registered on main. Closing as a duplicate.

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

Labels

gittensor:bug Gittensor-scored bug fix — scores a 0.05x multiplier. review-evasion Gittensor contributor context

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Register loopover_get_automation_state as a local stdio MCP tool

1 participant