Skip to content

refactor(mcp): rename local MCP tool names to loopover_ with deprecated aliases - #5554

Merged
JSONbored merged 1 commit into
mainfrom
loopover/mcp-tool-rename
Jul 13, 2026
Merged

refactor(mcp): rename local MCP tool names to loopover_ with deprecated aliases#5554
JSONbored merged 1 commit into
mainfrom
loopover/mcp-tool-rename

Conversation

@JSONbored

Copy link
Copy Markdown
Owner

Summary

Introduces loopover_-prefixed primary names for all 37 stdio MCP tools in packages/gittensory-mcp, with the old gittensory_-prefixed names kept alive as thin, fully-working aliases (same handler, deprecated-marked description) for one full minor-version deprecation cycle. Server now registers 74 tools total; calling by either name produces byte-identical behavior.

registerToolWithLegacyAlias() is the single DRY registration path — every call site converted mechanically, no duplicated handler logic. The CLI's own gittensory-mcp tools listing reads from the same descriptor array, so it stays in lockstep with the live server automatically.

Deliberately unchanged

  • The "gittensory-local" McpServer identifier itself — package/binary identity, not an individual tool name, closer to the still-blocked npm package rename (Rename npm workspace packages #4769).
  • src/mcp/server.ts's separate Worker-hosted MCP surface — a distinct package per the issue's own "local MCP package" framing.
  • AGENT_PROFILES' prompt-guidance strings — a different, test-protected data surface, not tool identifiers (renaming would break mcp-cli-basics.test.ts's verbatim assertions, some of which reference aspirational tool names that were never real).

Test plan

  • New test/unit/mcp-tool-rename-aliases.test.ts (11 tests) covers 6 tools across distinct categories (API GET/POST, no-arg, path-param, pure-local, Zod-validated output), asserting old/new name calls produce .toEqual() results; also asserts exactly 74 tools discoverable and every alias description matches the deprecation-notice pattern.
  • Full local regression (61 files, 496 tests) — all pre-existing old-name-calling tests pass unmodified.
  • Independent spot-check of 3 additional tools not covered by the new test file — byte-identical old/new behavior confirmed.
  • npm run build:mcp, npm run test:mcp-pack, npm run typecheck, npm run command-reference:check, npm run docs:drift-check — all clean.
  • Full npm run test:ci gate green (782 files / 15292 tests after rebase).
  • Deprecation notice text spot-checked directly via gittensory-mcp tools --json output, not just trusted from code.

Closes #4775.

…ed aliases

Introduces loopover_-prefixed primary names for all 37 stdio MCP tools in
packages/gittensory-mcp, with the old gittensory_-prefixed names kept alive
as thin, fully-working aliases (same handler, deprecated-marked description)
for one full minor-version deprecation cycle. Server now registers 74 tools
total; calling by either name produces byte-identical behavior.

registerToolWithLegacyAlias() is the single DRY registration path -- every
call site converted mechanically, no duplicated handler logic. The CLI's
own `gittensory-mcp tools` listing reads from the same descriptor array, so
it stays in lockstep with the live server automatically.

Deliberately unchanged: the "gittensory-local" McpServer identifier itself
(package/binary identity, not an individual tool name -- closer to the
still-blocked npm package rename), src/mcp/server.ts's separate
Worker-hosted MCP surface (a distinct package per the issue's own "local MCP
package" framing), and AGENT_PROFILES' prompt-guidance strings (a different,
test-protected data surface, not tool identifiers).

Closes #4775.
@JSONbored JSONbored self-assigned this Jul 13, 2026
@superagent-security

Copy link
Copy Markdown
Contributor

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

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
gittensory-ui 8e0f540 Commit Preview URL

Branch Preview URL
Jul 13 2026, 05:03 AM

@codecov

codecov Bot commented Jul 13, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 94.91%. Comparing base (de9e07a) to head (8e0f540).
⚠️ Report is 2 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #5554   +/-   ##
=======================================
  Coverage   94.91%   94.91%           
=======================================
  Files         570      570           
  Lines       45325    45325           
  Branches    14675    14675           
=======================================
  Hits        43020    43020           
  Misses       1571     1571           
  Partials      734      734           
Flag Coverage Δ
shard-1 44.15% <ø> (ø)
shard-2 35.74% <ø> (+0.01%) ⬆️
shard-3 32.18% <ø> (+0.08%) ⬆️
shard-4 31.06% <ø> (-0.10%) ⬇️
shard-5 32.89% <ø> (ø)
shard-6 44.12% <ø> (ø)

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

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@JSONbored
JSONbored merged commit df5336e into main Jul 13, 2026
18 checks passed
@JSONbored
JSONbored deleted the loopover/mcp-tool-rename branch July 13, 2026 05:06
@loopover-orb loopover-orb Bot added the gittensor:bug Gittensor-scored bug fix — scores a 0.05x multiplier. label Jul 13, 2026
@github-actions github-actions Bot mentioned this pull request Jul 13, 2026
12 tasks
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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

MCP tool rename

1 participant