FixIt is an Android app that helps you fix everyday stuff like a coffee machine, a bike or a lamp. Snap a photo, describe what’s wrong, and it asks you a few questions before suggesting safe things to try, or telling you to call a pro. It’s Laravel on NativePHP, so it runs fully on the phone with your own API key and no backend. The AI side is all Symfony AI. symfony/ai-platform packs the photo and the conversation into a MessageBag, with the picture sent as Image content. symfony/ai-agent runs each diagnostic turn. The Symfony AI bridges for OpenAI, Anthropic, Hugging Face and Generic (any OpenAI-compatible API) let you pick the model in settings.
An MCP server built with Symfony AI that lets Claude Code, Cursor or any MCP client search your production logs, trace one, request across services, and write a root-cause report from the evidence
A unified desktop toolkit that brings symfony/ai-bundle and the official PHP Model Context Protocol (MCP) SDK to native cross-platform applications via NativePHP. It turns any Symfony desktop app into an autonomous MCP server exposing STDIO JSON-RPC tools, resources, and Twig-templated prompt definitions directly to local AI agents (such as Claude Desktop or Cursor). Built with Symfony 8, it combines typed output DTOs, reactive UI events, and OS-level capabilities—including native toast notifications, system clipboard read/write, global keyboard shortcuts, and file dialogs—allowing AI agents to interact directly with the operating system in pure, idiomatic PHP.
When an AI agent can refund, email or delete, its rules can’t live in its prompt: a persuasive user talks the model out of them. Tool Guard puts the rules in code, on the tools themselves, with the same PHP attributes for Symfony AI agent tools and for MCP tools: #[Granted] (Symfony Security voters, with a tool argument as subject — on MCP tools too, beyond per-tool OAuth scopes), #[Limit] (numeric ceilings: deny, or hold for a human above a threshold), #[RateLimit] and #[RequiresApproval]. Each agent also has its own role: a call runs only if the user and the agent are allowed, so the boss’s support assistant still cannot export every customer. Below the limits the agent acts alone. A refused call never runs and the model is told why in plain words; a held call waits for the app owner, who is told through Symfony Notifier (Slack, Teams, Telegram, email, SMS) or by a phone push, and approves or rejects the exact arguments, never text written by the model. Every call and decision goes to a hash-chained journal, so a deleted attempt breaks the chain. Works with symfony/ai-bundle, symfony/mcp-bundle and the PHP MCP SDK. The demo runs in one command with a scripted hostile agent, no API key needed, and the same attack can be played against a real model (gpt-oss-120b on Hugging Face).
FlyNotes is a collaborative game where humans and AI agents exchange messages through virtual paper planes. Symfony AI creatively reinterprets each user’s message based on their emoji, while Sky Pulse, an internal AI agent, uses tools to carry out missions and publish results as new planes. Human-in-the-Loop workflows let users approve reinterpretations, authorize tools, and confirm results before publication. Through MCP, external AI agents can also discover messages, launch planes, and leave stamps.
Try it yourself! 👉 https://flynotes.vitaminatech.com ✈️
A read-only MCP server, written in PHP on the official PHP MCP SDK (mcp/sdk), that answers email deliverability questions from Mailcow/Postfix logs. Five tools: provider_reputation (accept/defer/bounce rates per receiving provider), top_deferral_reasons, bounce_breakdown, recent_rejections, and log_source_info. Runs over stdio or Streamable HTTP. A bundled anonymized sample log (8,944 lines) lets it run straight from a clone; 59 PHPUnit tests included.
No fixed topics, and no point building for the jury. Show what Symfony AI and MCP let you do that you could not do before.
01
A creative idea
Something surprising, useful or just fun — more than another chatbot. Build what you would want to exist, not what you think the jury wants to see.
02
It actually works
A real, working demo, not a concept of what it could do one day. Bonus if a juror can clone the repository and run it themselves.
03
What it unlocked
What did Symfony AI and the PHP MCP SDK let you do that you could not do before? Use the components and the protocol in ways nobody expected.
04
Craft
Code you would merge: idiomatic Symfony, typed, tested where it counts, and a README that gets a stranger from git clone to a running demo in five minutes.
Pre-release
Break it before 1.0.0 ships.
This hackathon runs on the Symfony AI 1.0.0 pre-release — including the official PHP MCP SDK (mcp/sdk), which is heading for 1.0 right alongside it. Four weeks of people building real things is the hardest they have ever been pushed — and that is the point.
So when something breaks, misbehaves, or simply reads wrong at three in the morning: that is a result, not a detour. A reproduction from a real project is worth more than any amount of testing in a vacuum — and what gets reported now is what 1.0.0 ships without.
Symfony AI — any provider, any store — and the PHP MCP SDK (mcp/sdk) for MCP servers and clients. Tag what you use — RAG, MCP, Deep Research or your own.