Why phpClaw exists

AI agents should be native to PHP.

Millions of production apps run on PHP. phpClaw gives one of them an agent that reasons over your real data: it calls your tools, reads the actual result, and answers. One interface, eight framework and CMS adapters, PHP 8.1 and up, running in your own process with one API key.

The problem we set out to fix

Adding an agent to a PHP app was harder than it should ever have been.

The tooling grew up elsewhere

The agent frameworks, tool-calling loops, and memory layers that made LLMs useful were all built for Python and JavaScript. PHP powers a huge share of the web.

Rolling your own is a trap

Calling a raw LLM endpoint is easy. Turning that into a real agent, one that calls tools, remembers context, retries safely, and blocks prompt injection, is weeks of undifferentiated work you have to maintain forever.

A second service is a tax

The common workaround is a separate Python microservice beside your PHP app. That is another deployment, another attack surface, another network hop, and another team dependency, just to answer a question about your own data.

The answer

One package, inside the stack you already run.

phpClaw is a single Composer package (or an admin-uploaded plugin for WordPress, Joomla, PrestaShop, and OpenCart) that adds a production-ready AI agent to an existing PHP application. It runs in your process, on your server, using your framework's own commands and database. No fine-tuning, no separate runtime, and no data going anywhere except the LLM provider you chose.

Set one API key and the agent can reason through your tools, run safe queries, and answer in plain language. Change providers with a single setting. That is the whole idea: the power of modern agents, delivered the way PHP developers actually work.

What we believe

Four principles that shape every decision in phpClaw.

Native to your framework

An agent should feel like part of Laravel, Symfony, or WordPress, using the same commands, database layer, and config you already know, not a foreign runtime bolted on the side.

No vendor lock-in

Your provider is a setting, not an architecture decision. Anthropic today, a local model tomorrow, without touching a line of application code.

Secure by default

Prompt injection and unsafe input are blocked before the model ever sees them. Safety is the default posture, never a paid upgrade.

Yours to run

MIT licensed and self-hosted. It runs on the server you already pay for, with no per-token markup, and nothing leaves your server except the calls to the LLM provider you choose. Point it at a local Ollama model and not even those.

Try it in your own project.

MIT licensed. Add an agent to your app in minutes.