Personal Agent Protocol draft 0.1 was published on 9 Oct 2026 · What goes in poppy.json →
PAP Checker/Blog

Check your poppy.json before you publish it

The new poppy.json validator runs the Personal Agent Protocol draft 0.1 rules on a pasted document, so you can fix it before any agent reads it.

Most of a Personal Agent Protocol setup starts with one small file: poppy.json, served at /.well-known/poppy.json. It tells a personal agent who you are, how your customers sign in and which routes it can use: your APIs, your website or your own company agent. If the file is wrong, an agent stops before it reaches any of them.

Until now you could only check that file once it was live. The new poppy.json validator checks it before you publish.

What it does

Paste a document and press Validate. You get the same results as a live check, grouped the same way, with the section of the draft each rule comes from:

Add the domain the file will be served on, and the validator checks organization.domain against it. Leave it out, and it checks everything else.

What it doesn't do

The validator reads only the text you paste, so some checks need the live version. Once your file is published, the domain check also confirms that:

  1. it is served over HTTPS at the well-known path;
  2. your sign-in server's OAuth metadata names the same issuer and lists your domain in poppy_domains;
  3. the OpenAPI and MCP descriptions you list can be reached.

The second is easy to miss, because it lives on your sign-in server, not in poppy.json. A personal agent must refuse a document whose issuer doesn't confirm the domain, so it is worth running the live check as soon as the file is up.

A starting point

If you are writing your first poppy.json, the guide walks through every field with an example. The validator has a Use the example button too, so you can see a passing result and edit from there.

The draft is 0.1 and will change before 1.0. When it does, the validator's rules change with it.

Check yours

See what a personal agent reads on your domain, or paste a poppy.json before you publish it.

More from the blog