|
| 1 | +--- |
| 2 | +title: Recce Claude Plugin — AI-Assisted dbt Data Validation in Claude Code |
| 3 | +description: >- |
| 4 | + Install and use the Recce Claude Plugin to validate dbt data changes |
| 5 | + directly in Claude Code. Automates MCP server setup, artifact generation, |
| 6 | + and provides slash commands for schema diff, row count diff, and PR review. |
| 7 | +--- |
| 8 | + |
| 9 | +# Recce Claude Plugin for Claude Code |
| 10 | + |
| 11 | +Recce is a dbt data validation tool that compares your development branch against your base branch and surfaces schema changes, row count differences, and data diffs before you merge. The Recce Claude Plugin brings this capability into Claude Code, making it accessible through natural language and interactive slash commands. |
| 12 | + |
| 13 | +If you're reviewing dbt pull requests with Claude Code, the plugin connects Claude directly to your data warehouse so you can ask questions like "What changed in the orders model?" and get validated answers — without writing a single query by hand. |
| 14 | + |
| 15 | +## Why use the plugin? |
| 16 | + |
| 17 | +Without Recce, reviewing data changes in a dbt PR means manually querying your warehouse, comparing results across branches, and hoping you've checked the right models. With the Recce Claude Plugin, Claude does this for you — it runs schema diffs, row count comparisons, and statistical profiles across your modified models and reports back in plain language. |
| 18 | + |
| 19 | +The plugin also handles all of the setup that the [MCP server](../5-data-diffing/mcp-server.md) requires manually: |
| 20 | + |
| 21 | +- Checks prerequisites (Python, dbt, Git) |
| 22 | +- Installs Recce if needed |
| 23 | +- Generates base and current dbt artifacts (the `manifest.json` and `catalog.json` metadata files that Recce needs) |
| 24 | +- Starts the MCP server automatically |
| 25 | +- Provides slash commands for common validation workflows |
| 26 | + |
| 27 | +!!! note |
| 28 | + If you use Cursor, Windsurf, or another AI agent, see the [MCP Server page](../5-data-diffing/mcp-server.md) for direct configuration instructions. |
| 29 | + |
| 30 | +## Requirements |
| 31 | + |
| 32 | +- Claude Code 1.0.33 or higher |
| 33 | +- Python 3.8+ |
| 34 | +- dbt (any adapter — Snowflake, BigQuery, Redshift, Databricks, DuckDB, and others) |
| 35 | +- Git |
| 36 | + |
| 37 | +## Installation |
| 38 | + |
| 39 | +### Step 1: Add the Recce marketplace |
| 40 | + |
| 41 | +In Claude Code, run: |
| 42 | + |
| 43 | +``` |
| 44 | +/plugin marketplace add DataRecce/recce-claude-plugin |
| 45 | +``` |
| 46 | + |
| 47 | +### Step 2: Install the plugin |
| 48 | + |
| 49 | +``` |
| 50 | +/plugin install recce-quickstart@recce-claude-plugin |
| 51 | +``` |
| 52 | + |
| 53 | +Or use the interactive installer: |
| 54 | + |
| 55 | +``` |
| 56 | +/plugin |
| 57 | +``` |
| 58 | + |
| 59 | +Navigate to the **Discover** tab, find `recce-quickstart`, and press Enter to install. |
| 60 | + |
| 61 | +### Step 3: Verify installation |
| 62 | + |
| 63 | +``` |
| 64 | +/plugin |
| 65 | +``` |
| 66 | + |
| 67 | +Navigate to the **Installed** tab to confirm `recce-quickstart` appears. |
| 68 | + |
| 69 | +!!! tip "Installation scopes" |
| 70 | + By default, the plugin installs at user scope (available across all projects). You can also install at project scope (`--scope project`) to share with your team, or local scope (`--scope local`) for just the current repository. |
| 71 | + |
| 72 | +## Getting started |
| 73 | + |
| 74 | +Make sure you're on your feature branch — Recce compares your current branch against main. Then navigate to your dbt project and run the setup command: |
| 75 | + |
| 76 | +``` |
| 77 | +/recce-setup |
| 78 | +``` |
| 79 | + |
| 80 | +This walks you through: |
| 81 | + |
| 82 | +1. Verifying your dbt project and warehouse connection |
| 83 | +2. Generating development dbt artifacts (`target/manifest.json`) |
| 84 | +3. Generating base dbt artifacts (`target-base/manifest.json`) |
| 85 | +4. Starting the Recce MCP server |
| 86 | + |
| 87 | +When setup completes, you'll see confirmation that the MCP server is running and connected. |
| 88 | + |
| 89 | +Once connected, Claude has access to all of Recce's validation tools. Try asking a question about your data changes: |
| 90 | + |
| 91 | +``` |
| 92 | +You: What schema changes happened in my current branch? |
| 93 | +``` |
| 94 | + |
| 95 | +Claude calls Recce's `schema_diff` tool behind the scenes and responds with a summary of added, removed, or modified columns across your changed models. |
| 96 | + |
| 97 | +## Available commands |
| 98 | + |
| 99 | +| Command | Description | |
| 100 | +|---------|-------------| |
| 101 | +| `/recce-setup` | Guided setup — installs dependencies, generates artifacts, starts the MCP server | |
| 102 | +| `/recce-pr [url]` | Analyze data impact of a pull request (auto-detects PR from current branch) | |
| 103 | +| `/recce-check [type] [model]` | Run validation checks (row-count, schema, profile, query-diff) | |
| 104 | +| `/recce-ci` | Generate GitHub Actions workflows for Recce Cloud CI/CD | |
| 105 | + |
| 106 | +## Example workflows |
| 107 | + |
| 108 | +### Analyze a pull request |
| 109 | + |
| 110 | +``` |
| 111 | +/recce-pr https://github.com/your-org/your-repo/pull/123 |
| 112 | +``` |
| 113 | + |
| 114 | +Or if you're already on the PR branch: |
| 115 | + |
| 116 | +``` |
| 117 | +/recce-pr |
| 118 | +``` |
| 119 | + |
| 120 | +### Run specific validation checks |
| 121 | + |
| 122 | +``` |
| 123 | +/recce-check row-count orders |
| 124 | +/recce-check schema customers |
| 125 | +/recce-check profile payments |
| 126 | +``` |
| 127 | + |
| 128 | +## Managing the plugin |
| 129 | + |
| 130 | +Disable the plugin: |
| 131 | + |
| 132 | +``` |
| 133 | +/plugin disable recce-quickstart@recce-claude-plugin |
| 134 | +``` |
| 135 | + |
| 136 | +Re-enable: |
| 137 | + |
| 138 | +``` |
| 139 | +/plugin enable recce-quickstart@recce-claude-plugin |
| 140 | +``` |
| 141 | + |
| 142 | +Uninstall: |
| 143 | + |
| 144 | +``` |
| 145 | +/plugin uninstall recce-quickstart@recce-claude-plugin |
| 146 | +``` |
| 147 | + |
| 148 | +Update to latest version: |
| 149 | + |
| 150 | +``` |
| 151 | +/plugin marketplace update recce-claude-plugin |
| 152 | +``` |
| 153 | + |
| 154 | +## Troubleshooting |
| 155 | + |
| 156 | +### Plugin not loading |
| 157 | + |
| 158 | +1. Verify Claude Code version is 1.0.33 or higher: `claude --version` |
| 159 | +2. Check the plugin is installed: `/plugin` → **Installed** tab |
| 160 | +3. Check for errors: `/plugin` → **Errors** tab |
| 161 | + |
| 162 | +### MCP server not starting |
| 163 | + |
| 164 | +1. Make sure you're in a dbt project directory (has `dbt_project.yml`) |
| 165 | +2. Verify Recce is installed: `pip install 'recce[mcp]'` |
| 166 | +3. Check if port 8081 is available, or set a custom port: `RECCE_MCP_PORT=8085` |
| 167 | +4. Re-run the setup: `/recce-setup` |
| 168 | + |
| 169 | +### Commands not recognized |
| 170 | + |
| 171 | +1. Confirm the plugin is enabled: `/plugin` → **Installed** tab → check status |
| 172 | +2. Restart Claude Code to reload plugins |
| 173 | + |
| 174 | +## FAQ |
| 175 | + |
| 176 | +**Does the Recce Claude Plugin work with Cursor or Windsurf?** |
| 177 | + |
| 178 | +The plugin is specific to Claude Code. For Cursor and Windsurf, configure Recce using the [MCP server](../5-data-diffing/mcp-server.md) directly. |
| 179 | + |
| 180 | +**What dbt adapters does Recce support?** |
| 181 | + |
| 182 | +Recce works with any dbt adapter, including Snowflake, BigQuery, Redshift, Databricks, DuckDB, and others. |
| 183 | + |
| 184 | +**What is the Model Context Protocol (MCP)?** |
| 185 | + |
| 186 | +[MCP](https://modelcontextprotocol.io) is an open standard that lets AI agents like Claude Code call external tools. Recce implements an MCP server so Claude can run data diffs against your warehouse on demand. |
| 187 | + |
| 188 | +**Can I use the plugin without Recce Cloud?** |
| 189 | + |
| 190 | +Yes. The plugin works with Recce OSS for local validation. [Recce Cloud](https://cloud.reccehq.com/) adds automated PR review, team collaboration, and persistent validation history. |
| 191 | + |
| 192 | +## What's next |
| 193 | + |
| 194 | +- [Recce MCP Server](../5-data-diffing/mcp-server.md) — configure Recce with Cursor, Windsurf, and other AI agents, or explore advanced MCP options |
| 195 | +- [Row Count Diff](../5-data-diffing/row-count-diff.md) — understand row count validation |
| 196 | +- [Profile Diff](../5-data-diffing/profile-diff.md) — statistical profiling comparisons |
| 197 | +- [CI/CD Setup](../7-cicd/ci-cd-getting-started.md) — automate validation in your workflow |
0 commit comments