DDEV MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DDEV_MCP_LOG_LEVEL | No | Optional: Configure logging level. Example: 'DEBUG', 'INFO', etc. | INFO |
| DDEV_MCP_MAX_BUFFER | No | Optional: Max buffer size in bytes for command output (default: 2097152 = 2 MiB) | 2097152 |
| ALLOW_DANGEROUS_COMMANDS | No | Safety: Allow dangerous commands (default: false) | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ddev_startA | Start a DDEV project environment. Initializes and configures the web server and database containers. Run from project directory or pass project name(s). Usage: ddev start [projectname ...] [flags] Flags: -a/--all, -y/--skip-confirmation, --skip-hooks For full options: ddev help start |
| ddev_stopA | Stop and remove the containers of a DDEV project. Non-destructive: leaves database and code intact. Run from project dir or pass project name(s). Usage: ddev stop [projectname ...] [flags] For full options (e.g. --remove-data, --snapshot): ddev help stop |
| ddev_restartB | Restart a DDEV project: stops then starts named project(s). Usage: ddev restart [projectname ...] [flags] Flags: -a/--all, -y/--skip-confirmation For full options: ddev help restart |
| ddev_describeA | Get a detailed description of a running DDEV project (name, location, URL, status, MySQL connection details, Mailpit, etc.). Aliases: describe, status, st. Usage: ddev describe [projectname] [flags] For full options: ddev help describe |
| ddev_listA | List DDEV projects and their status. Shows all by default; use activeOnly for running only. Usage: ddev list [flags] Flags: -A/--active-only, -t/--type For full options: ddev help list |
| ddev_import_dbA | Import a SQL dump file into the project. Supports .sql, .sql.gz, .sql.bz2, .sql.xz, .mysql, .zip, .tgz, .tar.gz. For archives, use extractPath for path inside archive. Target DB via targetDb (default "db"). Usage: ddev import-db [project] [flags] MCP args → ddev: src → --file, targetDb → --database, extractPath → --extract-path For full options and examples: ddev help import-db |
| ddev_export_dbA | Dump a database to a file or stdout. Compression: gzip (default), bzip2, or xz. Target DB via targetDb (default "db"). Usage: ddev export-db [project] [flags] MCP args → ddev: file → -f/--file, targetDb → -d/--database, compressionType → --gzip|--bzip2|--xz For full options and examples: ddev help export-db |
| ddev_logsA | Display stdout logs from DDEV services (docker logs). Default: web service; use service for e.g. db. Usage: ddev logs [projectname] [flags] Flags: -s/--service (web|db), -f/--follow, --tail N For full options: ddev help logs |
| ddev_snapshotA | Create, list, restore, or cleanup database snapshots (stored in .ddev/db_snapshots). Restore with action=restore and snapshotName; use ddev snapshot restore --latest for latest. Usage: ddev snapshot [projectname...] [flags] | ddev snapshot restore [name] [flags] Actions: create (optional name), list, restore (snapshotName or --latest), cleanup. Flags: -n/--name, -l/--list, -C/--cleanup, -y/--yes, -a/--all For full options: ddev help snapshot; ddev snapshot restore --help |
| ddev_execA | Execute a shell command in the container for a DDEV service. Default: web service; use service (e.g. db, redis, solr) to run in another. workdir maps to ddev --dir. Usage: ddev exec [flags] [command] [command-flags] Flags: -s/--service (default web), -d/--dir (execution directory) For full options: ddev help exec COMMON USE CASES: Drupal (Drush):
WordPress (WP-CLI):
Composer:
Redis:
Solr:
MySQL/MariaDB:
Platform.sh CLI:
Node.js/npm:
Testing Frameworks:
Other:
Dangerous commands blocked unless ALLOW_DANGEROUS_COMMANDS=true. |
| ddev_poweroffA | Stop all DDEV projects and containers (equivalent to ddev stop -a --stop-ssh-agent). Stops Mutagen daemon if running. Usage: ddev poweroff [flags] For full options: ddev help poweroff |
| ddev_versionA | Display the version of the DDEV binary and its components. Usage: ddev version [flags] For full options: ddev help version |
| ddev_helpA | Get help for any DDEV command. Returns the same output as "ddev help " or "ddev --help". Use when you need exact flags, examples, or usage for a ddev command. Usage: ddev help [command] | ddev --help Examples: command="import-db" → ddev help import-db; command="snapshot", subcommand="restore" → ddev snapshot restore --help. Leave command empty for general ddev help. |
| message_complete_notificationA | Send a simple OS notification to the user |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Most tools target distinct operations (start, stop, restart, snapshot, exec, import/export). The only mild overlap is ddev_describe and ddev_list, both showing project status, but descriptions clarify that describe gives detailed info for a single project while list enumerates projects.
All tools use lowercase snake_case with a ddev_ prefix, but the second part is inconsistent: some are verb_noun (export_db, import_db), some are bare verbs (start, stop, exec), some are nouns (logs, snapshot, version, help). message_complete_notification breaks the ddev_ pattern entirely, making the naming convention mixed.
14 tools is well within the ideal range for a local development environment orchestrator. Each tool covers a distinct DDEV command or workflow, and none feel redundant or excessive for the scope.
The set covers core DDEV lifecycle (start, stop, restart, poweroff, list, describe), database operations (export/import/snapshot), logs, exec, version, and help. Minor gaps exist (e.g., no direct project deletion or config command), but ddev_exec with shell access can compensate for many missing operations.