Guide

Team decks, made by the AI you already use. You use Pawapo ai by connecting it to an AI agent such as Claude Code, Codex, ChatGPT, Gemini. MCP is a standard for connecting your AI to outside tools. Through it, your AI can make and edit decks with Pawapo ai. All you do is three things: sign up, connect, and ask your AI.

Getting started

Here is what you can make today, and what is on the way. In every case the AI writes only the text and structure, and Pawapo ai finishes the rest with a fixed, repeatable process.

What you can makeWhat the AI writesWhat you get backStatus
Proposal decks and slidesHeadings · body text · words to emphasizePDF · PowerPoint · EditorAvailable
Estimates and invoicesItems · quantities · unit prices · recipientPDF · ExcelComing soon
Dashboards and regular reportsNumbers · period · what to compareShared URL · Image · PDFComing soon
What you need: a Google account or an email address (to sign up), and the AI agent you already use. Sign up for the Dashboard with Google or email, then just connect. With any AI, you only click "Allow" on the approval screen that opens — there is no connection key to prepare. No password and no software to install.

How to connect

There is one address to connect to. To authenticate, just click "Allow" in the browser window that opens — you don't need a connection key. Only systems that cannot open a browser, such as automation, send a connection key issued in the Dashboard in a header.

Address
https://pawapoai.com/mcp
Authentication
Approve in your browser (OAuth). For automation: Authorization: Bearer <connection key>
Protocol
AI agent connection (MCP). Streamable HTTP

Claude Code

The easiest way is to paste this URL into Claude Code. The AI connects, sets up your company brand kit and goes on to make a deck for you. If a browser window opens along the way, just click "Allow".

https://pawapoai.com/start

To connect it yourself, paste this one line into your terminal and press Enter. A browser window opens; click "Allow" (if you aren't signed in, you can sign in right there).

claude mcp add --transport http pawapo https://pawapoai.com/mcp; claude mcp login pawapo

If no browser opens, open /mcp inside Claude Code and choose "Authenticate" — it does the same thing. From then on, Claude Code uses Pawapo ai automatically. To reconnect, just paste the same line again.

Codex

Codex supports approval in the browser. Follow Codex's latest documentation for the exact syntax.

codex mcp add pawapo --url https://pawapoai.com/mcp; codex mcp login pawapo

We haven't tested this ourselves yet. If it doesn't work, send a connection key in a header, as described below for systems that cannot open a browser.

Antigravity (the successor to Gemini CLI)

Google's terminal AI moved to Antigravity in June 2026 (the free, AI Pro and Ultra versions of gemini stopped on that date). The CLI and the IDE read the same file — ~/.gemini/config/mcp_config.json (or .agents/mcp_config.json for a single project). Write it like this. The address field is serverUrl (not url).

{
  "mcpServers": {
    "pawapo": {
      "serverUrl": "https://pawapoai.com/mcp",
      "headers": { "Authorization": "Bearer <connection key>" }
    }
  }
}

Antigravity also supports approval in the browser, but for now, sending a connection key in a header is the reliable way (there is an open bug report on Antigravity's side where approval succeeds but no authentication is attached). If you use gemini with Gemini Code Assist (Standard / Enterprise) or a paid API key, you can still connect as before with gemini mcp add --transport http pawapo https://pawapoai.com/mcp.

Cursor · automation and CI (systems that cannot open a browser)

Issue a connection key in the Dashboard and send it in a header. In your project's .cursor/mcp.json (or MCP in the settings screen), it looks like this.

{
  "mcpServers": {
    "pawapo": {
      "url": "https://pawapoai.com/mcp",
      "headers": { "Authorization": "Bearer <connection key>" }
    }
  }
}

When the header is set, approval in the browser is not used. If the connection key stops working, you will keep getting 401 and cannot connect, so don't set it for AIs that people use.

claude.ai / ChatGPT (from the add-connector screen)

claude.ai and ChatGPT, in the browser or the app, have no field for pasting a connection key. Instead, enter our address on their add-connector (integration) screen, and our approval screen opens. Just sign in there and click "Allow". You don't need to prepare a connection key (we create one for the person who approved).

  1. In claude.ai, go to "Settings → Connectors → Add custom connector". In ChatGPT, go to "Settings → Connectors → Create" (developer mode is required). Screen names may change; follow what each service shows today
  2. Enter https://pawapoai.com/mcp as the URL. Leave authentication set to "OAuth". The client ID and secret fields can stay empty
  3. On the approval screen that opens, sign in with Google or an email link and click "Allow" (if you are already signed in, just click "Allow")
To stop a connection: each approval adds one row under "Connected AIs" in the Dashboard. Click "Disconnect" on that row and only that connection stops working. Usage is recorded under the person who approved it.
To check that it's connected: ask your AI "What can you write?" If it answers with a list of layouts and color words, you're connected.

How to ask

For concrete structures and example requests, see How to make a sales proposal. You can also browse all practical guides.

Just ask the way you normally would. Saying how many slides you want and what they are for makes the results more consistent.

  • "A 3-slide proposal to replace our weekly meeting with written, asynchronous updates. As PDF and PowerPoint too."
  • "Turn these meeting notes into a 5-slide deck on next quarter's priorities."
  • "One slide comparing the quotes from 3 vendors by price, delivery time and terms."

You get three things back.

What you getWhat it's for
PDFSend or print it as is
PowerPointRegular text and basic shapes are editable. Some parts become images, so see what you can edit and how to check
Editor linkOpen it in your browser and click text to edit it (next section)
What the AI cannot specify: positions, sizes and color values. Your company brand kit decides these, so if the AI tries to specify them, the request is rejected. Colors are chosen with words such as "standard", "subtle", "emphasis" and "caution".

Making edits

There are two ways to make edits, and both are recorded in the same history.

Ask the AI

Say which slide and what to change, for example "On slide 3, change 9.5x to 18.8x." The AI resends only that slide, so the whole deck isn't rebuilt.

Edit in the editor

  1. Open the link you got back in your browser
  2. Click the text you want to change and edit it right there
  3. Your edits are carried into the PDF and PowerPoint automatically
  4. To undo, press ⌘Z (Ctrl+Z on Windows). To redo, press ⇧⌘Z
  5. Click "History" to open the list of versions and see who changed what, and when. "Restore this version" takes the deck back to any version you choose

Text you can't edit on the slide itself (such as automatic numbering) can be edited in the source on the right. Changes that break the rules are rejected, with the reason.

Start from your own PowerPoint / PDF

In the Dashboard, go to "Decks" and click "Upload a deck", or ask your AI to "import this file". We take out the text and tables and turn them into an editable draft. Visuals and images are not carried over (the design is matched to your brand kit). Anything that couldn't be imported is listed with a count, so tidy up the draft before sharing it.

Click "Make a copy" in the editor to turn the current deck's content into a new deck (the original stays as it is, and the list shows "Based on").

Your company brand kit

See also what we import from your colors, and what to check before company-wide use.

Your company's colors, logo and layout in one set. Technically called a brand.

  1. Pick one deck you usually send outside the company (a PowerPoint file works as is — we can read the theme colors, fonts and logo by name. A PDF is fine too)
  2. Ask your AI to "make our company brand kit from this deck" and hand over the file (a connected AI will ask you for it at the start, even if you don't)
  3. The AI reads the candidate colors, fonts and logo and checks with you — "Navy and teal, Meiryo, logo at the top right — is that right?" — before creating your company's own brand kit
  4. From then on, every deck made in your organization uses this design. A second person in the same organization doesn't need to provide a file
Done-for-you setup: we can take care of the fine details (spacing, fonts, icons) for you. Ask us about it through the Enterprise plan under Pricing.

Dashboard

At /console you can see your connection keys and usage. To sign in, use Google, or enter your email address and open the link we send you (there is no password). The first time, choose personal or company and enter a name. If a teammate invited you, sign in from the link in the invitation email and you will join their organization (no organization of your own is created).

PageWhat you can do
HomeSlides made this month, Connected AIs, recent decks, how to connect
Connected AIsThe list of connected AIs (who connected, when, and slides this month). Issue connection keys for AIs on your computer, and disconnect connections. A key's secret is shown only when it is issued
UsageSlides and requests by month, what was done, and from which connection key. Download the details as CSV
DecksThe list of decks you've made. Open one to go to the editor
MembersEveryone using the same organization. Invite people, set roles (Admin / Editor / Viewer) and remove people. connection keys of removed members stop working
SettingsYour name, the organization name, appearance (light / dark), sign out
If you lose a connection key: it can't be recovered, so issue a new one and disconnect the old one. AIs connected with the old key stop working right away. You don't use a connection key to sign in to the Dashboard, so even if you lose one, you can sign in again with Google or an email link.

How it fits together

The service has three layers. Your AI agent uses only the top one; the layers below take care of formatting and storage.

1. Entry points

AI agent
Just add one line with your connection key. Works from Claude Code, Codex, ChatGPT and Gemini
Browser
The list of finished decks, and an editor where you click text to change it. You can also see usage in the Dashboard
For developers
Everything can also be called directly over HTTP (see "For developers" on this page)

2. What you can make

One for each type of output. As more are added, they all use the same entry points and foundation.

What you can makeStatusOutputsCounted in
Proposal decks and slidesAvailablePDF · PowerPoint · Editorslides
Estimates and invoicesComing soonPDF · Exceldocuments
Dashboards and regular reportsComing soonShared URL · Image · PDFboards

3. Foundation

Organizations and connection keys
The unit for your contract and connection keys. Decks and usage are also kept separate by organization
Usage and limits
One line is recorded each time something is made or edited. Viewing is not counted. When the monthly limit is reached, making new things stops for that month
Storage
Kept in a database in Tokyo. The servers themselves hold nothing, so your data stays even when they are replaced
Brand kit
Colors, fonts and logo. Each organization has its own, and the same one is used for everything you make

How a deck gets made

  1. Ask your AI agent for "a 3-slide proposal"
  2. The AI agent writes and sends only the text and structure (it cannot send coordinates or colors)
  3. We apply your brand kit and render it. You get back a PDF, a PowerPoint file and the editor
  4. Fix any text you want in your browser. Every edit is saved as a version, so you can undo it

You can also start from a PowerPoint / PDF file you already have. We take out the text and tables as a draft, and match the look to your brand kit.

Promises that don't change

  • The AI writes only the text and structure. We decide the formatting. That's why every deck matches, however many you make
  • The same input gives the same result. Not "something roughly similar"
  • The output is designed to be hard to reverse-engineer. How we lay things out is our own asset
  • What we keep, we keep in a form we can rebuild from. As long as the source exists, the PDF and slides can be rendered again

For developers

You can also call Pawapo ai directly, without an AI agent. Authentication is the same on every route: Authorization: Bearer <connection key> (the x-api-key header also works). The developer term for a connection key is an API key.

Endpoints

MCP
https://pawapoai.com/mcp (Streamable HTTP)
HTTP API
https://pawapoai.com/v1/…
Health check
https://pawapoai.com/livez (/healthz can't be used because Cloud Run answers it first)

Tools the AI uses (MCP tools)

ToolWhat it does
list_layoutsThe available layouts, tones and icon names, and the writing rules. Does not return concrete spacing or color values
start_deckStarts a new deck. Takes only the first few slides and the titles of the rest, and returns the editor URL right away. You can watch it being made (which slide it's on, the slides written so far) as it happens
write_slidesWrites the next slides of a deck in progress, 2–4 at a time (writing to a slide number that already exists replaces it). Up to 10 per call
finish_deckFinishes a deck in progress. Saves one version and makes the PDF / PPTX
render_deckTakes a whole DeckSpec and makes a PDF / PPTX / SVG (used when building from another deck). Returns the editor URL
revise_slideReplaces a single slide and lays it out again. Saved as a version
update_deckRewrites the whole content (to change the number of slides or the structure, such as "make it 20 slides"). Stays the same deck and is saved as a version you can go back to
undo_editUndoes the last edit (direction: "redo" to redo, version to go back to any version)
import_deckTakes the text and tables from a PowerPoint / PDF file and makes an editable draft
extract_designReads the colors of a customer's PDF / PPTX, pixel by pixel
create_brand / get_brandCreates or reads the organization's brand (brand kit)
preview_slidesReturns the rendered slides as images, so the AI can check them visually before sending
create_uploadCreates a one-time upload link for a single file (a customer's deck, an image)
list_decks / get_deckThe list of decks you've made, and each deck's content and versions (who, when). For "change this deck like this", read from here; then use revise_slide for a single slide, or render_deck (with based_on_deck_id) to make a separate deck

Together, the 16 tool definitions take up about 49,000 tokens of the client's context (a rough count with o200k_base, 2026-09-14). Only render_deck carries the writing rules; revise_slide, start_deck and write_slides don't repeat them.

Calling it directly (HTTP API)

Endpoint
GET /v1/guideThe DeckSpec JSON Schema, layouts, tones and icon names
POST /v1/decksDeckSpec → PDF. ?format=pptx / json / svg; ?strict=1 turns warnings into 422
POST /v1/uploads?name=x.pdfSends a local file (the body is the raw bytes). Pass the returned path to extract_design
GET /v1/orgs/:org/decksThe organization's decks
GET /v1/orgs/:org/decks/:id/deck.pdfThe PDF (deck.pptx and slides/*.svg work the same way)
GET /v1/orgs/:org/keys · POST · DELETE …/:idList, issue and revoke connection keys
GET /v1/orgs/:org/usage?month=YYYY-MMThe organization's monthly usage. &format=csv for the details
GET /v1/meWho is signed in, and to which organization

What the AI writes (DeckSpec)

JSON with only text and structure. Coordinates, sizes and color codes are not accepted, and unknown keys return 400. Colors use the 8 tone words (default / soft / muted / accent / warn / ink / outline / highlight), and emphasis has just one notation, **…**.

{
  "brand": "default",
  "slides": [
    { "layout": "cover",   "title": "From meetings to memos", "subtitle": "Moving to written updates", "chips": ["Opportunity", "Design"] },
    { "layout": "cards",   "eyebrow": "Conclusion", "title": "Replace the meeting with **written** updates", "cols": 3,
      "items": [{ "badge": "1", "title": "3 hours back every week", "stat": { "value": "3", "unit": "h" } }] },
    { "layout": "metrics", "title": "By the numbers",
      "items": [{ "value": "18.8", "unit": "x", "label": "Less work per revision" }] }
  ]
}

The layouts are cover / divider / cards / split / table / bands / steps / metrics / image / raw, plus comparison, process, timeline, funnel, positioning and schedule (compare / flow / timeline / funnel / quadrant / gantt). The 25 chart types are grouped by what you want to show (compare amounts, see a trend, see a breakdown, see differences and their causes, see targets and results, see relationships and distributions), such as column / line / pie / waterfall / scatter. Write the numbers, and we decide the scale, colors, percentages and totals. Get the writing rules from list_layouts (MCP) or GET /v1/guide.

Limits and counting

  • There is a limit on requests per minute (60 by default; it can be changed for each connection key). Over the limit, you get 429. The slides made in one request also count toward the number of requests.
  • Only newly made or added slides count toward your slides. Editing, exporting and viewing don't count. For the conditions on people and slides, see the pricing page.
  • Each organization has a monthly slide limit. Over the limit, you get 402, along with the slides used and the limit.

Where your data is stored

  • The Tokyo region (Cloud Run + Supabase). Decks and their history are in Postgres; PDF / PPTX files are in private storage. Files are served only after authentication (the URLs require sign-in or a connection key — knowing a URL is not enough to open it).
  • connection keys are stored only as SHA-256 hashes. The plain text is returned only when a key is issued.
  • If the key's organization and the organization in the path differ, you get 403. A key cannot touch anything outside its organization.
  • No LLM is called in the finishing (compositing) step. The same DeckSpec always produces the same SVG.

FAQ

Answers are collected in the FAQ on the top page. For anything not covered there, ask the admin who issued your connection key.

For questions, pricing or rollout, email us any time. Contact

What's next

Today we offer decks (slides). The foundation for team use (members and roles) is in place. From here we are moving in two directions: making it visible who changed what, and when, and expanding what you can make. We don't promise dates.

Working as a team

People are listed inside the Organization. From "Members" in the Dashboard you can invite people, change roles and remove access, and only the removed person's connection keys stop working. An invited person joins the organization by signing in from the link in the invitation email.

RoleWhat they can do
AdminCan invite and remove members, change organization settings, and issue company connection keys.
EditorCan make and edit decks, and issue their own connection keys.
ViewerCan view decks only. Cannot make or edit decks or issue connection keys.

Who changed what, and when, is kept in the deck's versions, and you can go back to any version from "History" in the editor (going back is also saved as a new version). Usage shows a breakdown by person (the records kept as the basis for billing stay in the same form as today).

Expanding what you can make

What you can makeStatusWhat we take care of
Decks and slidesAvailableColors, fonts, line breaks, PDF, PowerPoint, edit history
Estimates and invoicesComing soonTax calculation and rounding, sequential numbers, company seal and bank details, delivery as Excel. The key point: the numbers are never off by even one yen
Dashboards and regular reportsComing soonBringing in the numbers, chart types, update intervals. The same report comes out automatically every month

However many things you can make, the one-line connection, the brand kit and the usage records are shared. You don't need to reconnect to use something new.

Strengthening the foundation

  • Plans and limits — set how much you can make each month and the price, and show what's left in the Dashboard
  • How long we keep things — delete old outputs and render them again from the source when needed. The shorter we keep your data, the safer it is
  • Our own domain — the current address is temporary