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

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.4.tar.gz (33.0 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.4-py3-none-any.whl (28.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: merovingian-0.1.4.tar.gz
  • Upload date:
  • Size: 33.0 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.4.tar.gz
Algorithm Hash digest
SHA256 593ca01a683cbe5bea5de4eb1c22e6eb772428c05f64e0182c4630dafe277a10
MD5 44aef96b243e62a7549c74e7d5610b85
BLAKE2b-256 138a79c7f3b50cd47ca0dd5c08d332833551444b404056410d665f6820d736bb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: merovingian-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 28.4 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 4cf77eb1ef6b11361aa073e9c9f76cc4a5910382b1188962c816a850577df0c5
MD5 3cb2d34ff0d8f22def22ec55ec7e75e4
BLAKE2b-256 c4335ec0877746238357b26c14599d58509302cad03f3d0c08be93271b25e3c8

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