DriftHound MCP Server
OfficialClick 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., "@DriftHound MCP Server list projects with drift"
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.
DriftHound MCP Server
An MCP (Model Context Protocol) server that enables Claude to discover and understand IaC drift from DriftHound.
Features
list_projects_with_drift - Find all projects that have drifting environments
list_environments - List environments for a project with status filtering
get_drift_details - Get full Terraform plan output for drift analysis
get_environment_info - Get repository, branch, and directory for remediation
Related MCP server: Infracost MCP Server
Installation
GitHub Packages (recommended)
The package is published to GitHub Packages. Because GitHub Packages requires authentication even for public packages, you need a GitHub personal access token with the read:packages scope.
Add the following to your
~/.npmrc:
@drifthoundhq:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=YOUR_GITHUB_PATUse
npxdirectly in your MCP client config — no global install needed (see below).
From source
npm install
npm run buildConfiguration
Environment Variables
Variable | Required | Description |
| Yes | Base URL of your DriftHound instance |
| Yes | API token from DriftHound admin UI |
Claude Code Configuration
Add to your Claude Code settings (~/.claude/settings.json):
{
"mcpServers": {
"drifthound": {
"command": "npx",
"args": ["-y", "@drifthoundhq/mcp-server"],
"env": {
"DRIFTHOUND_API_URL": "https://drifthound.example.com",
"DRIFTHOUND_API_TOKEN": "your-api-token"
}
}
}
}Claude Desktop Configuration
Add to your Claude Desktop config (claude_desktop_config.json):
{
"mcpServers": {
"drifthound": {
"command": "npx",
"args": ["-y", "@drifthoundhq/mcp-server"],
"env": {
"DRIFTHOUND_API_URL": "https://drifthound.example.com",
"DRIFTHOUND_API_TOKEN": "your-api-token"
}
}
}
}Usage
Once configured, Claude can use these tools to discover and understand drift:
Discover Drift
Claude, what projects have drift?Claude will use list_projects_with_drift to find projects needing attention.
Investigate a Project
Show me the drifting environments in the EKS projectClaude will use list_environments with status=drift filter.
Analyze Drift Details
What's causing drift in eks/production?Claude will use get_drift_details to get the full Terraform plan output.
Get Remediation Info
Where can I find the code to fix eks/production drift?Claude will use get_environment_info to get the repository URL and directory.
Kubernetes Deployment
A Docker image is published to ghcr.io/drifthoundhq/mcp-server on every release. The server runs in HTTP mode when the PORT environment variable is set, exposing the MCP protocol at /mcp.
The quickest way to deploy on Kubernetes is via the Helm chart published to the OCI registry:
helm install drifthound oci://ghcr.io/drifthoundhq/charts/drifthound-mcp-server \
--namespace drifthound \
--create-namespace \
--set drifthoundApiUrl=https://your-drifthound.example.com \
--set drifthoundApiToken=your-api-tokenOnce running, point Claude Code at the in-cluster endpoint:
{
"mcpServers": {
"drifthound": {
"url": "http://drifthound-drifthound-mcp-server.drifthound.svc.cluster.local:3000/mcp"
}
}
}See the Helm chart README for the full configuration reference, external secret support, and port-forward instructions for local access.
Development
# Run in development mode
npm run dev
# Build for production
npm run build
# Start production server
npm startAPI Requirements
This MCP server requires DriftHound to have the read API endpoints enabled:
GET /api/v1/projects- List projectsGET /api/v1/projects/:key- Get project detailsGET /api/v1/projects/:key/environments- List environmentsGET /api/v1/projects/:key/environments/:key- Get environment detailsGET /api/v1/projects/:key/environments/:key/drift- Get latest drift check
License
MIT
Available Tools
4 toolsget_drift_detailsA
Get the latest drift check details for an environment including the full Terraform/Terragrunt plan output (raw_output). This shows exactly what resources will be added, changed, or destroyed. Essential for understanding what needs to be fixed.
Inputs: project_key (required), environment_key (required).
get_environment_infoA
Get detailed information about an environment including its GitHub repository URL, branch, and directory path. Use this to know where to find and clone the IaC code for remediation.
Inputs: project_key (required), environment_key (required).
list_environmentsA
List all environments for a specific project with their current status (ok, drift, error, unknown). Optionally filter by status to find only drifting environments. Returns environment keys, names, directories, and last drift check summary.
Inputs: project_key (required), status.
list_projects_with_driftA
List all projects that have environments with drift or error status. Returns project keys, names, repositories, branches, and the number of environments in drift or error state. Use this to discover which projects need attention.
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: listing projects with drift, listing environments, getting drift details, and getting environment info. No ambiguity in their roles.
All tool names follow a consistent verb_noun pattern (list_projects_with_drift, list_environments, get_drift_details, get_environment_info). The naming is predictable and readable.
With 4 tools, the set is well-scoped for a drift monitoring server. Each tool covers a distinct aspect: discovery, details, and context. Not too few or too many for the domain.
The tools cover discovery and information retrieval for drift detection. However, there is no tool to trigger a drift check or perform remediation, which may be intentional but leaves a minor gap.
Maintenance
Related MCP Connectors
Query your team's drift, vulnerability, and upgrade data from any AI assistant. OAuth 2.1, 51 tools.
Provides capabilities that let LLM agents perform a range of infrastructure management tasks.
Detects database migration table locks, terraform cost leaks, and OWASP API flaws.
Unified API to query AWS, GCP, Azure and generate Terraform/CLI execution kits for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenance🌍 Terraform Model Context Protocol (MCP) Tool - An experimental CLI tool that enables AI assistants to manage and operate Terraform environments. Supports reading Terraform configurations, analyzing plans, applying configurations, and managing state with Claude Desktop integration. ⚡️371MIT
- AlicenseAqualityDmaintenanceEnables Claude to interact with Infracost for Terraform cost estimation and cloud governance. Supports generating cost breakdowns, comparing configurations, creating tagging policies, setting up cost guardrails, and posting cost comments to PRs.162MIT
- AlicenseNot gradedqualityFmaintenanceEnables management of Facets Control Plane projects, resources, environments, and deployments through Claude, offering secure infrastructure automation workflows.1MIT
- FlicenseNot gradedqualityAmaintenanceExposes Terraform/Terragrunt tooling as Claude Code tools for generating variables.tf and mock outputs automatically from input files.-