Draft Digital Product Passports with your AI agents
Connect PassportCraft to the assistant you already use. It reads your catalogue, drafts passports, attaches your documents and tells you what is still missing. Publishing stays your click.
https://passportcraft.com/api/mcp
Enable it in minutes
Pick your client — one URL and a sign-in. No SDK, and no code.
- 1Open Connectors
In Claude, go to Settings → Connectors → Add custom connector. Open Claude settings ↗
- 2Paste the server URL
Name it PassportCraft and paste the URL shown here.
- 3Sign in and pick your workspace
Claude opens PassportCraft so you can authorize it. Choose your workspace and you are done.
No account yet? Start free — the connector works on every plan, the free one included. Using a different client? Anything that speaks MCP over HTTP connects at the same URL.
https://passportcraft.com/api/mcp- Transport
- Streamable HTTP
- Sign-in
- OAuth 2.0 — no API key to paste
- Reach
- One workspace for each connection
- Plans
- Every plan, the free one included
- Revoke
- Whenever you want, from Settings
Once you connect, ask “What can I do with PassportCraft?” and your assistant describes everything the connector can do.
How it works
One connection, three ideas.
Connect onceYou sign in, and you choose which workspace the assistant reaches. The screen you approve shows the address you are sending to, not the name an app gives itself — a name can be copied, an address cannot.
Work in the chatDrafts, edits, documents from the chat, and a readiness check that names the exact gaps.
You publishThe assistant can only ask. You get a link, you read what it wrote, and you press Publish.
Things to ask
Once you connect, your passport work is a sentence away.
What the assistant can do
Fourteen tools, all of them going through the same API the rest of the product uses — the same workspace boundary, the same limits, the same record of what changed.
| Tool | What it does | Reach |
|---|---|---|
| list_passports · get_passport | Read your catalogue, and any one passport in full — drafts and published alike. | Read |
| get_category_schema | Ask what a product category requires, before writing anything. | Read |
| validate_passport | Check a draft and get back the exact gaps that block publishing. | Read |
| create_passport | Create a passport. It is always created as a draft. | Drafts only |
| update_passport | Change a draft. Every field it writes is marked as its own. | Drafts only |
| upload_document | Send a file from the chat into your library and attach it to a draft, in one step. PDF or image, up to 3 MB, and stored where the public cannot reach it. | Drafts only |
| attach_document · list_documents | Attach a file that is already in your library, and list what a passport carries. | Drafts only |
| list_library | See the files already in your library, so it reuses one instead of sending it twice. | Read |
| list_units · create_unit | Record serial numbers against a battery model. | Write |
| request_publish | Ask you to publish. It returns a link for you to open. It never publishes. | You decide |
| get_publish_approval | Read what happened to that request. | Read |
The assistant has no tool for any of this: publishing, deleting anything, taking a product off its public page, moving one to the bin or restoring it, or filing with the French State. Taking a product down, the bin and the filing are refused on the wire as well, so a connector cannot reach them by another route.
Built so nothing reaches the public without you
A published passport is a declaration you make to a regulator. These four rules keep that moment, and everything the public can see, in your hands.
It can never publish
When it asks to publish, it files a request and gets back a link. You open the link and press Publish. There is no way around that step.
It cannot touch what is live
It writes to drafts. Ask it to change a passport the public can already see and it hands you a link to the editor instead. One exception, named rather than buried: it can record serial numbers against a battery model you have already published.
Every value it writes is marked
Fields the assistant wrote are marked in the editor, and listed with their values on the screen you pass to publish. Change one yourself and the mark clears — it is your value now.
Narrow, and yours to end
Six fixed permissions, and filing with a regulator is not among them. One workspace for each connection. Revoke it in Settings and it stops at once.
Questions
Can the assistant publish a passport?
No. When it asks to publish, it gets back a link. You open that link, read every field the assistant wrote — with the values it wrote — and press Publish yourself. There is no way around this step.
Can it change a passport that is already live?
Almost never, and the exception is worth knowing. A passport the public can see is a declaration you made, so the assistant writes to drafts and gives you a link to the editor if you ask it to change a live one. The exception is recording serial numbers against a battery model you already published — routine issuance, which the rest of our API does the same way. The condition each unit carries is limited to a fixed list. The serial itself is free text, and it appears on the public page when someone scans that unit, so treat those the way you treat anything you publish.
How do I turn down a request to publish?
There is no decline button. Leave the request alone and it expires on its own, or make any further edit to the draft and the request is withdrawn.
What does it cost?
The connector is included on every plan, the free one as well. Drafting costs nothing. A plan is what publishing needs: the free plan publishes three passports.
Which chat tools does it work with?
Claude on the web and the desktop, Claude Code, ChatGPT, Cursor, Windsurf, VS Code with GitHub Copilot, and Gemini CLI — and anything else that speaks MCP over HTTP with an OAuth sign-in.
How do I know what the assistant wrote?
Its fields are marked in the editor, and listed with their values on the confirm screen you pass to publish. The list is never shortened. Change a value yourself and the mark clears.
What happens to a file the assistant sends?
It goes into your workspace library and onto the draft, stored where the public cannot reach it until you raise it by hand. Two things to know: it stays in the library after the draft is gone, and the library does not tell an assistant's file apart from a person's.
What exactly are you promising about the assistant?
Nothing about how it behaves — the model and the chat are yours, not ours. What we promise is built into the connection instead: it writes drafts, it can never publish, and every value it writes is marked and named to you before you publish. The one write that reaches the public is a serial number on a battery model you already published, and the condition each one carries is limited to a fixed list.
How do I disconnect it?
Revoke the connection in Settings. It stops at once, and the passports it drafted stay exactly where they are.
Connect your first assistant today
It works on every plan, the free one included. Draft your first passport from the chat in minutes — and publish it yourself.