Grove 1.0: your local dev environment, now something your AI can actually see
Grove 1.0 ships grove mcp — a read-only, local-only Model Context Protocol server that hands your AI assistant the context Grove already had: sites, requests, webhooks, logs, and each project's database. No copy-paste, no per-project setup.
There's a funny gap in how we work with AI coding assistants. They can read your code brilliantly. But ask one "what did the last 500 error look like?" or "what's the schema of the orders table?" and it… guesses. It doesn't know what's running. It can read the migration file, but not the database. It can find the route, but not the request that just failed against it.
Grove has quietly been collecting exactly that missing context — every request it proxies, every webhook it catches, every site's .env and database. So for 1.0, we did the obvious thing: we handed it to your AI.
Meet grove mcp.
Why: the context was already here
Grove sits in front of every *.test site. It knows your PHP and Node versions, your services, your request timeline, your captured webhooks, your logs — and it can read each project's database straight from its .env. That's a remarkably complete picture of your local world, and until now only you could see it in the app.
The Model Context Protocol is the standard way to expose that kind of thing to AI clients like Claude and Cursor. Grove speaks it now. No per-project setup, no wiring — because Grove already had the answers, it just needed to offer them.
And to be clear about the boundaries: it's read-only and local-only. The server refuses anything that isn't a SELECT, never touches your files, and makes no outbound calls. Your AI gets a window, not a lever.
How: one command, one config block
Start it (though you rarely run it by hand — your client launches it):
grove mcp
Then point your AI client at it. Claude Desktop — ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"grove": { "command": "grove", "args": ["mcp"] }
}
}
Cursor — the same block in .cursor/mcp.json. Restart the client, and Grove shows up as a set of tools.
What your assistant can now do
Seven read-only tools, each answering a question you'd otherwise dig for by hand:
Tool It answers grove_sites Every site Grove serves (host, driver, PHP/Node, HTTPS, path). grove_requests Recent requests — method, path, status, duration. grove_request Full headers + body of one captured request. grove_webhooks Recently captured inbound webhooks. grove_logs Log sources, and recent Laravel / service entries. grove_db_schema Tables and columns for a site's database. grove_db_query Run a read-only SELECT and return rows.
Examples: stop pasting, start asking
Once it's connected, the conversation changes. Instead of copying logs into a chat window, you ask:
"The /checkout route on shop keeps 500-ing. What's going on?"
Your assistant calls grove_requests to find the failing request, grove_request to read its exact body, and grove_logs to pull the matching Laravel stack trace — then tells you the fix. It saw what actually happened, not a summary you typed from memory.
"Show me the orders schema and how many shipped today."
It calls grove_db_schema for the columns, then grove_db_query:
select count(*) from orders where status = 'shipped' and created_at >= date('now')
…and answers with a number, from your real local data.
"Stripe just sent a webhook — did my handler accept it?"
grove_webhooks shows the delivery; if you've been using the webhook hub from 0.13, it's all right there. Your assistant reads the payload and the 200, and confirms.
No copy-paste. No "here's my schema, trust me." The AI reads the same live state you'd click through in the app.
And: this is 1.0
The MCP server is the headline, but 1.0 is really about a promise kept. Everything a local dev environment should do — and Grove does all of it with zero external dependencies, no Homebrew, no Docker required, no dnsmasq:
*.testsites with trusted local HTTPS, automaticallybundled, multi-version PHP and Node, per site
bundled MySQL, PostgreSQL, Redis — and a mail catcher
native public tunnels (
grove share)a live request timeline with replay and copy-as-Pest-test
a local webhook hub you can re-deliver from
a built-in database client
reproducible environment bundles (
grove bundle)and for teams, end-to-end encrypted secret sync
The entire core is free and open source, forever — we're pointed about that, because a few of these things are locked behind paywalls elsewhere. Grove Pro adds a team/power layer on top (secret sync, database editing) without ever gating what makes local dev work.
Try it
If you're already running Grove, it updates itself — you're on 1.0. Add the config block above to Claude or Cursor, then ask your assistant something you'd normally have to go look up:
"What did the last failed request to myapp look like, and what's the users table schema?"
Watch it just… answer, from your actual machine. That's the whole idea. 🌱🌳
Grove is free and open source (MIT). grove mcp is read-only and local-only. Get it at elyracode.com/grove.