2.4 KiB
| bc-version | domain | keywords | technologies | countries | application-area | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
mcp |
|
|
|
|
al MCP server's al_build/al_publish require an absolute projectPath
Description
When calling the al MCP server's al_build or al_publish tools, the projectPath
parameter must be an absolute path. A relative path — even a simple sibling-folder
form like "../MyApp.Test" or "Apps/MyApp.Test" — reliably fails with:
Invalid URI: The format of the URI could not be determined.
Why
This failure mode is misleading: the error looks like a server-connection or environment problem (matching several of the tool's own suggested causes — "Extension internal error", "Unexpected system state"), not a path-formatting issue. An agent chasing it will burn time retrying authentication, symbol downloads, or environment parameters before finding the actual cause.
The same relative path works fine on al_downloadsymbols, which makes the
failure look tool-specific and inconsistent rather than a clear, learnable
rule — reinforcing the wrong hypothesis (auth/environment) instead of the
right one (path form).
How to apply
Always resolve projectPath to an absolute path before calling al_build or
al_publish:
al_build({ projectPath: "D:\\Repo\\Apps\\MyApp.Test", onlyErrors: true })
al_publish({ projectPath: "D:\\Repo\\Apps\\MyApp.Test", skipBuild: true, ... })
If only appPath is available (pointing directly at a built .app file) with
skipBuild: true, a relative path there is tolerated — the bug is specific to
projectPath on al_build/al_publish, not to relative paths in general on
every parameter of every al MCP tool.
What NOT to do
- Do not pass a relative
projectPathtoal_buildoral_publish, even one that resolves correctly on disk (e.g. verified via a shellcd). - Do not diagnose "Invalid URI" from these two tools as an auth, tenant, or
environment-name problem before first checking whether
projectPathis relative. - Do not conclude the
alMCP server itself is broken/unreachable from this error alone —al_downloadsymbolsand other tools may work fine in the same session with the same relative path.
Applies to
All CURABIS projects using the al MCP server (any repo with the standard
al entry in .mcp.json, machine-global per the v24 CURABIS Standard).