Porcelain
Open sourceWorks with any agent that speaks MCP

Agents write the code. This is where you read it.

A diff does not tell you what changed. The agent that wrote it can. In Porcelain, it walks you through each decision, and you comment back before you keep the change.

Download
npx @fabiofiorita/porcelain@latest serve

Mac appBrowserMobile app Coming soon

A decision in a published review, with its route through the code and a diff

Why it exists

Fifty-five files, sorted by name. The one that matters is near the bottom.

An agent can change more code in ten minutes than you can read in an hour. The review tools you have list it alphabetically, and your attention runs out before the decision does.

55 changed files · by nameAttention
+ 41 files above
  1. 42packages/client/src/request.ts
  2. 43packages/client/src/revoke-access.ts
  3. 44packages/client/src/session.ts
  4. 45packages/workspace/src/actor.ts
  5. 46packages/workspace/src/journal.ts
  6. 47packages/workspace/src/policy.ts
  7. 48packages/workspace/src/revoke-access.ts
  8. 49packages/workspace/src/sessions.tsThe decision
  9. 50scripts/seed-devices.ts
  10. 51tests/fixtures/devices.json
  11. 52tests/journal.spec.ts
  12. 53tests/policy.spec.ts
  13. 54tests/revoke-access.spec.ts
  14. 55tests/sessions.spec.ts
01

A diff has no order

Files arrive by name. A test weighs as much as the decision it proves, and the change you needed to see is the one you skim.

02

Editors are built for typing

You read code now more than you write it. An editor full of extensions and autocomplete is heavy for that, and it was never made to review.

03

The conversation is somewhere else

Your question lands in a chat window, far from the line that raised it. The answer comes back without the code you were looking at.

How it fits

It sits beside your agent. It does not replace it.

Keep the agent in the terminal, desktop app or editor you already like. It publishes a walkthrough to Porcelain over MCP. You read it, reply on the code, and the agent reads your reply where it is working.

>_

Your agent

In the app you already run it in.

MCP

Porcelain

On the machine that holds the repository.

You

In a browser, the Mac app, and soon your phone.

The walkthrough

A review that reads in order.

The agent explains the change one decision at a time, the way it would if it sat next to you. Scroll through one.

  1. 1

    One stop for each decision

    The agent publishes a briefing, then a stop for every decision it made. Each stop says what it decided and the route it took through your code.

    A decision in a published review, with its route through the code and a diff
  2. 2

    Notes lead you to the files

    Numbered notes point at the files that carry the decision, in the order to read them, and say which layer each one touches.

    A decision in a published review, with its route through the code and a diff
  3. 3

    The diff stays in the same view

    You read the explanation and the change together. Mark a file reviewed when you are done with it, and the review keeps count.

    A decision in a published review, with its route through the code and a diff
  4. 4

    Comment back on the code

    Ask on a file or a line. Any agent that speaks MCP answers in the same thread, and the conversation stays with the change.

    A reviewer asks about a file and the agent replies in the same thread
  5. 5

    See what is left

    Readiness counts what still needs you: files to read, lines the agent never explained, comments waiting on you or on the agent.

    Proof with passing checks, a web and an iPhone screenshot, beside the readiness of the review
  6. 6

    Proof you can look at

    The checks the agent ran and the screenshots it took, on the web and on a phone, live in the review next to the code.

    Proof with passing checks, a web and an iPhone screenshot, beside the readiness of the review
  7. 7

    And when it went stale

    When the code changes after the checks ran, Porcelain says so, and asks the agent to run them again.

    Proof with passing checks, a web and an iPhone screenshot, beside the readiness of the review

Around the review

Made for repositories too big to scroll.

The parts of an editor and a Git client you still reach for, and nothing you stopped using.

History, drawn as lanes.

The commit graph of the repository and a timeline for each file. Commit, pull and push from the same place.

Pin what you read. Hide what you never open.

Right-click a file to keep it at the top of the tree, or hide a folder you never touch. A giant monorepo stays navigable.

Pinned

revoke-access.ts

All files

  • apps
  • server
  • revoke-access.ts
  • routes.ts
  • web
  • fixtures
  • packages
  • README.md

Pin file

Open to the side

Copy path

1 hidden

Every machine, one place.

Run a server where each repository lives. One Porcelain reaches all of them, nearby or remote. The files stay put.

iPhone and iPad.

Coming soon

Review without sitting at a desk. The mobile app reaches the same machines, with native navigation and the Porcelain you know.

Your code stays on your machines.

  • No account to create
  • No analytics on the app or this site
  • No code, review or comment sent to us
Read the privacy policy

Open source, all of it.

The server, the apps and the MCP tools are on GitHub under the MIT license. If you would rather not trust us, read the source.

Read the source

Read what your agents wrote.

Start the server on the machine that holds your repositories, or download the Mac app.

Download
npx @fabiofiorita/porcelain@latest serve

Mac app on Apple silicon. Server on Linux or Mac.