Repository navigation
docs(mcp): list one tool for every CLI command - #17
Merged
Merged
Conversation
mcp.org named the command groups and left each tool name to tools/list. eb_stack_shadow was missing from the CLI reference. The README left out the stack report tools and package latest. The manual now names every CLI command's tool and the recipe and easyblock tools. A test fails when a subcommand's tool is absent from that page.
`stack order` walked every dependency the roots pin, including modules already on the machine. `--installed` now stops that walk at each listed module and leaves that module and its own dependencies out of the order. `--filter-deps` still drops dependencies first, and the modules that remain follow the synthetic GCC-family hierarchy.
A single `--arch` was the only probe the suite locked. Two flags were free to consult the third default family again: a wheel neither named family can fetch would come back `arch-missing` when that third family can fetch it, and `unreachable` only for one `--arch`. The new test probes x86_64 with aarch64, and aarch64 with riscv64, on the Kaleido fixture. The first pair reports the aarch64 wheel as `arch-missing` and does not mention riscv64. The second reports both wheels as `unreachable`. Flag order, a CPU target, and a family named twice stay on that same set. `eb_stack_arch` returns the same lines. The how-to quotes the pair. Three texts now say that two names are compared only with each other: the command reference, the `--probe-sources` help, and the tool description.
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
Every CLI command now has its Model Context Protocol (MCP) tool named in
docs/orgmode/reference/mcp.org.The page also names the recipe and easyblock tools that have no command.
The server already registered those tools.
The manual named the command groups and left the tool names to
tools/list.The CLI reference also omitted
eb_stack_shadow, and the README omittedeb_package_latestand the stack report tools.A test now fails when a subcommand's tool is absent from
mcp.org.Before
The Tools section said
tools/listreturns the workflows ofpackage,recipe,stack,target,campaign, andrepro, pluspr-overlap,rebuild-set,component-reach, andeasyblock-reach.It named
eb_build_testand no other tool.After
The page has a table from each CLI command to its tool (39 commands;
mcppublishes the catalog and has no tool) and a table of the 12 tools that edit files or run EasyBuild.That is the 51-tool catalog.
eb_build_teststill runs only whenEB_STACK_ALLOW_BUILD=1.cli.orgrecordseb_stack_shadow: it requireseasyconfigsandbase, takesjson, and returns the same report asstack shadow.A shadow, or a recipe that does not parse, is a tool error.
mcp_org_lists_a_tool_per_cli_commandwalks every--helpleaf exceptmcp, deriveseb_<path>, and requires that name intools/listand inmcp.org.Tests
cargo fmt --all --checkexited 0.cargo clippy --locked --all-targets -- -D warningsfinished with no warnings.cargo test --locked --all-targets: 93 suites, 1504 passed, 0 failed, 10 ignored.The new test passed.
cargo package --lockedpackaged 1532 files and the verify build finished.uvx prek run -apassed.pixi run -e docs docbldprintedbuild succeeded.scripts/check-doc-links.sh docs/buildexited 0.The built MCP page contains
eb_package_inspect,eb_package_latest,eb_stack_shadow, andeb_build_test.Note
Medium Risk
Changes to build-order graph traversal can omit dependencies from generated orders if installed-module matching is wrong; otherwise this is mostly documentation and arch-probe classification logic.
Overview
stack order --installedtrims the dependency walk at modules the site already has (module list or Lmod tree, same inventory asstack gap --installed). Listed modules and anything only reachable through them stay out of the order file;--filter-depsstill runs first. Stdout addsinstalled=Nbeforeorder=;eb_stack_orderaccepts the sameinstalledlist and returns the count in JSON.The build-order engine gains
build_order_against_installed/ graph helpers that treat installed keys as leaves without walking their dependencies, plus tests for that behavior and GCC-family resolution.stack arch --probe-sourceswith two--archflags now compares only those families when classifyingarch-missingvsunreachable(documented and covered by new tests).The MCP manual (
mcp.org, README, CLI reference) lists all 51 tools in command-to-tool tables (includingeb_stack_shadow,eb_package_latest, and stack tools that were missing from the README).mcp_org_lists_a_tool_per_cli_commandfails if any CLI subcommand or registered tool is absent from that page.Reviewed by Cursor Bugbot for commit 9a0f013. Bugbot is set up for automated code reviews on this repo. Configure here.