Merovingian MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Merovingian MCP Server Check for breaking changes in the user-service"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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,
$refresolution (recursive, with cycle detection),allOf/anyOf/oneOfsupportPydantic 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
Related MCP server: coderadius
Installation
pip install merovingianQuick 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-serviceCLI Commands
Command | Description |
| Register a repository for scanning |
| Remove a registered repository |
| List all registered repositories |
| Scan and update endpoints |
| List consumer relationships |
| Register a consumer |
| Check for breaking changes |
| Full impact assessment with consumer mapping |
| View contract version history |
| View dependency graph |
| Submit feedback |
| View audit log |
MCP Server
Add to your Claude Code configuration (~/.claude.json):
{
"mcpServers": {
"merovingian": {
"command": "merovingian-mcp",
"args": []
}
}
}MCP Tools
Tool | Description |
| Register a repository for contract scanning |
| List consumers of endpoints |
| Check for breaking changes |
| Full impact assessment with consumer mapping |
| List contract versions |
| Query the dependency graph |
| Submit feedback on assessments |
| 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.,
integer→number)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 = 50Part 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 |
Project History |
| |
Runtime Behavior |
| |
Merovingian | Cross-Service Dependencies |
|
Code Quality |
| |
Web Content |
|
License
MIT
Available Tools
10 toolsmerovingian_add_consumerA
Register a consumer relationship between two repositories.
Call this to tell Merovingian that consumer_repo calls an endpoint on producer_repo. Once registered, merovingian_impact will include this relationship in its blast radius analysis.
Args: consumer_repo: Name of the repo that calls the endpoint (e.g. 'web-client') producer_repo: Name of the repo that owns the endpoint (e.g. 'api-server') endpoint_method: HTTP method (e.g. 'GET', 'POST') endpoint_path: Endpoint path (e.g. '/api/v1/transactions')
Inputs: consumer_repo (required), endpoint_path (required), producer_repo (required), endpoint_method (required). Returns: result
merovingian_auditC
Query the audit log of tool invocations.
Args: tool_name: Filter by tool name (optional) since: Look back N minutes (optional) limit: Max entries to return (optional, default 50)
Inputs: limit, since, tool_name. Returns: result
merovingian_breakingC
Check for breaking changes in a repository's contracts.
Args: repo_name: Name of the repository to check
Inputs: repo_name (required). Returns: result
merovingian_consumersC
List consumers of endpoints.
Args: producer_repo: Filter by producer repository name (optional) endpoint_method: Filter by HTTP method (optional) endpoint_path: Filter by endpoint path (optional)
Inputs: endpoint_path, producer_repo, endpoint_method. Returns: result
merovingian_contractsC
List contract versions for a repository.
Args: repo_name: Name of the repository limit: Maximum number of versions to return (optional, default 50)
Inputs: repo_name (required), limit. Returns: result
merovingian_feedbackB
Submit feedback on an assessment or change.
Args: target_id: ID of the report or change to give feedback on outcome: One of: accepted, rejected, modified target_type: Type of target (e.g., 'report', 'change') (optional) context: Explanation of why (optional)
Inputs: outcome (required), target_id (required), context, target_type. Returns: result
merovingian_graphC
Query the dependency graph.
Args: repo_name: Filter to a specific repository's dependencies (optional)
Inputs: repo_name. Returns: result
merovingian_impactC
Full impact assessment with consumer mapping for a repository.
Args: repo_name: Name of the repository to assess
Inputs: repo_name (required). Returns: result
merovingian_registerA
Register a repository for contract scanning.
Args: name: Unique name for the repository path: Filesystem path to the repository root contract_type: Contract type: 'openapi' or 'pydantic' (optional, auto-detect if omitted)
Inputs: name (required), path (required), contract_type. Returns: result
merovingian_scanA
Scan a registered repository and ingest its API contracts.
Must be called after merovingian_register before contracts are visible. Safe to re-run — updates endpoints without deleting contract history.
Args: name: Repository name (as registered with merovingian_register)
Inputs: name (required). Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 10 tools
The tools are largely distinct, each covering lifecycle stages (register, scan, add_consumer, breaking, impact). The only slight overlap is between `merovingian_consumers` and `merovingian_impact`, as both deal with consumers, but their focus differs (listing consumers vs. full impact assessment).
All tools follow a consistent `merovingian_<verb>` pattern with clear, descriptive verb choices (e.g., register, scan, add_consumer, breaking, impact). The naming is uniform and predictable.
With 10 tools, the count is well-scoped for a contract scanning and dependency analysis server. Each tool covers a distinct step in the workflow without being excessive or sparse.
The tool surface covers registration, scanning, dependency management, contract listing, breaking change detection, impact analysis, feedback, and audit. Minor gap: no tool to unregister a repository or delete consumer relationships, which could cause dead ends in cleanup scenarios.
Maintenance
Related MCP Connectors
Codebase intelligence for AI agents — dead code, blast radius, ownership.
Code intelligence platform for AI agents. 20 tools for architecture, security & impact analysis.
Change-impact intelligence for tracing dependencies, stale references and required updates.
AI Agent with Architectural Memory. Impact analysis (free), tests and code from the graph (pro).
Related MCP Servers
- FlicenseAqualityDmaintenanceProvides AI coding agents with dependency analysis, impact detection, and build verification tools.14-

coderadiusofficial
AlicenseNot gradedqualityCmaintenanceEnables AI agents to query architecture context, data contracts, and blast radius to prevent cross-repo architectural breakage before merging.23Apache 2.0- AlicenseNot gradedqualityBmaintenanceProvides a dependency graph of any local repository with tools for change impact, transitive dependents, health audits, and more, enabling AI coding agents to see structure and refactor safely.4,912 npm4MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to query and analyze code across multiple repositories through a unified knowledge graph, with tools for symbol search, impact analysis, and graph algorithms.54 npmMIT