I've been using DDEV for php development for a few years now and it has become an integral part of how I work. It's highly flexible, reliable, and easy to spread across teams.
Like many developers, I'm experimenting with different LLM tools. I've used GitHub CoPilot, Jetbrains AI Assistant / Junie, but am currently using Claude Code. Having used it regularly for the past two weeks I've developed some opinions on the effectiveness. It's a bit of genius and imbecile at the same time.
Laravel recently released Boost, which is an MCP that provides tools for LLMs to talk directly with your Laravel projects. It's a great way to instruct the LLM how to understand what you've built.
Claude Code, by default, is installed on your computer and has some access to your Laravel project. What I found though was I couldn't get the MCP to work on any commands that required a database connection. It would error with the following:
SQLSTATE[08006] [7] could not translate host name "db" to address
The reason this happens is because the database must be accessed within the DDEV container. I attempted to instruct Claude to run the MCP prefixed with the ddev command but it couldn't cross the boundary between the host and container.
After googling for a while I came across ddev-claude-code.
ddev add-on get FreelyGive/ddev-claude-code
At this point you can use Claude Code from within the DDEV container by running:
ddev ssh && claude
Boost should be able to access all tools as well as connect to your DDEV database now that Claude is running within the container!