Repository navigation
Fix MCP relative paths and accept a single query alias - #121
Merged
Merged
Conversation
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.
MCP searches now try relative paths against every configured root and accept a root’s final name. A unique allowed match is used; missing matches list the roots, and ambiguous matches return
AMBIGUITYwith candidate paths. Existing confinement and local-content checks still apply. Unavailable and outside-root paths share a refusal message that never reveals the canonical target, including through broken symlinks.Search accepts
queryas a single-phrasing alternative toqueries; the deserializer rejects both together. Search and extract advertise flat object schemas with optional selection properties for client compatibility. Extract’s strict selection decision table remains enforced in code.The tools/list integration assertion intentionally checks optional
queries/queryproperties instead of a top-leveloneOf. It also rejects top-leveloneOf,anyOfandallOffor every advertised tool. This covers extract as well as search.Documentation explains these inputs, ambiguity for
.with multiple roots, exact case and Unicode spelling for root-name shortcuts, text-only startup, and the observed indexing memory peak. The unsupported query-memory figure is removed; existing absolute setup paths and three-tool documentation are retained.Validation:
cargo fmt --allcargo clippy --workspace --all-targets --offline -- -D warningscargo test --workspace --offline --no-fail-fast --quietTests requiring real model weights and timing measurements remain ignored; no model weights were downloaded.