Skip to content

AI tooling ​

dqx ships an MCP server, so an AI agent can ask about your environment instead of guessing at it.

bash
claude mcp add dqx --scope user -- dqx mcp

One registration covers every project on the machine.

What it answers ​

The split is worth understanding, because it decides which tool an agent should reach for.

dqx knows where. Which projects exist, where a site's code lives on the host and inside the container, what to run and in which directory, where the database is today, who holds 80 and 443, what is broken.

A framework's own tooling knows what. Your routes, your models, your config keys. Laravel Boost does this well, and dqx does not reimplement it — the two sit beside each other, and dqx's tools are prefixed dqx_ so they cannot be confused.

Why it matters more than it sounds ​

An agent without this guesses, and its guesses look plausible:

  • It runs the test suite directly and reports a failure that is not real, because the project declares a prepare-test step it did not know about.
  • It reads a docker exec -w /var/www/… line from a stale guideline, lands in a directory that still exists but is half-empty, and concludes a command is missing.
  • It writes a database port into a file, and the port changes at the next start.

Each of those is a wrong answer produced confidently. Asking a tool that reads the running machine removes the guess.

What it will not do ​

Read-only by default. Anything that changes what is running needs the server started with --allow-write, and some things are not exposed at any flag:

default--allow-writenever
reads — info, addresses, logs, doctor, scaffolds✅
running a command the project declared✅
running anything else✅
starting and stopping a projectasks first✅
creating a new project✅
installing, switching, cleaning or killing an existing project✅

Creating a project is allowed and installing one is not, which sounds inconsistent until you see the line: the tool refuses any directory that already holds a .dq/config.yml, so it can only ever create in a directory it just made. It can never re-install over something somebody is working in.

Without MCP ​

Every fact is available to a tool that can only run a command:

bash
dqx info --json      # this project: sites, checkouts, container paths, services
dqx list --json      # every project on the machine
dqx doctor --json    # findings with a severity, and a verdict
dqx verify --json    # what every declared domain answered

Each payload carries the dqx version, and the shapes only ever gain fields.

In the project's own guidelines ​

dqx sync writes an environment note into the project — where its code runs, what to run in it, which services it has — in the file the project's own AI tooling composes, so an agent reads it without being told to.

dqx v1.1.0