MCP Atlas
# MCP Atlas
An MCP (Model Context Protocol) server for [Ariga Atlas](https://atlasgo.io/), enabling AI assistants to interact with Atlas migration tools through the Model Context Protocol.
## What is this?
This package provides a bridge between AI assistants (like Claude) and Atlas, allowing them to manage database migrations, validate schemas, and perform other database-related operations using Atlas commands.
## Features
- **migrate-apply**: Apply pending migration files to a database
- **migrate-diff**: Generate new migration files by comparing current state to desired schema
- **migrate-lint**: Run analysis on migration directory to detect issues
- **migrate-new**: Create new empty migration files
- **migrate-status**: Report current migration status of a database
- **migrate-validate**: Validate migration directory integrity and consistency
## Prerequisites
- [Atlas CLI](https://atlasgo.io/getting-started#installation) must be installed and available in your PATH
- Node.js 18 or higher
## Configuration
Add this server to your MCP client configuration. For Claude Desktop, add to your config file:
**MacOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%/Claude/claude_desktop_config.json`
```json
{
"mcpServers": {
"atlas": {
"command": "npx",
"args": ["-y", "@mpreziuso/mcp-atlas"]
}
}
}
```
The `-y` flag automatically installs or updates the package without prompting.
## Usage
Once configured, your AI assistant can use Atlas commands through the MCP protocol. Example interactions:
- "Check the migration status of my database"
- "Create a new migration file"
- "Apply pending migrations to the database"
- "Validate the migration directory"
- "Generate a migration diff from my schema"
## Example Commands
The MCP server wraps these Atlas CLI commands:
- `atlas migrate apply` - Apply migrations
- `atlas migrate diff` - Generate migration diffs
- `atlas migrate lint` - Lint migration files
- `atlas migrate new` - Create new migration
- `atlas migrate status` - Check migration status
- `atlas migrate validate` - Validate migrations
## License
MIT
## Author
Michele Preziuso <mpreziuso@kaosdynamics.com>
## Repository
[https://github.com/mpreziuso/mcp-atlas](https://github.com/mpreziuso/mcp-atlas)
TDQS
Scored across 6 tools
Each tool has a clearly distinct purpose within the migration workflow: apply, diff, lint, new, status, and validate. The descriptions specify unique actions (e.g., applying migrations vs. generating diffs vs. detecting issues), leaving no ambiguity about which tool to use for a given task.
All tools follow a consistent 'migrate-verb' pattern with hyphenated naming (e.g., migrate-apply, migrate-diff). This predictable structure makes it easy to understand each tool's function and ensures uniformity across the set.
With 6 tools, the server is well-scoped for database migration management. Each tool serves a specific, non-redundant role in the migration lifecycle, from creation to validation and application, making the count appropriate and efficient for the domain.
The toolset provides complete coverage of the migration domain, including creation (migrate-new), analysis (migrate-diff, migrate-lint, migrate-validate), status tracking (migrate-status), and execution (migrate-apply). There are no obvious gaps, enabling agents to handle the full migration workflow without dead ends.