MCP Server
Every AI coding agent works better with rich context.
Run a local endpoint that answers questions about your codebase with real metrics, real history, real file paths. Your agent stops guessing and starts citing.
Included with Vipr Desktop Pro. Runs offline. Binds to 127.0.0.1.
Works with




Tools
Sixteen tools. One local endpoint.
Every tool returns agent-readable, structured JSON. Not a chat paragraph.
Request
{
"name": "search_issues",
"arguments": {
"severity": "high",
"pluginId": "react"
}
}Response
{
"issues": [
{
"rule": "prop-drilling",
"file": "src/UserList.tsx",
"line": 42,
"severity": "high"
},
{
"rule": "missing-key",
"file": "src/Feed.tsx",
"line": 118,
"severity": "high"
}
],
"total": 7
}Per file
Hand the agent context about the file it is working on right now.
get_file_analysis Every metric and issue for a single file. React anti-patterns, type-safety gaps, server/client boundary findings, plus complexity scores and every rule hit.
search_issues Filter issues by severity, rule, file pattern, or analyzer.
get_recommendations Suggested fixes ranked by payoff. Includes the file, the metric, and why it was chosen.
get_health_summary One-shot snapshot of the repo: overall score, top-5 worst files, last-run metadata.
History & trends
Walk the repo across time. Find the commit that moved the number.
get_complexity_trends Time-series of health, complexity, and issue counts across commits. Inflection points included.
compare_branches Delta between two branches: health change, issue additions and removals, per-file diffs.
get_file_history Per-commit change history for a file with metric snapshots at each point.
get_metrics_at_commit Snapshot the repo at any commit and read the metrics as they were.
compare_commits Diff metrics between two commits. Same shape as branch comparison, finer granularity.
find_regression Walk history backward to find the commit that introduced a metric regression.
get_high_churn_files Files changed most often, ranked by churn and complexity. The refactor queue.
Snapshots & admin
Saved labels for A/B comparisons, plus the obligatory health check.
list_snapshots All saved repo snapshots, with timestamps and labels.
get_snapshot Read a single snapshot.
compare_snapshots Delta between any two snapshots. Useful for A/B comparisons.
ping Health check for the MCP server itself.
AI & clarification
Hand the agent a grounded explanation when it needs to disambiguate Vipr metrics.
clarify_vipr_context Use the desktop app’s active local coding model to clarify Vipr metrics, file analysis, and snapshot context. Optionally focused on a specific file or snapshot.
One chat, every client
The same grounded assistant, everywhere.
Tool calls cite the file and metric they used. The same chat surface is available everywhere your agent runs.
UserList.tsx showing up in the hotspot list this week?Let me check the current metrics for that file.
get_file_analysis(filePath: "clients/desktop/src/renderer/UserList.tsx")The file is appearing in hotspots because its complexity has risen 32% over the last 5 commits. Two anti-patterns were introduced in that window that are compounding the cyclomatic score.
⌗clients/desktop/src/renderer/UserList.tsx:42-58Two patterns were flagged:
- Prop drilling through 4 levels. Consider extracting a context or a dedicated hook.
- Implicit
anyin callback signature: theonSelecthandler is untyped.
Privacy
Your code never leaves the machine.
The endpoint binds to 127.0.0.1. No outbound calls, no proxy, no shared inference, no record of what your agent asked. The only network hop is between your editor and the desktop app, on the same box.
$ lsof -iTCP -sTCP:LISTEN | grep vipr
vipr-mcp 28412 127.0.0.1:3100 (LISTEN)
$ vipr mcp status
port 3100 (bound to 127.0.0.1)
outbound connections 0
telemetry events 0
tools available 15
$ curl -s http://127.0.0.1:3100/health
{"status": "ok", "network": "localhost-only"}
$
Get started
One license. Desktop and MCP.
Install the desktop app, point your editor at the local endpoint, run your first tool call in minutes.