AI apps (MCP)
Origamy has a remote MCP server. Connect your AI app to it and the app can read your workspace setup and plan segments, templates, forms, pages, products, services, journeys, teams and reports. You see the plan first, and everything it saves lands off.
| Server URL | https://mcp.origamy.io/mcp |
| Transport | Streamable HTTP |
| Sign-in | OAuth 2.1 with PKCE. There is no API key. |
| Plans | Every plan for now |
The app works as you, in one workspace at a time, and can’t do more than your role allows there. You choose when you connect whether it stays in one workspace or can switch between all of yours. The AI runs on your app’s own plan, so it doesn’t use your Origamy AI package.
Connect your app
Section titled “Connect your app”Works on Claude web and desktop. Free plans can add one custom connector.
- Go to Customize → Connectors.
- Choose + Add, then Add custom connector.
- Name it
Origamy, pastehttps://mcp.origamy.io/mcpand choose Continue. - Keep the detected sign-in settings and choose Add.
- Sign in when Claude asks. If it doesn’t, choose Connect on the Origamy connector.
On a Team or Enterprise plan, an owner adds it first under Organization settings → Connectors: Add, then Custom, then Web. Each person then chooses Connect under Customize → Connectors.
In a chat, use +, then Connectors, to turn Origamy on or off for that conversation.
OpenAI offers custom MCP servers on ChatGPT Business, Enterprise and Edu, on the web. On Business, only admins and owners can add one.
- Go to Plugins, choose the + button, then Add custom MCP server.
- Name it
Origamyand pastehttps://mcp.origamy.io/mcpunder Connection. - Choose OAuth for authentication.
- Read the risk warning and tick I understand and want to continue.
- Choose Create as a plugin, sign in, then install it.
- In a new chat, type
@and pick Origamy.
Older workspaces may show Settings → Apps → Create instead of Plugins. Only admins and owners can publish it for the whole workspace.
Add this to ~/.cursor/mcp.json for all your projects, or .cursor/mcp.json for one:
{ "mcpServers": { "origamy": { "url": "https://mcp.origamy.io/mcp" } }}Cursor then asks you to sign in. No client ID is needed, because it registers itself.
claude mcp add --transport http origamy https://mcp.origamy.io/mcpAdd --scope user to use it in every project. Then run /mcp inside Claude Code and follow the
browser sign-in.
For GitHub Copilot’s agent mode.
- Open the Command Palette and run MCP: Add Server.
- Choose HTTP (HTTP or Server-Sent Events) and paste
https://mcp.origamy.io/mcp. - Enter
origamyas the server ID. - Choose Global for your own use.
- Confirm the trust prompt and sign in when the browser opens.
Look for “remote MCP server” or “custom connector” in the app’s settings and give it the server URL. It needs to support:
- Streamable HTTP
- OAuth 2.1 with PKCE, using dynamic client registration or a Client ID Metadata Document
The server publishes its details at
https://mcp.origamy.io/.well-known/oauth-protected-resource/mcp and
https://mcp.origamy.io/.well-known/oauth-authorization-server.
Sign in and choose permissions
Section titled “Sign in and choose permissions”Your app opens Origamy in your browser. Choose a workspace and what the app may do, then choose Allow.
| Permission | Default | What it allows |
|---|---|---|
| Read your workspace setup | Always on | Segments, templates, forms, pages, products, journeys, reports and counts. Never anyone’s personal details. |
| Create drafts | On | Save planned changes. Everything lands off. |
| Publish forms | Off | Make a form public once you say yes. |
If you belong to more than one workspace, you also choose where the app may work:
| Choice | Default | What it means |
|---|---|---|
| Only this workspace | On | The app can’t see or reach your other workspaces. |
| All my workspaces | Off | The app starts in the workspace you picked and can switch to your others. |
To change any of these later, disconnect and connect again. A workspace whose plan doesn’t include AI apps can’t be picked. A workspace owner can change the plan in Settings → Billing.
Work in more than one workspace
Section titled “Work in more than one workspace”A connection works in one workspace at a time. If you chose All my workspaces, ask your app to
switch, for example “Switch to the Lagos workspace”. It calls list_workspaces to see where it can
go and switch_workspace to move.
- Every workspace checks you again. The app can only move to a workspace you are an active member of and whose plan includes AI apps. Once there it has your role in that workspace, not the role you had in the last one.
- Nothing comes along. Ids from one workspace mean nothing in another, and a plan can only be applied in the workspace it was made in. If the app tries elsewhere, Origamy names the workspace the plan belongs to.
- A switch moves the whole connection. Every chat that uses the same connection works in the new workspace from then on. Answers name the workspace they came from, so the app can tell.
- Each workspace sees it. The connection shows under Settings → Connected apps in every workspace it can reach, marked as covering all your workspaces. The move is recorded in both workspaces’ logs.
A connection made for one workspace stays there. So does any connection made before switching existed. To let it switch, disconnect it and connect again with All my workspaces.
Try it
Section titled “Try it”Start a new chat and ask something like:
- “What’s in my Origamy workspace, and what’s missing?”
- “Which journeys are on, and how often have they run?”
- “Plan a follow-up for new sign-ups: a form, two messages and a call task for my team.”
- “Draft this month’s newsletter template with the fields we actually have.”
What happens when it builds
Section titled “What happens when it builds”- Your app calls
plan_changes. Origamy checks every item with the same rules the builders use and refuses a plan with problems, naming the field and the allowed values. - Your app shows you the preview and asks.
- When you say yes, it calls
apply_changeset. The response links to each item in the dashboard. - Everything is off: journeys and reports are disabled, templates are drafts, forms and pages are unpublished, and products and services aren’t on sale.
- Check the drafts in Origamy and turn on what you want.
If an item fails while applying, the ones before it have landed, and applying again resumes from the failed one.
Pages, products and designs
Section titled “Pages, products and designs”Your app can draft with the page builder and the catalog as well:
- Pages. It starts a page from one of the built-in templates, then changes sections: wording, pictures, colours, order. To change a page you already have, it edits the page’s draft. A published page keeps showing its published version until you publish again.
- Products and services. It drafts a product with its first prices, or with options and variants, and an event when the product is a ticket. It drafts a service with its length and price. Both land switched off.
- Form designs. It gives a form one of the built-in designs and adjusts it. The design shows once you publish the form.
- Gallery templates. It starts a template as a copy of a design from the template gallery, with your name and subject. You change the wording in the designer.
Every page and design is checked against the builder’s own rules before it is stored. A section type, layout or setting the builder doesn’t have is refused, with where it is and what’s allowed, so a draft that reaches you opens in the builder as written.
Your app can’t publish a page, put a product on sale or turn a service on. Those stay with you.
Limits
Section titled “Limits”- No personal data. No setting opens this up. Tools return your setup, counts and field names.
When the app needs to see what a person looks like,
sample_peoplereturns made-up people with reserved test contact details, markedsynthetic: truewithsyn_ids. - No orders or buyers. Catalog tools return what you sell and the stock you put on sale. They never return orders, sales figures, buyers or who holds a ticket.
- It can’t message your contacts. No tool sends anything or turns on a journey.
- Live journeys are protected. Changes to anything a live journey uses are refused. Make those in the dashboard.
- What’s on sale is protected. A product that is on sale or a service that is on can’t be changed, and an existing product’s prices, variants and stock can’t be changed at all. Make those changes in the dashboard.
- It can’t take money or go public on its own. No tool publishes a page or puts anything on sale. Publishing a form needs the Publish forms permission and your yes.
- Text is treated as data. Words people wrote, such as a template body, come back in an
untrusted_contentfield, and the app is told never to follow instructions inside it. - Every call is recorded. Origamy logs the app, the person, the tool, a hash of the arguments and the result.
- Rate limits. 120 calls a minute per person, and 300 a minute per connection.
| Tool | What it does | Needs |
|---|---|---|
get_workspace_overview |
Name, time zone, country, plan, connected channels and how much of each thing there is. Apps should start here. | Read |
list_workspaces |
The workspaces you belong to, which one the connection is in, and where it can switch. | Read |
switch_workspace |
Move the connection to another of your workspaces. Needs All my workspaces. | Read |
search |
Find segments, templates, forms, pages, products, services, journeys, reports and teams by name or description. | Read |
fetch |
The full record for an id from search, such as segment:12. |
Read |
list_segments, get_segment |
Segments with their size, and one segment’s definition. | Read |
list_templates, get_template |
Templates, and one template’s subject, body and variables. | Read |
list_forms, get_form |
Forms, and one form’s questions, settings and design. Never the answers. | Read |
list_pages, get_page |
Pages, and one page’s outline and working draft. | Read |
list_page_templates, get_page_template |
The built-in page templates, and one template’s document. | Read |
list_form_designs, get_form_design |
The built-in form designs, and one design’s document. | Read |
list_template_gallery |
Ready-made templates from the gallery that a new template can start from. | Read |
get_design_guide |
How a page or a form design is written: section types, layouts and rules. | Read |
list_products, get_product |
Products and event tickets, and one product’s prices, variants, stock put on sale and event. | Read |
list_services |
Bookable services with their length, price and whether they are on. | Read |
list_workflows, get_workflow |
Journeys, and one journey’s trigger, steps and exit rules. | Read |
list_reports |
Scheduled reports, with how many recipients but not who. | Read |
list_tracking_plans, list_charts, list_dashboards |
Tracking plans, saved charts and dashboards you can see. | Read |
list_teams |
Teams for task assignment, with how many members but no names. | Read |
get_people_schema |
Trait and event names and types. Never values. | Read |
sample_people |
Up to 25 made-up people in your workspace’s trait names. | Read |
plan_changes |
Check and store a set of changes, and return a preview. | Create drafts |
get_changeset, list_changesets |
A planned set of changes with its status and links, and the plans still waiting. | Read |
apply_changeset |
Save a planned set of changes, all off. | Create drafts |
discard_changeset |
Drop a plan you decided against. | Create drafts |
publish_form |
Make a draft form public. | Publish forms |
Planned changes can cover segments, templates, forms, journeys, teams, reports, tracking plans,
charts, dashboards, pages, products and services. Each tool also needs the matching permission on
your own role in the workspace the connection is in, such as segments:read or forms:write.
Pages need forms:write and products need settings:write. A tool your role or plan doesn’t
cover is left out of the list the app sees.
Disconnect
Section titled “Disconnect”Go to Settings → Connected apps and choose Disconnect. It takes effect straight away: the app’s next call fails and it has to be connected again. Everyone sees their own connections, and owners and admins see the whole workspace’s and can disconnect any of them. A connection made for all of someone’s workspaces is one connection: disconnecting it in any workspace ends it in all of them.
Signing out everywhere, or leaving the workspace the connection is working in, also stops it. Removing the app from your AI tool doesn’t, so disconnect here too.
If something goes wrong
Section titled “If something goes wrong”| What you see | What to do |
|---|---|
| The app says it’s unauthorized or asks you to reconnect | The connection ended. Connect it again. |
| “Plan does not include AI apps” | A workspace owner can change the plan in Settings → Billing. A connection for all your workspaces can still switch to another one. |
| “This app was connected for one workspace” | Disconnect it and connect again, choosing All my workspaces. |
| “This changeset was planned in” another workspace | Ask your app to switch back to that workspace, or to plan the changes again where it is. |
| “Changes to something live are made in the dashboard” | The journey, product or service is on. Change it in Origamy, or ask for a new one. |
| The app doesn’t know a new tool or field | Apps cache the tool list. Start a new chat or reconnect. |
| ChatGPT or another app won’t sign in | Check that your plan allows custom MCP servers, then email [email protected] with the app’s name. |
| A plan is refused | The refusal names the field and what’s allowed. Ask your app to fix it and plan again. |
