| name | sqry-mistralvibe |
| version | 20.0.5 |
| description | Setup and workflow for using sqry semantic code search with the Mistral Vibe CLI. CLI-first, with MCP configuration via Vibe's config.toml. Covers installation, tool naming conventions, CLI fallback, and troubleshooting. Tool reference and query syntax are served live by sqry-mcp.
|
sqry for Mistral Vibe
Use this skill to drive sqry v20.0.5 semantic code search from the Mistral Vibe CLI (vibe). The sqry CLI works in every Vibe session; MCP is configured through Vibe's TOML config when you want sqry tools available natively.
Setup
Install or upgrade sqry:
curl -fsSL https://raw.githubusercontent.com/verivus-oss/sqry/main/scripts/install.sh | bash -s -- --component all
sqry --version
sqry-mcp --version
sqry-lsp --version
sqryd --version
Install or upgrade Mistral Vibe (separate from sqry; Vibe ships via uv):
uv tool install --upgrade mistral-vibe
vibe --version
Index the project:
cd /path/to/your/project
sqry index .
sqry index --status --json .
MCP Configuration
Vibe configures MCP servers in TOML, not JSON. Add a [[mcp_servers]] table to ~/.vibe/config.toml (Vibe uses stdio, http, and streamable-http transports; sqry runs over stdio):
[[mcp_servers]]
name = "sqry"
transport = "stdio"
command = "/absolute/path/to/sqry-mcp"
args = ["--no-daemon"]
For a project-scoped config, set VIBE_HOME to a local .vibe directory (for example export VIBE_HOME=/path/to/project/.vibe) and place config.toml there.
API keys and provider credentials live in ~/.vibe/.env, not config.toml. Vibe's CLI does not yet support MCP servers that require OAuth. sqry over stdio is unaffected.
Restart Vibe after editing config.toml. Verify with the /config command inside Vibe.
MCP mode: standalone vs daemon
Default: standalone sqry-mcp (no --daemon, or --no-daemon). Serves 37 tools and 6 MCP resources including sqry://meta/manifest and sqry://docs/*.
Daemon (sqry-mcp --daemon) warms the graph for long sessions but exposes only a 16-tool subset and zero MCP resources — agents cannot read sqry://meta/manifest or docs on the daemon path. Do not configure daemon then instruct reading MCP resources in the same workflow.
sqry-mcp --no-daemon
sqry daemon start
sqry daemon load .
sqry-mcp --daemon
args = ["--daemon"]
Redaction for external LLMs
Set SQRY_REDACTION_PRESET in the process environment before launching sqry-mcp (Vibe does not always expose per-server env in TOML — use a wrapper script or shell export if needed). Presets: none|minimal|standard|strict (default minimal). See sqry-mcp --help and the sqry-mcp-redaction README in the sqry repo.
Skill Dependency
Also load sqry-semantic-search. It contains the shared routing rules, CLI fallback commands, ambiguity handling, output-size limits, and rebuild recovery steps.
Tool Naming
When sqry is configured under the name sqry, Vibe exposes its tools under that server name. Read sqry://meta/manifest first on standalone MCP when resources are available, then use sqry://docs/capability-map and sqry://docs/tool-guide for the exact installed tool surface. When MCP is unavailable, ignore tool naming and use the CLI.
CLI Fallback
Vibe can run shell commands via its bash tool, so the CLI is a reliable path whenever MCP is not connected. From the workspace root:
sqry query 'kind:function AND name:authenticate' --json
sqry graph direct-callers "AuthService::authenticate" --json
sqry impact "AuthService::authenticate" --json
sqry cycles --json
sqry diff HEAD~1 HEAD --json
sqry ask "where is the retry logic implemented?"
Recommended System-Prompt Addition
Vibe routes behaviour through custom system prompts, not an AGENTS.md. Create a markdown file in ~/.vibe/prompts/ (for example sqry.md) and set system_prompt_id = "sqry" in config.toml, or append this guidance to your existing custom prompt:
## Code Search
For structural code questions — callers, callees, references, imports,
call paths, dependency impact, cycles, unused symbols, semantic diffs —
prefer sqry (CLI or MCP tools when connected) over grep and file-read tools.
Use grep for literal text search and file listing for filename discovery.
On C code, sqry call edges can carry resolution provenance and ambiguous calls
are elided rather than guessed, so an absent edge means "not confidently
resolvable," not "does not exist." For sensitive or regulated repositories,
set `SQRY_REDACTION_PRESET=standard` (or `strict`) before launching sqry-mcp.
Troubleshooting
- Tools not visible: restart Vibe after editing
config.toml; verify with /config.
- Local tools disappeared after adding an MCP server: Vibe's tool allow-list can shadow built-in local tools when MCP is enabled. Re-enable them in your tool permissions (for example with a
* wildcard) so bash, read, and write_file remain available.
- Name collision: if a same-named MCP binary is also discoverable on
PATH, Vibe may pick the wrong one. Use an absolute command path and a distinct server name.
- Empty results: run
sqry index . from the project root, or sqry index --force . after an upgrade or stale graph warning.
- Stale graph or unknown plugin IDs: remove
.sqry/graph, .sqry/graphs, and .sqry/analysis, then rebuild.
- Cannot read
sqry://meta/manifest: switch to standalone sqry-mcp --no-daemon (daemon serves zero resources).
- Fewer tools than expected: you are likely on daemon-hosted MCP. Use standalone
sqry-mcp for the full surface.
- 404 on
sqry://meta/manifest: old server version; upgrade sqry.