Skip to main content

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

ClaudeCodexVSCodeCursorVSCodiumAntigravityWindsurfKilo

Tools

Sixteen tools. One local endpoint.

Every tool returns agent-readable, structured JSON. Not a chat paragraph.

tools/callPOST /mcp

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.

Vipr ChatConnected via MCP
Why is 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-58
What anti-patterns?

Two patterns were flagged:

  • Prop drilling through 4 levels. Consider extracting a context or a dedicated hook.
  • Implicit any in callback signature: the onSelect handler is untyped.
Ask about your code…

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.

~ viprzsh

$ 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.