Merovingian MCP Server
Enables AI agents to map cross-repository dependencies, detect breaking changes in API contracts, and assess impact across services.
README
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/oneOfsupport - 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.,
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 = 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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.