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

Uploaded Python 3

File details

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

File metadata

  • Download URL: merovingian-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 f1c061f6a16b3b4114f4291a2242e46a180a53f4233fd299e4a786322e0b71e2
MD5 0a3d9f48e8f2a3f21379865d5e9884a1
BLAKE2b-256 c6f49b458b633d20bac9ce252cdfcb8121d3f53bfc8fea04f1d1b5f574277ff1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: merovingian-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d78632aef3e0fe514f86255d4f3fb4b83c3d380cef51adc960097cf13a642ba0
MD5 219d0fa316e78dbf3df115cbd35d401d
BLAKE2b-256 bce5fb5260c8b60ad97ff699da93323357aae73356607e6c3a8f7f8be15e0d7d

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