Vinv
NPM · VINV-MCP · SCANNED AUG 22
Vinv runs, tests, and finds issues in your services — with zero code changes.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security13
- Malware scan not yet available for this package.Unverified
- Known CVEs could not be checked: the version this server declares is not published in its registry.Unverified
- No install/post-install scripts declared.Pass
- Dependency health could not be checked: the version this server declares is not published in its registry.Unverified
Provenance & Transparency48
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (Apache-2.0).Pass
- Actively maintained (last published 0 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability78
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2069 tokens (~129/item across 16 items; 16 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management3
- Stability observed for 1 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage98
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 94% of tool parameters carry a description.Partial
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · vinv-mcp
claude mcp add vinvai-vinv -- npx -y vinv-mcp
codex mcp add vinvai-vinv -- npx -y vinv-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"vinvai-vinv": {
"type": "local",
"command": [
"npx",
"-y",
"vinv-mcp"
],
"enabled": true
}
}
} openclaw mcp add vinvai-vinv --command npx --arg -y --arg vinv-mcp
mcp_servers:
vinvai-vinv:
command: "npx"
args: ["-y", "vinv-mcp"] {
"mcpServers": {
"vinvai-vinv": {
"command": "npx",
"args": [
"-y",
"vinv-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 22 Aug 26 −11
- Known CVEs: pass → unverified ▼ security
- Dependency health: pass → unverified ▼ functional
- Stability: unverified → 0.03 ▲ functional
- Package version: 0.0.3 → 0.0.5 functional
- Package version: 0.0.3 → 0.0.4 functional
- 21 Aug 26 55
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 22 Aug 2026 · Analysed npm/vinv-mcp@0.0.5
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
blast_radius ~86
Transitive callers (upstream) and callees (downstream) of a symbol in the observed call graph. Answers "if this is wrong, what could be implicated or affected".
| Name | Type | Req | Description |
|---|---|---|---|
| direction | string | – | up = callers only, down = callees only, both (default). |
| symbol | string | yes | Symbol to inspect: a dotted qualname or a unique short name. |
No output schema declared.
No examples provided.
callers_of ~48
The observed direct callers of a symbol, with call counts. Answers "who calls this at runtime".
| Name | Type | Req | Description |
|---|---|---|---|
| symbol | string | yes | Symbol to inspect: a dotted qualname or a unique short name. |
No output schema declared.
No examples provided.
coverage_of ~59
Execution coverage: with a symbol, its call count / ok-error / timing; without one, every executed symbol ranked by call volume. Answers "what ran and how much".
| Name | Type | Req | Description |
|---|---|---|---|
| symbol | string | – | Optional symbol; omit for a whole-run overview. |
No output schema declared.
No examples provided.
rank_suspects ~85
Call FIRST when investigating a bug, error, or failing request/test: ranks symbols by fault suspiciousness (Ochiai SBFL) over the pass/fail spectra of all captured requests. Answers "which functions should I look at first for this failure" — cheaper and more targeted than reading source files.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Max suspects to return (default 20). |
No output schema declared.
No examples provided.
relevant_to ~193
Rank the codebase by graph relevance to one or more symbols you name — the SAME typed-edge personalized-PageRank walk that composed your context pack, re-anchored on your choice. Use when you have found symbols that matter and want what surrounds them, ranked: it answers "what else is relevant to THESE", which semantic search (vinv_query) and plain traversal (blast_radius) cannot. Returns walk mass per symbol so the ranking is auditable, and reports how many symbols it reached versus returned.
| Name | Type | Req | Description |
|---|---|---|---|
| budget | number | – | Max symbols to return (default 40, ceiling 200). |
| max_hops | number | – | Optional admission bound: only symbols within this many hops of an anchor may enter. Ranking is by walk mass regardless. Omit for unbounded. |
| symbols | array | yes | Anchor symbols — a bare name, a dotted qualname, or file:name to disambiguate. |
No output schema declared.
No examples provided.
slice ~82
Backward dynamic slice to a symbol: the caller chain from the request root down to it, annotated with the argument/return values observed at each frame. Answers "what flowed in to reach this call" — use when tracing how a bad value or state reached a function.
| Name | Type | Req | Description |
|---|---|---|---|
| symbol | string | yes | Symbol to inspect: a dotted qualname or a unique short name. |
No output schema declared.
No examples provided.
values_of ~89
Value profile for a symbol across the captured run(s): per-argument and return type mix, null-rate, numeric/length ranges, and most-common values. Answers "what does this function actually receive and return at runtime" — use this for ground truth instead of inferring inputs/outputs from source.
| Name | Type | Req | Description |
|---|---|---|---|
| symbol | string | yes | Symbol to inspect: a dotted qualname or a unique short name. |
No output schema declared.
No examples provided.
vinv_deadcode ~177
List Python definitions (functions, classes, methods) that NOTHING in the repository references — dead code — found by static analysis of the source. Needs no prebuilt index and no runtime, so it works immediately on any workspace and returns each unused symbol with its file and line. Use it to find safe-to-remove code; before deleting a reported symbol, still confirm it is not referenced dynamically (by name) or exported as public API.
| Name | Type | Req | Description |
|---|---|---|---|
| include | string | – | Only report definitions under this path prefix (e.g. "src/"). |
| reasons | boolean | – | Date each symbol from git history and classify it as never-wired vs lost-its-callers (slower; needs git). |
| show_probable | boolean | – | Also include methods that may be overrides or duck-typed (higher recall, more false positives). |
No output schema declared.
No examples provided.
vinv_feedback ~100
After you have acted on vinv_query results (opened the files, made the edit), call this once to record whether they helped, passing the vinv_decision_id from that response. Use reward in [-1,1], where 1 is fully useful and -1 is harmful. This trains retrieval for this workspace.
| Name | Type | Req | Description |
|---|---|---|---|
| decision_id | string | yes | – |
| outcome | string | – | Optional short outcome label. |
| reward | number | yes | – |
No output schema declared.
No examples provided.
vinv_index ~129
Build or refresh Vinv's semantic code index for THIS workspace. The build runs in the BACKGROUND and this call returns IMMEDIATELY with status — it never blocks. Call with no arguments to start/refresh the index and read its status; pass rebuild=true to force a full rebuild from scratch. Until the first build completes, vinv_query returns a "still indexing" notice, so call this once up front on a fresh workspace, then poll it for readiness.
| Name | Type | Req | Description |
|---|---|---|---|
| rebuild | boolean | – | Force a full rebuild from scratch (default false: incremental update when an index already exists). |
No output schema declared.
No examples provided.
vinv_ingest_run ~163
Report a test run you performed, so it appears in the Journey and Findings views. Supply one entry per check with the unit you exercised, a scenario name, and the pass/fail verdict — the verdict is the one thing traces cannot supply. A unit is usually an HTTP endpoint ("METHOD /path"), but a repo with no service has units too: a CLI invocation ("RUN <command>") or a driven function ("CALL module.function"). Per-unit code coverage is joined automatically from the captures. Run this AFTER the work has been captured by tracelens.
| Name | Type | Req | Description |
|---|---|---|---|
| checks | array | yes | One entry per check performed. |
| source | string | – | Who produced this run, recorded as provenance (e.g. "claude-code e2e suite"). |
No output schema declared.
No examples provided.
vinv_list_candidates ~121
Ranked optimization candidates from the captured traces, each with the evidence behind it and a playbook for that class of waste (cache, fanout, n-plus-1, per-call, serial-async, wait, gc-pressure, alloc-churn, mem-leak). Read this before attempting any performance work — it reports what the traces actually measured, not a static guess.
| Name | Type | Req | Description |
|---|---|---|---|
| include_playbook | boolean | – | Include the full playbook text for each candidate (default true). |
| limit | number | – | Max candidates to return (default 10). |
No output schema declared.
No examples provided.
vinv_query ~106
Semantic code search over the prebuilt index of this workspace. Use INSTEAD of grep/glob when looking for code by meaning or behavior rather than an exact string — e.g. "where are auth tokens refreshed", "what validates uploads". Returns the most relevant symbols (functions/classes) ranked, with file paths and scores, in a single call.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | Natural-language search query. |
| top_k | number | – | Number of results (default 5). |
No output schema declared.
No examples provided.
vinv_run_status ~54
What vinv currently holds for this workspace: capture sessions, whether an external run has been ingested, endpoint/coverage/issue counts, and the number of ranked candidates. Call this to check whether an ingest landed.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
vinv_session ~524
Read what Vinv has observed about this workspace at runtime, and drive its automated fix/optimize runs ("episodes"), from chat. READ: action="requests" (what became of each sweep/fix you QUEUED — a queued sweep does not always dispatch, and this is the only durable record of why one did not), action="trajectory" (every episode so far — what was tried, whether it verified, the reward, the standing goal, any disputes), action="status" (one-paragraph session summary), action="issues" (functions observed raising errors in captured runtime traces), action="hotspots" (the few functions where most traced runtime concentrates), action="memory_trends" (symbols retaining more memory every capture session — leak suspects), action="cache_candidates" (functions recomputing identical inputs — memoization sites with measured reclaimable time), action="opportunities" (the live optimization opportunity board with per-entry lifecycle status: posted entries are dispatchable, dispatched/resolved never re-dispatch until they expire), action="playbook" with kind (distilled how-to-fix guidance for one kind of performance waste — fix patterns, traps, verification discipline — plus the file paths holding this workspace’s current evidence of that kind: board entries, prior optimization attempts, learned prediction calibration). ACT: action="fix" with issue (and optional service) queues an automated fix run that a coding agent executes and Vinv verifies; action="run_sweep" with sweep queues a run pre-seeded with the named evidence (error clusters, hotspots, leak trends, or cache sites); action="set_goal"/"set_budget" steer future runs. Queued runs are picked up by the Vinv extension in the editor.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Operation to perform. |
| budget | number | – | Episode budget for set_budget. |
| goal | string | – | Standing goal for set_goal; an empty string clears it. |
| issue | string | – | For action="fix": what to investigate and fix. |
| kind | string | – | For action="playbook": which waste kind to get guidance and live evidence paths for. |
| service | string | – | For action="fix": optional service name — the fix is then verified by replaying that service. |
| sweep | string | – | For action="run_sweep": which evidence seeds the queued run — runtime_errors (fix functions observed raising errors), hotspots (optimize where traced time concentrates), memory_trends (investigate le… |
No output schema declared.
No examples provided.
why_did_this_run ~53
The entry-point triggers and call paths that led to a symbol running. Answers "why was this function invoked".
| Name | Type | Req | Description |
|---|---|---|---|
| symbol | string | yes | Symbol to inspect: a dotted qualname or a unique short name. |
No output schema declared.
No examples provided.