Skip to content

docs: MCP integration guide tool table is stale — missing wheels_deploy and wheels_packages (lists 16, server exposes 18) #3015

Description

@bpamiri

What / where

web/sites/guides/src/content/docs/v4-0-0/command-line-tools/mcp-integration.mdx (origin/develop @ b7c310b) says, directly above its tool table:

Every public function in the Wheels Module is auto-discovered as an MCP tool, prefixed with the module name

and then lists 16 tools (lines 62-77): wheels_generate, wheels_destroy, wheels_migrate, wheels_seed, wheels_db, wheels_test, wheels_reload, wheels_routes, wheels_info, wheels_analyze, wheels_validate, wheels_doctor, wheels_stats, wheels_notes, wheels_create, wheels_upgrade.

The actual exposed surface on origin/develop is 18. Counting cli/lucli/Module.cfc public functions, minus the module's mcpHiddenTools() denylist (main, mcp, d, g, new, console, start, stop, browser, mcpToolSpecs, all $-prefixed helpers — Module.cfc:178-225), minus LuCLI's own BASE_MODULE_INTERNALS exclusion (init, version, showHelp, mcpHiddenTools, mcpToolSpecs, plus BaseModule plumbing — McpCommand.java, shipped since LuCLI v0.3.7), leaves the 16 documented tools plus:

  • wheels_deploy (Module.cfc:2172) — "Deploy the app to production servers" (Kamal-style deploys: dry-run, rollback, config, setup, bootstrap, exec, version)
  • wheels_packages (Module.cfc:2481) — "Install, update, and list Wheels packages — use add (not install) to install"

Both are public, neither is in mcpHiddenTools(), so both appear in wheels mcp wheels --once tools/list — the smoke-test command the guide itself recommends, which makes the mismatch easy for a reader to trip over.

Note for anyone re-deriving the count: version() and showHelp() are also public and absent from mcpHiddenTools(), but LuCLI hides them structurally as BaseModule internals, so they correctly do not appear as tools.

Suggested fix

Add two rows to the table, e.g.:

| `wheels_deploy` | Kamal-style production deploys (full deploy, rollback, config, setup, bootstrap, exec). |
| `wheels_packages` | Search, show, add, update, and remove Wheels packages; manage the registry cache. |

While in there, two adjacent nits in the same doc section:

  • The "Tools deliberately hidden" list (lines 82-89) omits g (alias for generate, hidden at Module.cfc:182 for the same duplicate-entry reason as d) and main (the bare-wheels dispatch target, hidden at Module.cfc:180).
  • Internal CLAUDE.md:715 has the same staleness one step behind (17 tools — includes deploy, missing packages); worth syncing in the same pass.

If deploy is instead meant to be hidden from agents (it is stateful/destructive in the same spirit as start/stop/new), the fix is a mcpHiddenTools() entry rather than a table row — but as shipped, it is exposed and undocumented.

Surfaced while fact-checking the Beyond findAll / stdio-MCP blog drafts (2026-06-11).

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions