repovine

repovine

MCP server that provides coding agents with structured repository context, including graph-based navigation, dependency analysis, runtime flow tracing, and configuration surface across supported stacks.

Category
Visit Server

README

repovine

CI npm

Repository context assembled and conveyed to coding agents.

The repository knowledge layer

A repository-agnostic core. Across supported languages, frameworks, and infrastructure formats, repovine normalizes repository structure into one queryable model.

Contract boundaries by design. The graph connects repository units through shared code, template, and runtime contracts. These boundaries support repository-scale navigation, dependency impact, runtime flow, and configuration.

Versioned knowledge with explicit ownership. Version-controlled annotations attach intent, invariants, risks, and operational knowledge to graph nodes. Agents and developers author them; repovine checks freshness and structural consistency against repository state.

Together, these layers support intent-driven, context-compiled, contract-verified development. Task intent guides MCP context assembly, and observable claims are checked against repository state.

Checkout-local by design. The live graph and indexes are built from each checkout's working tree and run in memory. Configuration and authored knowledge travel through Git. No database is required.

Benchmarks. Across correctness and restraint tasks drawn from public software repositories, 90% of Repovine runs passed their case-specific diff gate, compared with 10.6% of baseline runs. Explore the results.

Quick start

Start in an existing repository:

npx repovine setup claude # or codex, cursor, all

setup connects the selected client to repovine, adds repovine skills, hooks, and instructions, and builds the repository graph.

The graph model

repovine deterministically derives a graph of cross-unit contracts from repository state. Source and infrastructure plugins translate stack-specific structures into the same vocabulary of packages, modules, exported symbols, templates, runtime resources, and their relationships—so navigation, dependency impact, runtime flow, and configuration work consistently across supported stacks. Explore the design rationale.

How it works

The engine and MCP provide the base workflow. Interactive clients use it directly. For explicit protocol runs, Delivery Protocol adds a structured assignment → result → compliance contract around the same workflow.

Client

In clients such as Claude Code, Codex, or Cursor, the agent uses repovine MCP directly while the developer stays in the loop.

graph LR
  SRC["sources"] --> S1["Stage 1: gather facts"]
  S1 --> S2["Stage 2: build graph"]
  S2 --> ANN["versioned annotations on graph nodes"]
  A["agents and developers"] --> ANN
  S2 --> S3["Stage 3: build search index"]
  ANN --> S3
  S3 --> MCP["MCP tools"]
  ANN --> MCP
  MCP -->|"bounded context"| C["Cursor, Claude Code, or Codex"]
Stage Input Output
Stage 1: gather facts sources exports, imports, env names, routes, infra
Stage 2: build graph facts packages → modules → symbols; infra/template/domain edges
annotations graph + agent/developer writes versioned intent, invariants, risks, side effects, and operational constraints
Stage 3: build search index graph + annotations token index; optional embeddings to assist fuzzy search
MCP graph + annotations + index bounded graph and annotation query results

Delivery Protocol

Delivery Protocol defines the assignment → structured result → compliance report contract. Core owns the schemas, projections, and validators that ground the protocol in observable repository state.

The agent uses MCP to access repository context while it works. The repovine CLI validates the assignment and result and produces the compliance report.

graph LR
  IN["assignment"] --> AV["assignment validation"]
  AV --> A["agent"]
  A <-->|"repository context during the run"| MCP["repovine MCP"]
  A --> R["structured result"]
  AV -->|"validated assignment"| V["repovine compliance validation"]
  R --> V
  S["observable repository state + recorded context"] --> V
  V --> OUT["compliance report"]

repovine validates schema conformance, assignment linkage, and claims it can recompute from the graph, annotations, recorded MCP context, and an optional revision delta. The compliance report covers protocol conformance and repository grounding; behavioral correctness and merge readiness are outside the protocol's scope.

The runnable LangGraph harness demo applies the protocol in an end-to-end agent workflow. Its orchestration topology, sandbox, retries, worktree isolation, and provider behavior are demo-specific implementation choices. See the Delivery Protocol integration guide.

MCP tools

Each tool returns a scoped, structured response.

Query tools, with typical questions for a large repository:

Group Example question Tools
Navigate where is authentication? what is inside the billing package? search_context, map_context, inspect_node
Runtime what are the entrypoints? how does an order flow through services? get_entrypoints, trace_flow
Contracts & config which consumers are affected by an API change? which environment variables does the worker read? analyze_dependencies, get_config_surface
Architecture are there boundary violations or god modules? analyze_architecture

Maintenance tools service the graph and annotations:

Group Purpose Tools
Memory which nodes are annotated or stale? get_annotation_status, write_annotation, merge_annotations, validate_annotations, get_annotation_merge_status
Sync rebuild and check the graph refresh_context, get_build_status, get_context_session_quality
Domains tune the domain config suggest_domains_config
Declines dismiss reviewed advisory items decline_advisory (kind: domains-config | carrier-link-gaps)

Setup and CLI

setup adds the following repovine integrations to the workspace while preserving existing configuration and project specialists:

Integration Included
MCP server the repovine MCP tools
Skills repovine-workflow, repovine-annotations, repovine-refresh, repovine-review, repovine-status
Subagents repovine-repo-explorer, repovine-annotation-writer, repovine-architecture-auditor, repovine-code-reviewer
Hooks pre-edit boundary notice, post-edit stale-graph notice, session-start "MCP first" reminder
Instructions AGENTS.md (Cursor uses .cursor/rules)
Command Goal
npx repovine run the stdio MCP server outside an IDE/CLI client
npx repovine setup cursor (or claude/codex/all) add the integrations above, then build the graph
npx repovine build build the graph
npx repovine status graph / config / annotation health
npx repovine doctor diagnose the workspace integration
npx repovine clear remove repovine-managed workspace files
npx repovine --version · --help version / help
npx repovine delivery --help harness/CI Delivery Protocol commands: descriptor, manifests, run brief, validation, and compliance
npx repovine agents --help harness/CI utilities for repository roles, deterministic orientation, and context-session quality

STDIO is the only supported MCP transport in v1. For remote, devcontainer, WSL, VM, or devbox use, launch the repovine subprocess inside that environment so it runs in the checkout being analyzed.

Supported stacks

Area Support
Languages First-class support: TypeScript (JS/JSX via the TS toolchain, needs tsconfig.json); Python partial (backend routes + server-rendered templates)
Frameworks React, Next.js, Nuxt, SvelteKit, Angular, NestJS, serverless monorepos; Vue/Svelte single-file components (script blocks only)
IaC Partial, expanding coverage: SAM/CloudFormation, Terraform, Kubernetes, Helm, Dockerfile, docker-compose, Vercel

IaC parsers turn infra files into runtime-resource nodes plus links to the code and images behind them. They cover selected resources and relationships rather than complete format schemas. Coverage is under active development, and extending the existing extractors is a contribution area. Design detail: DESIGN.md.

Requires Node.js 22+ and one indexable root: tsconfig.json, pyproject.toml/setup.py (needs python3), or IaC files. Repositories with supported IaC files can be indexed without a source project; the graph contains infrastructure modules and runtime resources, but no code modules.

Repository files

File / dir Git Role
repovine.config.json commit main config: graph build and MCP output
repovine.domains.json commit logical organization of the repository graph
repovine.annots.json commit semantic annotation memory
.repovine/ ignore local engine cache and workspace state

Defaults work for most TypeScript repositories. Config reference: docs/workspace-files.md.

Status

Preview (0.1.0), usable today and open to contributions. The graph schema and @repovine/plugin-sdk still change.

Contribute

repovine's plugin architecture provides two public producer surfaces for extending language and infrastructure coverage, both exposed by @repovine/plugin-sdk:

Plugin What it adds
Language source producer a language: source files → modules, imports, exports, semantic hints
IaC parser an infra format: files → runtime-resource nodes and links

Built-in and third-party producers share the same public plugin contracts; core validates their output and owns graph identities and ontology. See the plugin guide and runnable Go source plugin, IaC plugin, and other examples.

Learn more

  • DESIGN.md: system boundaries, graph contract, trust model, and limitations
  • CONTRIBUTING.md: dev setup, quality gates
  • Documentation: guides, references, and the TODO app walkthrough
  • Platform support: per-surface OS tiers, prerequisites, and promotion rules
  • examples: runnable plugins and the Delivery Protocol harness demo

License

MIT. See LICENSE.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured