Skip to content

BuildNot yet confirmed elsewhere1 publisher2 min readPublished

Personal Agent Protocol agents read poppy.json, then verify it against the issuer's OAuth metadata

Sierra and Meta's Personal Agent Protocol, draft 0.1 with 35 design partners, makes /.well-known/poppy.json the first file a user's AI agent reads. The issuer's OAuth metadata must list the domain too.

The Engineer · Build desk

How we use AISend a correction

Photograph accompanying Personal Agent Protocol agents read poppy.json, then verify it against the issuer's OAuth metadata
Photo: dev.to
Domain, sign-in server and MCP server each have rules What the Personal Agent Protocol's draft 0.1 requires of each party behind a poppy.json file

Domain owner: serve poppy.json over HTTPS as JSON. Sign-in server: list each domain in poppy_domains. MCP operator: list the issuer, or MCP clients cannot sign in. Shared-issuer domains: each names itself. Existing files: draft 0.1 can change in ways that break them.

Domain, sign-in server and MCP server each have rules
WhoHowKindClaim
Domain ownerMust serve poppy.json at /.well-known/ over HTTPS as JSON; any redirect must stay on HTTPSconstraint4
Sign-in server (auth.issuer)Its OAuth metadata must list each domain in poppy_domains, a PAP field that is not part of the OAuth standardconstraint6
MCP server operatorResource metadata must list the issuer in authorization_servers, or MCP clients cannot sign inconstraint11
Domains sharing one issuerEach names itself in organization.domain and must appear in poppy_domains; naming a parent brand is a common mistakeconstraint9
Sites with existing filesDraft 0.1 can still change in ways that break existing files; Sierra has said a reference implementation is comingexposure21

What happened

  • The file lives at /.well-known/poppy.json over HTTPS as JSON, and it may redirect as long as every hop stays on HTTPS.
  • Before trusting a file, an agent fetches the OAuth metadata for auth.issuer under RFC 8414 and requires the issuer value to match exactly.
  • The post warns that draft 0.1 can still change in ways that break existing files, and says Sierra has promised a reference implementation.

Why it matters

  • cost Getting poppy.json right is not enough. A domain that lists an MCP server has to keep three documents consistent on one issuer.
  • constraint A shared issuer means one metadata document must name every domain that uses it, so each new country site becomes an edit to the sign-in server.
  • decision Publishing now risks rework if the draft breaks files. We'd expect staging validation first and production later, once Sierra's reference implementation lands.
  • exposure The only validator in the record is one author's outside-in checker, which never signs in. A passing result does not prove a sign-in completes.

The file is only half of what an agent checks. According to a dev.to post that walks through the draft, an agent that finds a valid-looking poppy.json goes on to fetch the OAuth metadata for the file's `auth.issuer` [5]. The metadata must also list the domain in `poppy_domains`, a field PAP adds on top of the OAuth standard [6]. The post explains why the check exists: otherwise an impostor site could point its own poppy.json at your genuine sign-in server, and agents would route users to it [7].

The file itself is a routing table. The post's shortened example, taken from the spec, has blocks for auth, the company's agent endpoint, a browser-session endpoint, and a list of OpenAPI and MCP descriptions [16]. Each block points at something else the domain owner runs.

The documents multiply. A domain that offers both direct and device sign-in needs four endpoints in the issuer's metadata: token and revocation always, plus one authorization endpoint for each sign-in type [19]. If the file also lists an MCP server, that server's resource metadata must name the same issuer in `authorization_servers`, or MCP clients cannot sign in [11]. That makes three documents that have to agree [20].

Several domains can share one issuer. Each must name itself in `organization.domain` and each must appear in `poppy_domains` [9]. Adding a country site therefore means editing the issuer's metadata as well as the new site.

The post lists two other mistakes. Custom scopes may not start with `poppy:`, because that prefix is reserved for `poppy:read` and `poppy:write` [10]. And a storefront that answers every path with its HTML page fails the lookup, since agents need JSON at the well-known URL [12].

On adoption, the post's author checked the launch and design partners on 11 October. None served the file, and the only live files were developer demos [13][14]. The author calls that expected this soon after a draft [18].

We think that settles the urgency. Draft 0.1 can still change in ways that break existing files, and the post says Sierra has promised a reference implementation [21]. The post does not name an agent that already performs these lookups. We'd expect the cheaper path to be validating a staging domain now and publishing to production once the reference implementation exists.

The validator in question is one author's tool. It reads public documents from outside and never signs in, starts a session or calls APIs [15]. It can confirm that the documents agree with the draft, but not that a sign-in completes. The author says it follows the published draft and will move with it [22].

What to watch

  • Sierra's reference implementation, and whether it changes draft 0.1 rules in ways that break existing files.
  • The first named partner to serve a valid poppy.json; the author keeps first-seen dates at papchecker.com/sites.
  • Any personal agent from a design partner such as OpenAI that ships the poppy.json and issuer-metadata lookup.

Clarity's read

What the record supports and how the coverage leans. The claims behind it follow.

Reality

Evidence45
Adoption3
Hype gap+12
Incentives35
Confidence50
Why these scores

Claim ledger

Ranked by verification strength, evidence, and original report placement.

  1. [1]

    The Personal Agent Protocol (PAP, nicknamed Poppy) is an open protocol, led by Sierra and Meta, for how a person's AI agent works with a company on their behalf: signing in as the user, using the company's APIs, joining a website session, or talking to the company's own agent.

    ReportedSupportedSource: dev.to post on poppy.json and PAP CheckerView cited source
  2. [2]

    Draft 0.1 of PAP was published on 9 October 2026, with 35 design partners including OpenAI, Visa, Mastercard and PayPal.

    ReportedSupportedSource: dev.to postView cited source
  3. [3]

    Everything a personal agent does with a company starts by reading one file: /.well-known/poppy.json.

    ReportedSupportedSource: dev.to postView cited source

Sources

1 independent publisher whose own reporting we read for this story.

  1. dev.to

    1 article · October 11, 2026

    What Is poppy.json? A Personal Agent Protocol Example, and How to Validate Yours

Share your take

Let Clarity write the post for you.

Signed-in readers get a short post drafted on this story in the register they choose — narrative, analytical, or a direct position — editable to the last word before it goes anywhere. The share buttons at the top of this story work without an account.

Topics and entities

Follow any of these and your For You feed starts watching them — no settings page required.

Topics

Entities

Loading related stories