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.3.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.3-py3-none-any.whl (28.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: merovingian-0.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 7dca280ee0a596c20f1a33434098cfa6beee04ed6192af0fb36272f70185839b
MD5 e84643612344e5989052e034bd406a3e
BLAKE2b-256 a8fb99f90260aded3097991e4a5df851129b32db0f75d00e19024e45a22d4039

See more details on using hashes here.

File details

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

File metadata

  • Download URL: merovingian-0.1.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f5eeb639860e2c5ff9a255367fd03619742cb0819c08f26d7f4a754bda2760d6
MD5 4a56d9bc421ebe1cf4d25a5d69e05874
BLAKE2b-256 1c212898ee4b0b7c591a85efe94f6057f7149eb3b707c34ee2f3ee78efe772a3

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