Skip to main content
Glama
README.md
# 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

A3.6/5.0

Scored across 6 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness5/5

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.

Maintenance

ActivityInactive
ResponsivenessNo issues