Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.d/3016-mcp-deprecation-stale-path.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- Deprecated `/wheels/mcp` HTTP transport's runtime warnings (log message, CLI-disabled-tool error, and legacy `wheels mcp setup` output) now point to the live integration guide (`https://guides.wheels.dev/v4-0-0/command-line-tools/mcp-integration`) instead of the phantom `docs/command-line-tools/commands/mcp/mcp-configuration-guide.md` path that #2888 missed (#3016)
2 changes: 1 addition & 1 deletion cli/src/commands/wheels/mcp/setup.cfc
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ component extends="../base" {
print.indentedLine("• Test runner (test)");
print.indentedLine("• Browser automation (via Browser MCP)");
print.line();
print.indentedLine("Full guide: docs/command-line-tools/commands/mcp/mcp-configuration-guide.md");
print.indentedLine("Full guide: https://guides.wheels.dev/v4-0-0/command-line-tools/mcp-integration");
print.line();
}

Expand Down
2 changes: 1 addition & 1 deletion vendor/wheels/public/mcp/McpServer.cfc
Original file line number Diff line number Diff line change
Expand Up @@ -1286,7 +1286,7 @@ Provide migration code following Wheels conventions."
// intact for existing clients.
return "Error: CLI-backed tools are disabled on the deprecated /wheels/mcp HTTP endpoint. "
& "Use the stdio MCP server instead ('wheels mcp wheels'; see "
& "docs/command-line-tools/commands/mcp/mcp-configuration-guide.md). "
& "https://guides.wheels.dev/v4-0-0/command-line-tools/mcp-integration). "
& "Requested command: " & arguments.command;
}

Expand Down
4 changes: 2 additions & 2 deletions vendor/wheels/public/views/mcp.cfm
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
// and doesn't require a running dev server for file-based operations
// (generate, migrate, stats, etc.). This HTTP endpoint will be removed in
// a future release. See:
// docs/command-line-tools/commands/mcp/mcp-configuration-guide.md
// https://guides.wheels.dev/v4-0-0/command-line-tools/mcp-integration

// Log one-time deprecation warning per JVM
if (!structKeyExists(application, "mcpHttpDeprecationLogged")) {
Expand All @@ -24,7 +24,7 @@ if (!structKeyExists(application, "mcpHttpDeprecationLogged")) {
type="warning",
text="The in-dev-server MCP endpoint at /wheels/mcp is deprecated. "
& "Use 'wheels mcp wheels' (LuCLI stdio MCP) instead. "
& "See docs/command-line-tools/commands/mcp/mcp-configuration-guide.md"
& "See https://guides.wheels.dev/v4-0-0/command-line-tools/mcp-integration"
);
} catch (any ignored) { /* logging is best-effort */ }
application.mcpHttpDeprecationLogged = true;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
/**
* Regression: #2888 standardized the deprecated `/wheels/mcp` HTTP transport's
* doc pointer on the live integration guide
* (`https://guides.wheels.dev/v4-0-0/command-line-tools/mcp-integration`),
* but three runtime-visible strings still cite a phantom path that has
* never existed in the repo:
*
* - vendor/wheels/public/views/mcp.cfm (deprecation log message)
* - vendor/wheels/public/mcp/McpServer.cfc (CLI-disabled-tool error)
* - cli/src/commands/wheels/mcp/setup.cfc (legacy CommandBox CLI output)
*
* The phantom path is `docs/command-line-tools/commands/mcp/mcp-configuration-guide.md`.
* Issue ##3016.
*/
component extends="wheels.WheelsTest" {

function run() {

describe("MCP deprecation pointers cite the live integration guide", () => {

// expandPath("/wheels") resolves to vendor/wheels via the configured
// Lucee mapping; the repo root is two levels above.
var repoRoot = expandPath("/wheels/../..");
var phantomPath = "docs/command-line-tools/commands/mcp/mcp-configuration-guide.md";
var canonical = "https://guides.wheels.dev/v4-0-0/command-line-tools/mcp-integration";
var targets = [
"vendor/wheels/public/views/mcp.cfm",
"vendor/wheels/public/mcp/McpServer.cfc",
"cli/src/commands/wheels/mcp/setup.cfc"
];

for (var rel in targets) {
// Capture the loop variable so the closure body binds the
// current value, not the final iteration's value.
(function(relPath) {
it("references " & canonical & " in " & relPath, () => {
var absolute = repoRoot & "/" & relPath;
expect(fileExists(absolute)).toBeTrue("Missing file: " & absolute);

var content = fileRead(absolute);

expect(content contains canonical).toBeTrue(
relPath & " should reference " & canonical
& " — the URL ##2888 standardized on for the deprecated /wheels/mcp transport."
);

expect(content contains phantomPath).toBeFalse(
relPath & " still references the phantom path " & phantomPath
& " that has never existed in the repo."
);
});
})(rel);
}

});

}

}
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ Every package declares a `package.json` at its root. The loader parses it before
"services": [],
"middleware": []
},
"dependencies": {}
"requires": {}
}
```

Expand Down
Loading