Skip to main content

Cross-repository dependency intelligence for AI agents via MCP

Project description

Merovingian

Cross-repository dependency intelligence for AI agents via MCP.

Merovingian maps cross-repo dependencies — API contracts, shared schemas, consumer relationships — and detects breaking changes before they propagate. It answers: "What else will break if I change this?"

Part of the EvoIntel MCP Suite (Sentinel, Niobe, Merovingian, Seraph, Anno).

Features

  • OpenAPI spec parsing — detects endpoints, request/response schemas, $ref resolution (recursive, with cycle detection), allOf/anyOf/oneOf support
  • Pydantic model extraction — AST-parses Python files for BaseModel subclasses, no runtime imports needed
  • Direction-aware breaking change detection — request vs response changes have opposite breaking semantics
  • Consumer registry — track which services consume which endpoints
  • Dependency graph — visualize producer/consumer relationships across repos
  • Contract versioning — deterministic SHA256 spec hashing, version history with diff tracking
  • MCP interface — 8 tools for AI agent consumption
  • CLI — 12 commands via Typer with Rich output

Installation

pip install merovingian
pip install merovingian[mcp]  # with MCP server support

Quick Start

# Register repositories
merovingian register user-service /path/to/user-service --type openapi
merovingian register billing-service /path/to/billing-service

# Scan for contracts
merovingian scan user-service

# Register consumer relationships
merovingian add-consumer billing-service user-service GET /users/{id}

# Check for breaking changes
merovingian breaking user-service

# Full impact assessment with consumer mapping
merovingian impact user-service

# View dependency graph
merovingian graph

# Contract version history
merovingian contracts user-service

CLI Commands

Command Description
register <name> <path> Register a repository for scanning
unregister <name> Remove a registered repository
repos List all registered repositories
scan <repo> Scan and update endpoints
consumers List consumer relationships
add-consumer <consumer> <producer> <method> <path> Register a consumer
breaking <repo> Check for breaking changes
impact <repo> Full impact assessment with consumer mapping
contracts <repo> View contract version history
graph View dependency graph
feedback <target_id> <outcome> Submit feedback
audit View audit log

MCP Server

Add to your Claude Code configuration (~/.claude.json):

{
  "mcpServers": {
    "merovingian": {
      "command": "merovingian-mcp",
      "args": []
    }
  }
}

MCP Tools

Tool Description
merovingian_register Register a repository for contract scanning
merovingian_consumers List consumers of endpoints
merovingian_breaking Check for breaking changes
merovingian_impact Full impact assessment with consumer mapping
merovingian_contracts List contract versions
merovingian_graph Query the dependency graph
merovingian_feedback Submit feedback on assessments
merovingian_audit Query the audit log

Breaking Change Detection

Merovingian classifies changes with direction-aware logic:

Breaking (blocks consumers):

  • Endpoint removed
  • Required field added to request body
  • Response field removed
  • Field type changed (non-widening)
  • Optional field made required in request

Warning:

  • Type widened (e.g., integernumber)
  • Required field made optional in response

Info (non-breaking):

  • Endpoint added
  • Optional field added to request
  • Response field added
  • Summary/description changed

Configuration

Merovingian uses layered configuration: TOML file → environment variables → defaults.

Create .merovingian/config.toml in your project root:

[store]
db_name = "merovingian.db"

[scanner]
openapi_patterns = ["openapi.yaml", "openapi.json", "swagger.yaml", "swagger.json"]
pydantic_scan_dirs = ["src", "app", "lib"]

[mcp]
default_query_limit = 50

Part of the EvoIntel MCP Suite

Merovingian solves AI Blindness #3: Cross-Service Dependencies — API contracts, consumer relationships, and breaking changes that span repository boundaries.

Part of the EvoIntel MCP Suite by Evolving Intelligence AI: five tools for five blindnesses no model improvement will ever fix.

Tool Blindness Install
Sentinel Project History pip install git-sentinel
Niobe Runtime Behavior pip install niobe
Merovingian Cross-Service Dependencies pip install merovingian
Seraph Code Quality pip install seraph-ai
Anno Web Content npm install -g @evointel/anno

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

merovingian-0.1.2.tar.gz (32.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

merovingian-0.1.2-py3-none-any.whl (28.0 kB view details)

Uploaded Python 3

File details

Details for the file merovingian-0.1.2.tar.gz.

File metadata

  • Download URL: merovingian-0.1.2.tar.gz
  • Upload date:
  • Size: 32.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for merovingian-0.1.2.tar.gz
Algorithm Hash digest
SHA256 316a0cab2848a9d836e2be8718b3e37850c1fe1ccd135c5e83061f8142e98b63
MD5 1fac9050b38a20f0919ce7618642110f
BLAKE2b-256 d1f02dafda850956f4922bdddc7314cd5d5aa44b0295e132a728bd7a4e694b9c

See more details on using hashes here.

File details

Details for the file merovingian-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: merovingian-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 28.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for merovingian-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b21bfe32c71a50e8ea126e6e522612948fd30b86001981f79f28935ad6438e06
MD5 428da9b80508245bb4252d61daeedc5f
BLAKE2b-256 876da8ca46329fd44e6d734b5bf767bef7d7032df2dc5000cb14b81c4b5cdfd2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page