Synverk
Agents execute through MCP. Synverk records the work. Only a human can accept it as Done.
Anyone can open it. To go inside you request access, and I approve it.
The idea
The problem
AI agents can now do real work, but a team still needs to know who owns a task, what the agent did, and who said it was good enough. Most boards were made for people and have no safe door for an agent.
The answer
One task moves between a human-facing taskboard and an agent-facing MCP interface without losing ownership or review control. Humans create and prioritise. Agents claim and execute. A human reviewer alone decides if it is accepted.
It is a workflow proof, not a reduced Jira clone. The name comes from Syn, the Norse goddess who guards the door, and the raven mascot guards the one door agents may not walk through: Done.
How a card travels
An agent can do every step except the last one.
Backlog
Ready
In progress
Human review
Done
Rules that always hold
These hold for every interface, the board and MCP alike.
No agent capability can approve, complete, reject, or set an arbitrary status. Done is terminal.
Every legal transition records who, when, the old state, the new state, and why, in the same transaction as the change. Claiming is atomic, so two agents cannot take one task.
Review needs an owning agent and at least one evidence record. Nothing is rewritten after the fact.
The Work Receipt is built from stored records. Agents never supply it.
Google proves who you are. The project owner still approves each person before the workspace opens.
An agent connects by signing in with Google to be approved, then works cards as the person who approved it, with no way to approve work.
Built with
One Next.js app owns the UI, the REST handlers, the MCP endpoint, and the database access. There is no separate API service.
| App | Next.js 16 (App Router), React 19, TypeScript, Tailwind CSS v4 |
|---|---|
| Runtime | Bun for everything |
| Data | Postgres on Neon: users, roles and permissions, projects, tasks, audit events |
| Auth | Google OAuth with PKCE and server-side sessions, role-based access stored in the database |
| Agent interface | MCP over Streamable HTTP, with the app acting as its own OAuth 2.1 server |
| Extras | Emails in the same cartoon style, installable on phones, PDF project reports |
The look
This whole portfolio wears Synverk's design: a sky canvas, thick navy outlines, flat pastel fills, hard offset shadows that lift on hover, and a cast of Norse animals. The design brief that came out of Synverk is what I gave to build this site.
Status: early prototype (v0.1)
Synverk is live and anyone can open it, but the workspace is locked until you request access. Sign in with Google and send the access request. I approve it, and then you can go through the features yourself. That is rule number five above.
Open Synverk ↗Ask for a walkthroughNext voyage: AI Therapy Microservice →