# Transica > Transica handles the whole lifecycle of an MCP app (a Model Context Protocol server) that puts your product inside ChatGPT, Claude and other AI assistants: it builds the app from your API, secures it with the sign-in your customers already use and per-tool access, gets it ready for the ChatGPT app directory and Claude's Connectors Directory, hosts it on your own domain, and keeps it working after listing. What Transica does: - Build: drafts MCP tools from your API spec (OpenAPI), your existing MCP server, or what AI agents observe on your site; you approve each tool. - Get listed: checks your app against each directory's published requirements (tool annotations, sign-in, privacy policy, test account) and prepares the listing. - Host: runs the app at an address on your domain (for example mcp.yourcompany.com) with OAuth sign-in through your existing identity provider, health checks every 15 minutes, alerts and per-tool usage by AI app. - Secure: OAuth through your existing identity provider, with each tool public or signed in; tools that change data are public only when you approve them by name. - Maintain after listing: daily checks of each directory's rules, health checks every 15 minutes, tool-change versions and diffs, and email alerts. - Test: agent tests run AI agents on your website and through your app, and report exact pass counts. - Free page scan, no account needed: checks whether AI tools can reach, read and use a page. - Free MCP directory check, no account needed: checks a public MCP server against the ChatGPT and Claude directory requirements. Summary with links: https://transica.dev/llms.txt --- # How to submit your app to ChatGPT's plugin directory (2026) Source: https://transica.dev/guides/chatgpt-app-directory · Published 2026-10-17 > What OpenAI asks for before your app (now called a plugin) appears in ChatGPT's directory: verification, a public MCP server, sign-in, test cases and review. With links to OpenAI's docs. You want someone to type "find me a gig this Saturday" into ChatGPT and have your product answer. To get there, your app needs to pass OpenAI's review and be published to ChatGPT's directory. OpenAI's docs now call these submissions **plugins**: a package that can hold an MCP connection, skills, or both, and that shows up in ChatGPT and Codex. If you read a guide that talks about an "app directory" and an older submission form, it predates this change. This guide sums up what OpenAI's public docs say as of 17 October 2026. They change often, so check the originals before you submit: [plugin submission](https://developers.openai.com/apps-sdk/deploy/submission) and [submission guidelines](https://developers.openai.com/apps-sdk/app-submission-guidelines). ## What you need before you start - **A verified organization.** Individual or business verification in your OpenAI organization settings. Owners can submit; other members need the Apps Management Write role. - **A public MCP server.** A stable HTTPS address that ChatGPT can reach. One MCP server per plugin. - **Domain verification.** OpenAI gives you a challenge token to serve as plain text at `/.well-known/openai-apps-challenge` on your server's domain. - **Sign-in that ChatGPT supports.** No sign-in, OAuth, or a mix (some tools public, some signed in). There's no API-key option for public submissions. - **Review materials.** Five test cases that should work, three that shouldn't, a video walkthrough and release notes. Reviewer credentials go in a separate form, not in the package. ## What reviewers check From OpenAI's guidelines, in plain words: - **A clear purpose** that ChatGPT can't already handle on its own. No impersonation or implied endorsement. - **Quality.** Predictable results and helpful errors. No trial or demo builds. - **Honest tools.** Unique, descriptive names, accurate descriptions, one operation per tool, and explicit `readOnlyHint`, `destructiveHint` and `openWorldHint` values on every tool. - **Minimal data.** Ask only for the inputs you need and return only what's relevant. Never request the full chat history. - **Privacy.** A published privacy policy and no restricted data such as payment card numbers, health records, government IDs or passwords. - **Works everywhere.** Reliable on desktop and mobile. An app behind sign-in needs a fully populated demo account. - **A real contact.** Accurate support details for your verified organization. ## The submission steps 1. Upload your package on the [Plugins page](https://platform.openai.com/plugins) and fix any validation errors. 2. Sort out the automated findings on metadata and the MCP tool scan. 3. Fill in the review details and reviewer credentials. 4. Submit for review and accept the policy attestations. Automated checks run first, then OpenAI's team tests your test cases. Only one review can be active per plugin, and feedback arrives by email. ## After you're approved You choose when to publish. Changes to your listing text, assets or skills need a new package and a new review. Changes to your MCP server's tools don't: OpenAI rescans hosted servers daily, and eligible tool changes go live once automated checks pass. You can also ask for an immediate rescan. That last point matters. Your live tools are part of your listing, so a careless change on your server can change what people see in ChatGPT the next day. ## How Transica helps Transica builds the MCP app from your API, checks every tool against these rules (annotations, names, read and write split), and hosts it on your domain with OAuth through the sign-in you already use, so the domain check and the reviewer's demo account are straightforward. We watch your tools for changes and tell you before a rescan does. We can't speed up OpenAI's review or promise a listing. ## Common questions ### Do I need my own MCP server to list in ChatGPT? Yes. ChatGPT connects to an MCP server at a public HTTPS address that you control. Transica can build and host one for you on your own domain, or connect the one you already have. ### Is the ChatGPT app directory the same as the plugin directory? OpenAI's current docs describe submitting a plugin, which can contain an MCP connection (what used to be called an app), skills, or both, and which appears in ChatGPT and Codex. ### Does ChatGPT accept API keys for sign-in? Not for public submissions. OpenAI's portal supports no sign-in, OAuth, or a mix of public and signed-in tools. ### How long does ChatGPT's review take? OpenAI doesn't publish a fixed time. Automated checks run first, then a person tests your test cases, and feedback comes by email. ### Do I need to resubmit when my tools change? Not for MCP server changes. OpenAI rescans hosted servers daily and publishes eligible tool changes after automated checks. Listing text, assets and skills need a new package and review. --- # How to get your connector listed in Claude's Connectors Directory Source: https://transica.dev/guides/claude-connectors-directory · Published 2026-10-17 > What Anthropic checks before your MCP connector appears in Claude's directory: tool annotations, OAuth, a test account, the common rejection reasons and the Community and Verified labels. Claude's [Connectors Directory](https://claude.com/docs/connectors/directory) lets people add your product to Claude in a couple of clicks. To be listed, you submit a remote MCP server through Anthropic's developer portal, and it's checked against Anthropic's review criteria. This is a plain-English summary of Anthropic's public docs as of 17 October 2026: [submit a connector](https://claude.com/docs/connectors/building/submission) and the [pre-submission checklist](https://claude.com/docs/connectors/building/review-criteria). Check them before you submit, because they change. ## What you need - **A remote server over HTTPS.** Local servers can't be submitted as connectors. - **OAuth 2.0** if your tools act on someone's account, or no sign-in for public data. - **A `title` and a `readOnlyHint` or `destructiveHint` on every tool.** These decide whether Claude asks before each call. - **Listing details:** documentation URL, privacy policy URL, support contact and an icon. Apps with a visual interface also need 3 to 5 PNG screenshots. - **A test account** with realistic data, which only reviewers see. - **A paid Claude plan** on the account that submits. ## The common rejection reasons Anthropic's checklist is organised around them: - **One tool that does everything.** A catch-all tool that both reads and writes is rejected. Split reads from writes, and ideally writes into create, update and delete. - **Vague descriptions.** Each description must say exactly what the tool does and when to use it. - **Instructions aimed at Claude.** Descriptions that tell Claude how to behave, call other tools or fetch instructions from elsewhere are treated as prompt injection. - **Unhelpful errors.** A bare "Internal Server Error" fails. Validate inputs and say what went wrong. - **Huge responses.** Return what the task needs, not a database dump. - **Someone else's API.** Your server must call your own API, or one you're allowed to proxy, and its domain should match your service. - **Names over 64 characters.** Some use cases aren't accepted at all, including moving money or crypto and generating images, video or audio with AI. ## The portal steps You submit at [claude.ai/directory/manage](https://claude.ai/directory/manage). The steps are connection, tools (synced from your server and grouped into reads and writes), listing, use cases, company, authentication, data handling, test and launch, compliance (seven acknowledgements), then a final review. The listing has hard limits: - **Server name:** up to 100 characters - **One-liner:** up to 200 characters - **Description:** up to 2,000 characters - **Categories:** 1 to 5 - **URL slug:** permanent once published Some older guides say only Team or Enterprise accounts can submit. Anthropic's docs now say any paid Claude plan can. ## After you submit Anthropic scans submissions automatically and, by default, lists them as **Community** connectors. Some are escalated to **Verified** review, where reviewers run every tool. You don't apply for that; it's assessed automatically. Status and reviewer feedback appear in the portal. ## How Transica helps Transica drafts your tools with reads and writes already split, writes titles and annotations, flags vague names and descriptions, and hosts the server on your domain with OAuth through your existing sign-in. Before you submit, you can run AI agents through your app to check each tool answers properly. We can't change Anthropic's decision or promise a Verified label. ## Common questions ### Can I submit a local MCP server to Claude's directory? No. The Connectors Directory takes remote servers over HTTPS. Anthropic says local servers should be distributed inside a plugin instead. ### What sign-in does Claude support for connectors? OAuth 2.0 for anything that acts on a user's account, including dynamic client registration and client ID metadata documents, or no sign-in for public data. ### What's the difference between Community and Verified connectors? Every listed connector meets the same criteria. Verified connectors went through a slower review where people tested each tool. Anthropic picks which listings to escalate. ### Why was my connector rejected? The most common reasons in Anthropic's checklist are a catch-all tool that both reads and writes, missing annotations, vague descriptions, generic errors and descriptions that try to instruct Claude. --- # Host your MCP server on your own domain, behind your existing sign-in Source: https://transica.dev/guides/mcp-server-hosting · Published 2026-10-17 > What it takes to run an MCP server that ChatGPT and Claude can rely on: a public HTTPS address on your domain, OAuth through your identity provider, health checks, alerts and usage by AI app. Both ChatGPT and Claude connect to your app over the internet. Your MCP server has to be reachable, fast, secure and up, every time someone asks. That's a server to run, and most teams would rather not. ## What a production MCP server needs - **A stable HTTPS address.** ChatGPT and Claude only take public HTTPS endpoints. OpenAI also asks you to prove you own the domain. - **Your own domain.** People see where an app comes from. `mcp.yourcompany.com` is clearly yours, and the address stays yours if you ever move. - **OAuth sign-in.** Claude requires OAuth 2.0 for tools that act on an account, and ChatGPT supports OAuth or no sign-in. That means authorisation server metadata, dynamic client registration or client metadata documents, PKCE and token checks. - **Per-tool access.** Some tools can be public, like a price lookup. Others need the person to sign in. ChatGPT supports this mix directly. - **Monitoring.** If your server goes down, your listing keeps showing and people get errors. You want to know first. - **Usage you can read.** Which tools AI assistants call, from which app, and how often they fail. ## How hosting on Transica works 1. **Connect your domain.** Add one DNS record. We check you own it before anything goes live. 2. **Use the sign-in you have.** When someone connects your app in ChatGPT or Claude, they see your branded page and sign in with your existing provider (including Auth0, Clerk, WorkOS, Descope, Amazon Cognito, Better Auth and other OpenID Connect providers). We don't create a second set of user accounts. 3. **Choose access per tool.** Public, or signed in. Writes only for the tools you tick. 4. **We watch it.** Health checks every 15 minutes, an email when something breaks, and every tool call shown by AI app. We record which tool was called, the outcome, timing and the AI app. We don't store argument values, results, tokens or IP addresses. ## Already have an MCP server? You can connect it instead. We'll check its tools every few hours, flag changes, and rerun your tests when they change, so a deploy on your side doesn't quietly change what ChatGPT shows after its daily rescan. ## Common questions ### Can I host an MCP server on my own domain? Yes. With Transica your app runs at an address on your domain, such as mcp.yourcompany.com. You add one DNS record and we verify ownership before it goes live. ### Do my customers need a new account to use my app in ChatGPT or Claude? No. They sign in with the account they already have with you, on your own sign-in page, and approve access. ### Does an MCP server need OAuth? For Claude's directory, yes if any tool acts on a person's account. Public, read-only data can use no sign-in. ChatGPT supports OAuth, no sign-in, or a mix. ### What happens if my MCP server goes down? Your listing stays up but calls fail. Transica checks your hosted app every 15 minutes and emails you when something breaks. --- # Turn your API into an MCP server for ChatGPT and Claude Source: https://transica.dev/guides/turn-your-api-into-an-mcp-server · Published 2026-10-17 > How to go from an OpenAPI spec (or no spec at all) to MCP tools that AI assistants can use: picking operations, naming tools, splitting reads and writes, and testing them with AI agents. If your product has an API, you're most of the way to an app for ChatGPT and Claude. An MCP server is a thin layer in front of that API: it lists a handful of tools, each with a name, a description and inputs, and calls your API when an AI assistant uses one. The hard part isn't the protocol. It's choosing the right tools and describing them so an AI agent picks the right one first time. ## Start from what you have - **An OpenAPI spec.** The fastest route. Each operation can become a tool. - **An existing MCP server.** Connect it and check its tools against the directory rules. - **No spec.** AI agents can explore your site, and the requests they observe become draft tools you review. ## Pick fewer, better tools A spec with 300 operations shouldn't become 300 tools. AI agents choose better from a short menu. Start with the jobs people actually ask an assistant to do: search, look up, check status, book. Leave out admin, deprecated and high-risk operations until you need them. ## Name and describe them for an AI reader - **Verb first, plain words:** `search_events`, `get_order_status`. - **Say when to use it** in the description, and what it returns. - **Don't instruct the AI.** Anthropic treats descriptions that tell Claude how to behave as prompt injection. - **Keep names under 64 characters**, which Claude's directory requires. ## Split reads from writes Both directories want it. Claude's rejects a catch-all tool that both reads and writes. Mark read-only tools with `readOnlyHint: true` and anything that changes data with `destructiveHint: true`. ChatGPT also asks for an explicit `openWorldHint`. ## Test with AI agents before you submit A tool that looks right can still confuse an AI agent. Run the real tasks people would ask for, several times each, and count how many succeed. On Transica you can run the same tasks on your website and through your app, side by side, and see exact pass counts and times. ## How Transica helps Transica imports your spec (or explores your site), proposes a short list of tools with reads ticked and writes left for you to approve, names them, adds annotations, and hosts the result on your domain. You approve every tool before it goes live. ## Common questions ### How do I turn an OpenAPI spec into an MCP server? Import the spec, choose the operations people actually need, give each a clear verb-first name and description, mark reads and writes, then host it at a public HTTPS address. Transica does each step and leaves the approval to you. ### How many tools should an MCP server have? As few as cover the real jobs. Short menus help AI agents pick the right tool. Transica warns from 25 tools and suggests merging. ### Can I make an MCP server without an API spec? Yes. Transica's AI agents can explore your site, and the requests they observe become draft tools for you to review. --- # Keep your ChatGPT and Claude listings healthy after launch Source: https://transica.dev/guides/manage-ai-app-listings · Published 2026-10-17 > Getting listed is the start. Here's what changes after launch (directory rules, your tools, uptime) and how to keep your MCP listings working in ChatGPT and Claude. Once your app is listed, three things can quietly break it: the directory changes its rules, your tools change, or your server stops answering. People see the listing either way. ## Directory rules change OpenAI and Anthropic update their guidelines regularly. A tool that passed in spring can be flagged in autumn. Read their docs again before every submission. Transica checks both directories' public rules every day and updates its readiness checks; while a change is under review, your Get listed page says so next to the affected checks. ## Your tools change ChatGPT rescans hosted MCP servers daily and publishes eligible tool changes after automated checks. That's convenient, until a rename or a new required input on your side changes what people see the next day. Claude syncs your tools from your server too. What helps: - **Version your tools.** Know what's live and what changed. - **Diff on change.** See exactly which tools were added, removed or renamed. - **Retest on change.** Run your agent tests again whenever the tools change. Transica checks connected MCP servers' tools every 6 hours, saves each change as a version, shows the diff and the tool-quality change, reruns your latest comparison and emails you. ## Your server goes down A listing doesn't disappear when the server does. Calls just fail. Health checks every 15 minutes and an alert by email mean you hear about it before your customers do. ## Know how it's used Which AI app called which tool, how often it failed, how long it took. Transica shows this per tool and per app (ChatGPT, Claude, Cursor and others), without storing argument values or results. ## Common questions ### Do I have to resubmit my ChatGPT app when I change a tool? Usually not. OpenAI rescans hosted MCP servers daily and publishes eligible tool changes after automated checks. Listing text, assets and skills need a new submission. ### How do I know if my MCP listing breaks? Monitor the server and its tools. Transica checks hosted apps every 15 minutes, checks connected servers' tools every 6 hours, and emails you when something breaks or changes. ### Can I manage my ChatGPT and Claude listings in one place? Transica keeps each directory's listing details, readiness checks and your hosted app's health together. You still submit and publish in each directory's own portal. --- # Where to list your MCP server: every directory, checked October 2026 Source: https://transica.dev/guides/where-to-list-your-mcp-server · Published 2026-10-17 > ChatGPT, Claude, the official MCP Registry, Microsoft Copilot, Cursor and the community directories: which ones take submissions, what each needs and where to start. ChatGPT and Claude get the attention, but they aren't the only places people find MCP servers. Here's what each directory takes today, from their public docs. We checked each source on 17 October 2026. Directories change fast, so follow the links before you submit. ## The two big ones - **ChatGPT.** Submissions are now plugins, uploaded at platform.openai.com/plugins after organization and domain verification. Reviewed by people after automated checks. See our [ChatGPT guide](https://transica.dev/guides/chatgpt-app-directory). - **Claude.** Remote MCP servers submitted at claude.ai/directory/manage from any paid plan, listed as Community connectors after an automated scan. See our [Claude guide](https://transica.dev/guides/claude-connectors-directory). ## The official MCP Registry The [MCP Registry](https://modelcontextprotocol.io/registry/quickstart) is the open catalogue run by the MCP project, and other directories read from it. You publish with the `mcp-publisher` command-line tool. It's still in preview. - **Remote servers are allowed.** List your hosted address under `remotes`, no package needed ([remote servers](https://modelcontextprotocol.io/registry/remote-servers)). - **Your own namespace.** Prove you own your domain with a DNS record and publish as `com.yourcompany/...`. If you list in one place beyond ChatGPT and Claude, make it this one. ## Microsoft Copilot Microsoft runs an [MCP certification](https://learn.microsoft.com/en-us/microsoft-copilot-studio/mcp-certification) through Partner Center, for servers used in Copilot Studio and Microsoft 365 Copilot. It's in preview, needs business verification, and has its own sign-in requirements. Read the doc closely: Microsoft notes that the older route is closing. ## Developer tools - **Cursor** has a curated marketplace with a submission form, and the community-run cursor.directory lists servers too. - **VS Code and GitHub** read from the MCP Registry, so publishing there is the first step. ## Community directories These index MCP servers and many read the official registry automatically: - **[Smithery](https://smithery.ai/docs/build/publish)** takes a remote server's address. Its scanner expects Streamable HTTP, and sign-in should answer `401` (not `403`) so it can discover your OAuth setup. - **[Glama](https://glama.ai/mcp/servers)** has an add-server option and picks up registry entries. - **[PulseMCP](https://www.pulsemcp.com/submit)** currently points submitters to the official registry. - **[mcp.so](https://mcp.so/submit)** and **[mcpservers.org](https://mcpservers.org/submit)** take submissions, with free and paid review options. ## Assistants without a public directory (yet) - **Gemini.** We found no public MCP submission route. Google's marketplace lists partner agents built on a different protocol. - **Mistral Le Chat.** Has a curated connector directory and lets people add their own MCP connectors, but documents no way for vendors to submit. - **Perplexity.** People can add custom remote connectors. We found no public directory submission. For these, a well-documented public MCP address on your domain is what people need to add your app themselves. ## What every directory has in common A public HTTPS address, clear tool names and descriptions, honest read and write annotations, OAuth for anything personal, a privacy policy and someone who answers support email. Get those right once and each new listing is mostly paperwork. ## How Transica helps Transica hosts your app at one address on your domain that works for all of these, checks it against ChatGPT's and Claude's published rules, and keeps the listing details in one place. You still submit in each directory's own portal. ## Common questions ### Where should I list my MCP server? Start with ChatGPT and Claude if your customers use them, then the official MCP Registry, which other directories and tools read from. Add Microsoft's certification if your customers use Copilot. ### Can I list a remote-only MCP server in the MCP Registry? Yes. The registry accepts remote servers listed under remotes, without a package. ### Does Gemini have an MCP app directory? We found no public MCP submission route for Gemini as of 17 October 2026. ### Do community MCP directories give backlinks? Some do, and some offer paid options for a followed link. Check each directory's terms. --- # MCP and AI app glossary: plain-English definitions for owners Source: https://transica.dev/guides/mcp-glossary · Published 2026-10-17 > MCP, servers, tools, connectors, plugins, OAuth, tool annotations, MCP Apps and more: the terms you meet when you bring your product to ChatGPT and Claude, each linked to its official source. Getting your product into ChatGPT and Claude comes with a lot of new words. This glossary explains the ones owners actually meet, in plain English, with a link to the official source for each. It reflects the sources as of 17 October 2026. The current MCP specification is version [2026-07-28](https://modelcontextprotocol.io/specification/2026-07-28), a big revision ([what changed](https://modelcontextprotocol.io/specification/2026-07-28/changelog)), and AI apps and SDKs adopt new versions at their own pace. OpenAI and Anthropic also rename things often, so check the linked pages before you build on a detail. ## The basics - **Model Context Protocol (MCP).** An open standard for connecting AI apps to outside tools and data. Anthropic created it and in December 2025 gave it to the [Agentic AI Foundation](https://www.linuxfoundation.org/press/linux-foundation-announces-the-formation-of-the-agentic-ai-foundation), part of the Linux Foundation. It's run by maintainers in the open ([governance](https://modelcontextprotocol.io/community/governance)). Both ChatGPT and Claude use it. - **MCP server.** The piece you build or host. It offers tools (and optionally resources and prompts) to AI apps and calls your API when one is used ([architecture](https://modelcontextprotocol.io/specification/2026-07-28/architecture)). To an owner, "MCP server", "MCP app", "connector" and "plugin" often mean roughly the same thing seen from different sides. See [turn your API into an MCP server](https://transica.dev/guides/turn-your-api-into-an-mcp-server). - **MCP host and MCP client.** The host is the AI app a person uses, such as ChatGPT or Claude. Inside it, a client holds the connection to one server. The host decides what the AI may do and asks the person for consent ([architecture](https://modelcontextprotocol.io/specification/2026-07-28/architecture)). - **Remote MCP server.** A server on the internet, reached over HTTPS, as opposed to a local one running on someone's own computer. ChatGPT's and Claude's directories only take remote servers ([Claude's docs](https://claude.com/docs/connectors/building/mcp), [OpenAI's docs](https://developers.openai.com/plugins/deploy/submission)). See [MCP server hosting](https://transica.dev/guides/mcp-server-hosting). ## What a server offers - **Tool.** An action the AI can choose to call, like `search_events` or `get_order_status`. Each has a name, a description and the inputs it takes. The spec says a person should be able to refuse a call ([tools](https://modelcontextprotocol.io/specification/2026-07-28/server/tools)). - **Resource.** Data the server shares as context, such as a file or a record, each with its own address (a URI). The AI app decides how to use it ([resources](https://modelcontextprotocol.io/specification/2026-07-28/server/resources)). - **Prompt.** A ready-made message template that a person picks on purpose, often from a slash menu ([prompts](https://modelcontextprotocol.io/specification/2026-07-28/server/prompts)). - **Structured content and output schema.** A tool can return machine-readable JSON (`structuredContent`) alongside text. If the tool declares an `outputSchema`, its results must match it, which helps AI apps and interfaces rely on the shape ([tools](https://modelcontextprotocol.io/specification/2026-07-28/server/tools)). - **Tool annotations.** Labels on each tool that tell the AI app what it does: `title`, `readOnlyHint` (only reads), `destructiveHint` (may delete or overwrite), `idempotentHint` (safe to repeat) and `openWorldHint` (reaches outside systems). They're hints, and the spec tells clients not to trust them from servers they don't trust ([schema](https://modelcontextprotocol.io/specification/2026-07-28/schema)). The directories care a lot: Claude's requires a `title` and a read-only or destructive hint on every tool ([review criteria](https://claude.com/docs/connectors/building/review-criteria)), and OpenAI asks for explicit read-only, destructive and open-world values ([guidelines](https://developers.openai.com/plugins/plugin-guidelines)). ## How AI apps connect - **Transport.** How messages travel between AI app and server ([transports](https://modelcontextprotocol.io/specification/2026-07-28/basic/transports)). **stdio** runs the server as a local program on the same computer. **Streamable HTTP** sends each message as an HTTP request to one address, and is what remote servers use. The older **HTTP with SSE** transport has been deprecated since the 2025-03-26 spec; new servers should use Streamable HTTP. - **Elicitation.** A way for a server to ask the person for more information mid-task, through the AI app. Form mode collects simple fields and must never ask for secrets. URL mode sends the person to a web page for things like signing in or paying ([elicitation](https://modelcontextprotocol.io/specification/2026-07-28/client/elicitation)). - **Sampling.** A way for a server to ask the AI app's own model to write something. Deprecated in 2026-07-28: servers should call an AI provider directly instead ([sampling](https://modelcontextprotocol.io/specification/2026-07-28/client/sampling)). - **Roots.** A way for an AI app to tell a server which folders matter. Mostly for local coding tools, and also deprecated in 2026-07-28 ([roots](https://modelcontextprotocol.io/specification/2026-07-28/client/roots)). - **Tasks.** An optional, official extension for long-running work: the server hands back a task id and the AI app checks on progress later ([tasks](https://modelcontextprotocol.io/extensions/tasks/overview)). ## Sign-in (OAuth) - **OAuth 2.1 for MCP.** The standard way a person lets ChatGPT or Claude act on their account with you, without handing over a password. Sign-in is optional in MCP, but servers that use it should follow the MCP authorization spec, which builds on OAuth 2.1 ([authorization](https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization)). Your MCP server checks tokens; a separate service usually issues them. - **Authorization server.** The service that signs people in and issues tokens, often your existing identity provider. It publishes discovery metadata so AI apps can find its sign-in and token addresses ([discovery](https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization/authorization-server-discovery)). - **Protected resource metadata.** A small public JSON file on your MCP server that says which authorization server to use. When an AI app calls without a token, the server answers `401` with a pointer to this file, and the sign-in flow starts from there ([discovery](https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization/authorization-server-discovery)). - **Client registration: CIMD and DCR.** Before signing someone in, the AI app has to introduce itself to your authorization server. In the current spec the preferred way is a **Client ID Metadata Document** (CIMD): the AI app's client id is an HTTPS address describing it. **Dynamic Client Registration** (DCR), where the app registers itself on the fly, is now deprecated but kept for older servers ([client registration](https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization/client-registration)). ChatGPT's portal accepts a registered client, DCR or CIMD ([OpenAI auth](https://developers.openai.com/plugins/build/auth)), and Claude supports DCR and CIMD ([Claude auth](https://claude.com/docs/connectors/building/authentication)). - **PKCE.** An extra check during sign-in that stops a stolen sign-in code from being used. MCP clients must use it ([security considerations](https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization/security-considerations)). - **Resource indicator (token audience).** The AI app names your MCP server when it asks for a token, and your server must only accept tokens issued for it. That stops a token meant for one service being replayed against another ([authorization](https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization)). ## ChatGPT and Claude terms - **Plugin (ChatGPT).** What OpenAI's docs now call the package you publish for ChatGPT and Codex. It can hold an MCP connection, skills, or both ([plugins](https://developers.openai.com/plugins)). Older guides call this a ChatGPT app built with the Apps SDK; the old `apps-sdk` links now lead to the plugin docs. - **Plugin directory (ChatGPT).** Where people find plugins in ChatGPT and Codex, formerly called the app directory. You submit from the Plugins page of the OpenAI platform after organization and domain verification ([submission](https://developers.openai.com/plugins/deploy/submission)). See our [ChatGPT guide](https://transica.dev/guides/chatgpt-app-directory). - **Connector (Claude).** How Claude users see an MCP server. A directory connector has been through Anthropic's review; a **custom connector** is one a person or organization adds by pasting its address, with no review ([directory vs custom](https://claude.com/docs/connectors/building/directory-vs-custom), [custom connectors](https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp)). - **Connectors Directory (Claude).** Anthropic's catalogue of reviewed connectors, used across Claude's apps. Listings are labelled Community or Verified, and you submit from any paid Claude plan ([directory](https://claude.com/docs/connectors/directory), [submission](https://claude.com/docs/connectors/building/submission)). See our [Claude guide](https://transica.dev/guides/claude-connectors-directory). - **MCP Apps and widgets.** Interactive interfaces, such as a seat map or a booking form, that a tool shows inside the chat. MCP Apps is an official MCP extension: the interface is an HTML resource that runs in a sandbox inside the AI app ([MCP Apps](https://modelcontextprotocol.io/extensions/apps/overview)). OpenAI's docs build ChatGPT interfaces on it ([ChatGPT UI](https://developers.openai.com/plugins/build/chatgpt-ui)) and Claude supports it ([Claude's MCP Apps docs](https://claude.com/docs/connectors/building/mcp-apps/getting-started)). They're optional: an app can be tools only. - **Developer mode (ChatGPT).** The setting that used to be needed to add your own MCP server to ChatGPT for testing. OpenAI's help centre now says you no longer need to turn it on: you add a custom server from Plugins and accept a risk warning, and full access, including write actions, is listed for Business and Enterprise/Edu workspaces on the web ([custom MCP servers in ChatGPT](https://help.openai.com/en/articles/12584461-connecting-custom-mcp-servers-in-chatgpt)). ## Registries and testing - **MCP Registry.** The official open catalogue of MCP servers, run by the MCP project. It stores details about servers, not their code, and is still in preview. You publish with the `mcp-publisher` tool under a namespace you prove you own, such as your domain ([about](https://modelcontextprotocol.io/registry/about), [quickstart](https://modelcontextprotocol.io/registry/quickstart)). Being listed there doesn't put you in ChatGPT's or Claude's directories. See [where to list your MCP server](https://transica.dev/guides/where-to-list-your-mcp-server). - **MCP SDKs.** Official libraries for building servers and clients, in TypeScript, Python, C#, Go, Rust, Ruby, Java and more ([SDKs](https://modelcontextprotocol.io/docs/sdk)). - **MCP Inspector.** The official tool for trying a server by hand: list its tools, call them and see the raw responses ([Inspector](https://modelcontextprotocol.io/docs/tools/inspector)). ## Common questions ### What is the difference between an MCP server and an API? Your API is what your product already exposes to developers. An MCP server is a thin layer in front of it that describes a short list of tools in a way AI apps such as ChatGPT and Claude understand, and calls your API when the AI uses one. ### Is a ChatGPT plugin the same as a Claude connector? Close. Both are built on an MCP server. OpenAI's docs call the published package a plugin (it can also hold skills), and Claude calls an added MCP server a connector. One remote MCP server can serve both, but each directory has its own submission and review. ### Do I need OAuth for my MCP server? Only if tools act on a person's account. Public, read-only data can use no sign-in. For signed-in tools, ChatGPT and Claude both expect OAuth, and ChatGPT's portal doesn't accept API keys for public submissions. ### Is HTTP with SSE still supported? It has been deprecated since the 2025-03-26 MCP spec. Some AI apps still accept it for older servers, but new remote servers should use Streamable HTTP. ### Do I need to build a widget or MCP App? No. Interfaces are optional. An app can offer tools only, and ChatGPT and Claude show the results in the chat. --- # Ways to get your API into ChatGPT and Claude, compared Source: https://transica.dev/guides/ways-to-build-an-mcp-server · Published 2026-10-17 > Build it yourself with the MCP SDKs, generate it from OpenAPI, host it on Cloudflare or Vercel, use an integration platform, or use Transica: what each gives you, what's left for you to do, and who it suits. To show up in ChatGPT and Claude, your product needs a remote MCP server: a public HTTPS address that lists tools and calls your API. There are several ways to get one, and they leave very different amounts of work on your plate. This is a fair comparison from each option's own docs and pricing pages as of 17 October 2026. We make one of the options (Transica), so we've tried to say plainly where others fit better. Products in this space change monthly, so follow the links before you choose. We don't quote other companies' prices; we link to their pricing pages. ## What every route has to cover Whichever way you build it, a listed app needs the same five things: - **Tools.** A short list of well-named tools mapped to your API, with read and write annotations. See [turn your API into an MCP server](https://transica.dev/guides/turn-your-api-into-an-mcp-server). - **Sign-in.** OAuth through your identity provider for anything that acts on someone's account. ChatGPT's portal doesn't accept API keys for public submissions ([OpenAI](https://developers.openai.com/plugins/deploy/submission)). - **Hosting.** A stable public HTTPS address over Streamable HTTP. See [MCP server hosting](https://transica.dev/guides/mcp-server-hosting). - **Directory submission.** Your own submission in OpenAI's Plugins page and in Claude's portal. None of the options below submit for you. - **Monitoring.** Knowing when it breaks, and which tools AI apps actually call. ## 1. Build it yourself with the official MCP SDKs The MCP project publishes official SDKs in TypeScript, Python, C#, Go, Rust, Ruby, Java and more ([SDKs](https://modelcontextprotocol.io/docs/sdk)). OpenAI's docs build ChatGPT servers on the same SDKs and add an optional interface layer for ChatGPT ([OpenAI](https://developers.openai.com/plugins/build/mcp-server)). - **You get:** the protocol, transports and complete control, including custom interfaces ([MCP Apps](https://modelcontextprotocol.io/extensions/apps/overview)) and tools that combine several API calls. - **You still do:** everything else: tool design, the OAuth flow with your provider, hosting, monitoring and both submissions. - **Cost:** free and open source; you pay for your own hosting and engineering time. - **Best for:** teams with engineers to spare who want custom logic or a rich interface inside the chat. ## 2. Generate it from your OpenAPI spec These tools turn an existing API description into an MCP server. - **[Speakeasy](https://www.speakeasy.com/product/hosted-mcp-server)** generates a hosted server from your spec (each operation becomes a tool, plus custom TypeScript tools), serves it on your own domain, signs people in through your identity provider or Speakeasy's, and logs each call with export to Datadog or OpenTelemetry. Its [pricing page](https://www.speakeasy.com/pricing) shows an Enterprise plan priced on request. You still do the submissions. - **[Stainless](https://www.stainless.com/docs/mcp)** generates a TypeScript MCP server alongside your SDKs. Instead of one tool per endpoint, it exposes two: one that runs code against your SDK and one that searches its docs. Stainless's own hosting is deprecated, so you self-host the Docker image or a Cloudflare Worker, and OAuth works if your API supports dynamic client registration or through that Worker ([remote servers](https://www.stainless.com/docs/mcp/remote)). It has a free plan ([pricing](https://www.stainless.com/pricing)). You still do hosting, monitoring and submissions. - **[FastMCP](https://gofastmcp.com/integrations/openapi)**, the open-source Python framework, can build a server from a spec in one call. Its own docs say AI models do significantly better with curated servers than auto-converted ones, and suggest conversion for prototyping. Hosting is yours, or [Prefect Horizon](https://www.prefect.io/horizon), Prefect's managed platform for FastMCP. You still do submissions. **Best for:** API companies with a good spec, especially if you already use Speakeasy or Stainless for SDKs. ## 3. Host it on a developer platform These give you a place to run a server you write. - **[Cloudflare Workers](https://developers.cloudflare.com/agents/guides/remote-mcp-server/)** serve remote MCP over Streamable HTTP, with sign-in through Cloudflare Access or providers such as GitHub, Google, Auth0, Stytch and WorkOS, and an open-source [OAuth provider library](https://github.com/cloudflare/workers-oauth-provider). There's a free tier and usage-based paid plans ([pricing](https://developers.cloudflare.com/workers/platform/pricing/)). - **[Vercel](https://vercel.com/docs/mcp/deploy-mcp-servers-to-vercel)** has `mcp-handler` for Next.js and other apps, over Streamable HTTP. It checks tokens and publishes the OAuth metadata, but doesn't run an authorization server, so you connect one ([pricing](https://vercel.com/pricing)). - **You still do:** writing the tools, connecting your sign-in, monitoring tool calls and both submissions. - **Best for:** developers who already deploy there and want low-cost, scalable hosting. ## 4. Use an integration platform **[Composio](https://composio.dev)** and **[Zapier MCP](https://zapier.com/mcp)** solve a different problem. They connect AI agents and AI apps to many third-party apps, with the connections handled for the user. A Zapier MCP tool call uses two tasks from the user's Zapier quota ([Zapier](https://zapier.com/mcp)). Composio can add an MCP server you already host as an experimental custom toolkit ([docs](https://docs.composio.dev/docs/extending-sessions/custom-mcp)). Neither publishes your product as its own listing in ChatGPT or Claude. They're a good fit if your customers already automate with Zapier and your app is on it, or if you're building an agent that needs many other apps. ## 5. Use Transica Transica covers the steps from your API to a hosted, listing-ready app. - **Build.** Start from your OpenAPI spec (found on your site, a file, an address or a paste), the MCP server you already run, or AI agents that explore your site and draft tools from what they see. You pick the tools: reads are ticked, changes wait for your OK, and high-risk operations such as moving money or closing accounts are never recommended or run. - **Get listed.** We check your app against ChatGPT's and Claude's published rules, run your test prompts, and prepare what each portal asks for (a plugin package for ChatGPT, the portal fields for Claude). You submit under your own name, and approval is the platform's call. - **Host.** Your app runs over OAuth through the sign-in you already have (Supabase, Clerk, Auth0, WorkOS, Descope, Stytch, Better Auth, Logto, Keycloak or another OpenID Connect provider), with some tools public and others signed in if you like. Addresses on your own domain and the branded sign-in page come with Business and above. - **Monitor.** Health checks every 15 minutes, an email when something breaks, and tool calls shown by AI app. We don't store argument values, results, tokens or IP addresses. What it doesn't do: custom interfaces inside the chat (it serves tools only), and tools with custom code. Each tool maps to one of your API's operations or reads one of your public pages. If you need either, build your own server (options 1 to 3) and connect it to Transica for checks, tests and tool-change alerts. **Cost:** free to build, test and check. Hosting starts with Maker at $19 a month for 1 site with a live app, then Business $99 for 3 sites and Growth $299 for 10 sites, each with a live app; another site with its live app is $29 a month ([pricing](https://transica.dev/pricing)). **Best for:** businesses with an API and an existing sign-in who want to be listed in ChatGPT and Claude without running the server themselves. ## Side by side | Route | Tools | Sign-in for your users | Hosting | Submissions | Cost model | | --- | --- | --- | --- | --- | --- | | MCP SDKs | You write them | You build it | You run it | You | Free, open source | | Speakeasy | From your spec, plus custom code | Your provider or theirs | Included, own domain | You | Enterprise, on request | | Stainless | Code and docs-search tools | Via DCR or a Worker | You run it | You | Free plan, paid plans | | FastMCP | From your spec, or written | You add it | You, or Prefect Horizon | You | Open source | | Cloudflare or Vercel | You write them | Libraries help; you connect it | Included | You | Free tier, then usage or plan | | Composio or Zapier | Their app connections | Handled for their apps | Included | Not a listing for your app | Free tier, then plans | | Transica | From spec, server or site, you approve | Your existing provider | Included, own domain from Business | You, with a ready package | Free to build; from $19 a month for 1 site with a live app | ## How to choose - **You want full control or a custom interface in the chat:** build with the SDKs and host on Cloudflare or Vercel. - **You already generate SDKs with Speakeasy or Stainless:** try their MCP output first. - **You want customers to use many apps from their AI assistant, not list your own:** look at Zapier or Composio. - **You want your product listed in ChatGPT and Claude, behind your own sign-in, without running a server:** that's what Transica is for. Whichever route you take, you can paste your server's address into our free [MCP directory check](https://transica.dev/tools/mcp-directory-check) to see how its tools measure up to the directories' published rules. ## Common questions ### What's the cheapest way to build an MCP server? Writing it yourself with the free, open-source MCP SDKs and hosting it on a free tier such as Cloudflare Workers costs the least in fees. You then spend engineering time on sign-in, monitoring and submissions instead. ### Can I auto-generate an MCP server from OpenAPI? Yes. Speakeasy, Stainless and FastMCP all can, in different ways, and Transica imports a spec too. FastMCP's own docs warn that curated servers work better than straight conversions, so pick the operations people need rather than converting all of them. ### Will any of these submit my app to ChatGPT or Claude for me? No. Both directories expect you to submit in their own portals under your verified organization. Transica prepares the package and runs the checks, but you submit and the platform decides. ### Is Zapier MCP a way to list my product in ChatGPT? No. Zapier MCP lets people connect Zapier's app actions to AI clients. It doesn't create a listing for your product in ChatGPT's or Claude's directory. ### When is Transica not the right fit? When you need custom interfaces inside the chat, tools with custom code that combine several calls, or full control of your own infrastructure. Then build your own server with the SDKs and, if you like, connect it to Transica for checks and monitoring. --- # The MCP server lifecycle: build, secure, list and maintain (2026) Source: https://transica.dev/guides/mcp-server-lifecycle · Published 2026-10-24 > What an MCP app goes through to work in ChatGPT and Claude, and to keep working: choosing tools, building, sign-in and per-tool access, testing, hosting, review, and the upkeep after listing. Most teams think of getting into ChatGPT or Claude as one project with a finish line: build the MCP server, submit it, get listed, done. In practice it's a lifecycle. You decide what the AI is allowed to do, build it, lock it down, test it, host it, get it through review, and then keep it working while the directories, the MCP specification and your own product all keep moving. The early stages get the attention. The expensive problems tend to show up later: a sign-in client that quietly expires, a renamed tool that breaks people's conversations, a rule change that flags an app that passed review in the spring. This guide walks through each stage as of 24 October 2026, and points to a deeper guide where there is one. ## 1. Decide what the AI may do Start from the questions people will actually ask, not from your API reference. A booking product probably needs four things: find a free slot, book it, show my bookings, cancel one. It doesn't need the 140 endpoints behind them. For each tool, ask one question early: can anyone use this, does it need the person to be signed in, and does it change anything? Search is usually public. "Show my bookings" needs sign-in. "Cancel my booking" needs sign-in and changes data. That answer shapes almost everything you do in stage 3. Then write the tools for an AI reader: plain names, a description that says when to use the tool, and only the inputs it really needs. There's more on this in [Turn your API into an MCP server](https://transica.dev/guides/turn-your-api-into-an-mcp-server). ## 2. Build it You have a few routes. You can write the server yourself with the official MCP SDKs, generate it from an OpenAPI spec, use a developer platform or an integration platform, or have Transica draft it from your API. Whichever you pick, you end up with a remote MCP server speaking Streamable HTTP at a stable HTTPS address. [Ways to get your API into ChatGPT and Claude](https://transica.dev/guides/ways-to-build-an-mcp-server) compares the routes. ## 3. Secure it This is where most of the hard work is, and where a lot of reviews go wrong. Anything that touches someone's account needs OAuth. In MCP that means your server publishes a small metadata document pointing at your identity provider, the AI app registers itself (client ID metadata documents are now the preferred way), every flow uses PKCE, and every token is checked on every request and bound to your server. It sounds like a lot, and some of it is fiddly, but it's mostly standard OAuth. [MCP server authentication](https://transica.dev/guides/mcp-server-authentication) goes through it step by step. The other half is deciding who can do what. Public tools should just work, without a sign-in screen. Tools that need an account should ask for sign-in only when someone actually uses them. And a token that can read orders shouldn't automatically be able to cancel them. [Per-tool access](https://transica.dev/guides/mcp-per-tool-access) covers how to do that in both ChatGPT and Claude. Two smaller things matter here too. Both directories check that every tool is honestly marked as read-only or not, destructive or not. And neither wants tools that ask for passwords, card numbers or government IDs as inputs. ## 4. Test it with real AI agents A server can pass the MCP Inspector and still confuse a model. Before you submit, run the questions people will really ask through ChatGPT and Claude, and look at what happens. Does the model pick the right tool? With the right inputs? Is the answer right? Test the sign-in path as well, because that's where things break in practice: the first sign-in, a signed-in tool right after a public one, and what happens when a token has expired. ## 5. Host it Production hosting means a public HTTPS address, ideally on your own domain. It also means uptime, quick responses, sign-in through the provider your customers already use, and a way to see which tools get used from which AI app. [Host your MCP server on your own domain](https://transica.dev/guides/mcp-server-hosting) has the details. ## 6. Get it listed Each directory has its own form, its own rules and its own review. ChatGPT wants a verified organization, domain verification, test cases and a demo account ([guide](https://transica.dev/guides/chatgpt-app-directory)). Claude wants tool annotations, OAuth details, a test account and answers about how you handle data ([guide](https://transica.dev/guides/claude-connectors-directory)). Then there's the official MCP Registry, Microsoft, Cursor and the community directories ([guide](https://transica.dev/guides/where-to-list-your-mcp-server)). ## 7. Keep it working after listing Getting listed isn't the finish line. People keep seeing your listing whether your app works or not, so the job now is noticing when something breaks before they do. Five kinds of change cause most of the trouble. ### The rules change OpenAI and Anthropic update their guidelines regularly. A tool that passed in spring can be flagged in autumn. It's worth re-reading the rules before every submission and keeping an eye on them in between. ### Your tools change ChatGPT rescans hosted MCP servers every day and publishes eligible tool changes after its automated checks, and Claude syncs tools from your server too. That's convenient, until a rename or a new required input on your side reaches people the next morning. A few habits help. Keep a version of your tools and a diff of what changed. When you replace a tool, add the new one first and leave the old one working for a while before you remove it, because removing a tool breaks any conversation that's using it. Run the same agent tests again after every change. And remember that listing text, screenshots and skills need a new submission even when tool changes don't. ### Sign-in needs looking after Sign-in is the part that fails quietly. If you rotate a client secret or delete a registered client, people start seeing errors like `invalid_client` until they reconnect, so rotate with an overlap. On Claude, changing the OAuth client of a published listing goes through review, and you need to keep the old client working in the meantime, because everyone who connected earlier signed in with it. Claude also caches your metadata for about five minutes, shared by everyone on the same server URL, so a scope or endpoint change takes a little while to land. Watch for refresh failures, and make sure an expired refresh token gets the standard `invalid_grant` error so the app asks the person to sign in again cleanly. And retest sign-in after any change to your identity provider: new signing keys, a firewall rule or a moved issuer URL can lock out every user at once. ### The specification moves The MCP specification has had several dated revisions since 2024. The latest one, from 28 July 2026, marks dynamic client registration as deprecated in favour of client ID metadata documents. The AI apps follow at their own pace, so read the changelog when a revision lands and update your server before the apps drop the older behaviour. ### Your server goes down or slows down A listing doesn't disappear when your server does. Calls just start failing. Check health often, get an email when something's wrong, and keep an eye on response times: Claude gives your sign-in endpoints ten seconds before it gives up. There's more on this stage in [Keep your ChatGPT and Claude listings healthy after launch](https://transica.dev/guides/manage-ai-app-listings). ## How Transica fits in Transica covers the whole lifecycle. It drafts your MCP app from your API and you approve each tool. It checks the app against ChatGPT's and Claude's rules, and hosts it on your domain with OAuth through the sign-in you already use, with access set per tool. AI agents test it before you submit. After launch it checks the directories' rules every day, checks your hosted app every 15 minutes, saves every tool change as a version with a diff, reruns your tests and emails you when something breaks or changes. ## Common questions ### What are the stages of getting an app into ChatGPT or Claude? Decide which tools the AI may use, build the MCP server, secure it with sign-in and per-tool access, test it with AI agents, host it at a stable HTTPS address, submit it to each directory, and then maintain it as the rules, your tools, sign-in and the specification change. ### What breaks most often after an MCP app is listed? Tool changes that reach people before anyone tested them, sign-in clients or secrets that expire or get rotated without an overlap, changes at the identity provider, and directory rule updates that flag an app which passed before. ### Do I have to resubmit after every change? Usually not for tool changes, since ChatGPT rescans daily and Claude syncs tools from your server. Listing text, screenshots and skills do need a new submission, and changing the OAuth client of a published Claude listing goes through review. --- # MCP OAuth and authentication for ChatGPT and Claude (2026) Source: https://transica.dev/guides/mcp-server-authentication · Published 2026-10-24 > MCP OAuth and authentication for ChatGPT and Claude: metadata documents, app registration, PKCE, tokens bound to your server, refresh, and how to chain sign-in to the identity provider you already have. If your MCP server only serves public data, you can skip sign-in entirely. The moment a tool touches someone's account, though (their orders, their calendar, their files), people need to sign in to your service from inside ChatGPT or Claude, and your server needs to know who's calling. MCP answers this with OAuth. If you've built a "Sign in with…" flow before, most of it will feel familiar. What's new is that the AI app has to discover everything on its own, because nobody configures your server inside ChatGPT or Claude by hand. So the metadata has to be right. This guide follows the [current MCP specification (2026-07-28)](https://modelcontextprotocol.io/specification/latest/basic/authorization), [Claude's connector docs](https://claude.com/docs/connectors/building/authentication) and [OpenAI's Apps SDK docs](https://developers.openai.com/apps-sdk/build/auth) as of 24 October 2026. All three change often, so check them before you build. ## Who does what There are three parties. Your MCP server holds the data and checks the token on every request. Your authorization server signs people in and hands out tokens. That's usually the identity provider you already use, such as Auth0, Clerk, WorkOS, Okta, Microsoft Entra ID or Keycloak, not something new. And ChatGPT or Claude is the client: it works out where to send people, gets a token on their behalf and sends it with each request. When your identity provider can't serve the AI apps directly, the MCP server runs its own authorization server in front of it ([below](#how-to-use-your-existing-identity-provider-sign-in-through-the-middle)). ## Step 1: say "sign in first" the right way When a request needs sign-in and arrives without a valid token, answer with HTTP `401` and a `WWW-Authenticate` header that tells the app where your metadata lives. For example: `WWW-Authenticate: Bearer resource_metadata="https://mcp.example.com/.well-known/oauth-protected-resource", scope="orders:read"`. Two details catch people out. Claude only starts sign-in on a real `401`. If you return a normal `200` with a "please sign in" message, that text just shows up in the chat and nothing happens. And the `scope` part is optional but worth sending, because it tells the app exactly which permissions to ask for, so the consent screen isn't broader than it needs to be. ## Step 2: publish where your sign-in lives Your server needs a small JSON document, called protected resource metadata ([RFC 9728](https://datatracker.ietf.org/doc/html/rfc9728)), that names the server and its identity provider. The main fields are `resource` (for example `https://mcp.example.com/mcp`), `authorization_servers` (for example `["https://auth.example.com"]`), and optionally `scopes_supported`. Get these right and most of the rest follows. The `resource` value has to match your server's URL exactly as people type it into the app, path included. Put your main identity provider first in `authorization_servers`, because Claude only ever uses the first one. Serve the document at `/.well-known/oauth-protected-resource/mcp` as well as at `/.well-known/oauth-protected-resource`, since clients try the first one when your URL has a path. And keep `scopes_supported` to what basic use needs; you can ask for more later (see [per-tool access](https://transica.dev/guides/mcp-per-tool-access)). ## Step 3: make your identity provider discoverable Your identity provider has to publish its own metadata, either standard OAuth server metadata ([RFC 8414](https://datatracker.ietf.org/doc/html/rfc8414)) or OpenID Connect discovery. Most providers already do. It's still worth checking a few things. It should list its issuer and its authorization and token endpoints. It should say it supports PKCE with `S256`, because every flow uses it. Ideally it should include the issuer in each sign-in response ([RFC 9207](https://datatracker.ietf.org/doc/html/rfc9207)): the spec asks clients to check it and expects to make it required later. One easy one to miss: the AI app has to be able to reach your identity provider. Claude's requests come from Anthropic's published range (`160.79.104.0/21` as of this writing), and a firewall in front of your identity provider can break sign-in even when your MCP server itself is reachable. ## Step 4: let the app register itself Before ChatGPT or Claude can send anyone to sign in, it needs a client ID at your identity provider. There are three ways to get one. The one the spec now prefers is a **client ID metadata document**. The app's client ID is simply an HTTPS URL, and your identity provider fetches it to read the app's name and redirect addresses. There's no registration step and no table of clients to maintain. OpenAI prefers it too, and Claude uses it as long as your metadata advertises `client_id_metadata_document_supported: true` and accepts `"none"` as a token endpoint auth method. The second is a **client you create yourself** and hand to the app. Claude calls this Anthropic-held credentials and takes it in its developer portal. It doesn't work when every customer has their own server URL. The third is **dynamic client registration**, where the app registers itself through an endpoint you expose. Both apps still support it, but the 2026-07-28 spec marks it as deprecated, and Claude registers a new client on every fresh connection, so a busy server can end up with thousands of them. If your provider supports metadata documents, use those. If it doesn't, dynamic registration works for now. Whichever you choose, register the right redirect addresses. Claude on the web, desktop and mobile uses `https://claude.ai/api/mcp/auth_callback`. Claude Code signs in through your computer on a random local port, so accept `http://localhost/callback` and `http://127.0.0.1/callback` with any port. And show the redirect host clearly on your consent screen, so people can see who's asking. ## Step 5: make sure each token was meant for you During sign-in, the app tells your identity provider which server the token is for (the `resource` parameter, [RFC 8707](https://www.rfc-editor.org/rfc/rfc8707)). Put that into the token's audience. Then check every token on every request: the signature, the issuer, the expiry and the audience. A token meant for some other API has to be refused, even if it's otherwise valid. The spec is strict about one more thing: your server must never pass the token it received on to other services. If your MCP server calls your own API behind the scenes, it uses its own credentials or exchanges the token for a new one. Forwarding it is a known way to get confused-deputy bugs. Tokens go in the `Authorization: Bearer` header only, never in the URL. And when a token is invalid or expired, answer `401` so the app knows to refresh it. ## Step 6: make refresh boring Nobody wants to sign in again every hour. Offer refresh tokens: Claude adds `offline_access` to its request when your provider lists it, and refreshes up to five minutes before a token expires or as soon as it gets a `401`. If the app registered through a metadata document or dynamic registration, rotate the refresh token on each use and send the new one in the same response. When a refresh token is no longer valid, answer with the standard `invalid_grant` error rather than a custom one, so the app can recover cleanly. Two practical details. Your token endpoint has to accept ordinary form posts (`application/x-www-form-urlencoded`), while registration uses JSON, so check both parsers. And be quick: Claude waits ten seconds for discovery, registration and token requests and thirty for refresh, then gives up. ## Where ChatGPT and Claude differ The two apps share the same foundation, but a few things work differently. | | Claude | ChatGPT | |---|---|---| | What starts sign-in | An HTTP `401` with `WWW-Authenticate` | `securitySchemes` on each tool, plus an error result carrying `_meta["mcp/www_authenticate"]` | | How the app registers | Metadata document (when both values are advertised), a client you give Anthropic, or dynamic registration | Metadata document preferred, dynamic registration supported | | Other options | A fixed API key in a header (beta, organization-wide) or credentials entered at connection time (on request) | No API keys for public apps | | Some tools without sign-in | Yes ("lazy authentication") | Yes ("mixed" auth) | The per-tool side of this is in [per-tool access](https://transica.dev/guides/mcp-per-tool-access). ## How to use your existing identity provider (sign-in through the middle) Pointing ChatGPT or Claude straight at the OAuth setup your web and mobile apps already use rarely works: - **Wrong audience.** Your provider issues tokens for your API. The MCP server must refuse any token not issued for it, so a token for `api.example.com` isn't a token for `mcp.example.com`. - **No passthrough.** Forwarding the app's token to your API is forbidden by the spec. A token leaked from one AI app would open your whole API. - **Registration doesn't fit.** The apps register themselves, by client ID metadata document or dynamic registration. Many providers support neither. - **Consent can't name the AI app.** Your provider's consent screen was written for your own apps. It can't name the AI app or list the tools that will act on the account. The fix is a second authorization server that belongs to the MCP server, with its own issuer at the MCP server's address, chained to your provider. To ChatGPT and Claude it's the only sign-in server. To your provider, the MCP server is one more OAuth client, like your mobile app. When someone connects: 1. **The app gets a `401`.** Its protected resource metadata names the MCP server's own authorization server. 2. **The app registers there**, by metadata document or dynamic registration. Your provider never needs to support either. 3. **The person approves the AI app.** A consent screen names the app and lists its tools, before anything is sent to your provider. The MCP spec asks for this when a server signs in at a provider with one fixed client. 4. **The person signs in with their usual login.** The MCP server sends them to your provider as an ordinary OAuth client, with its own PKCE, and checks the provider's `iss` on the way back when one is sent. 5. **The MCP server learns who signed in.** It exchanges the code server to server and reads the user ID from a verified ID token, the userinfo endpoint or a signed access token. 6. **The app gets its own code.** It exchanges it with its PKCE verifier and the `resource` parameter for a token whose audience is that MCP server only. 7. **Each tool call** checks the app's token, finds the grant behind it and calls your API with your provider's token, for that call only. The person sees one consent screen, then the login page they already know. No second account is created. | Party | Holds | Works at | Lifetime | |---|---|---|---| | ChatGPT or Claude | The MCP server's access and refresh tokens | That MCP server only | Access up to 1 hour, never past the provider token behind it; refresh token rotated on use; grant lapses after 90 days unused | | MCP server | Your provider's access and refresh tokens, encrypted | Your API | Provider token refreshed with the app's refresh once under 10 minutes remain | | Your API | Your provider's token, as from your own apps | Your API | Your provider's settings | A token leaked from an AI app opens only that MCP server, and your API only ever sees your provider's tokens. Setting your provider's token audience to the MCP server fixes the first problem only: registration and consent still don't fit. Your side of the setup: your provider's issuer (its metadata supplies the endpoints), a client there for the MCP server (its own metadata document, dynamic registration, or a client you create with the MCP server's callback allowed), and an API that accepts your provider's tokens, as it already does for your web app. ## How Transica handles this Transica hosts your MCP app on your own domain and chains sign-in to the provider you already use, as above, whether that's Auth0, Clerk, WorkOS, Descope, Stytch, Logto, Keycloak, Better Auth, Amazon Cognito or another OpenID Connect provider. It serves the metadata documents, answers each app with the challenge it expects, checks every token and keeps your provider's tokens out of the AI app. Your customers don't get a second set of accounts. See [Host your MCP server on your own domain](https://transica.dev/guides/mcp-server-hosting). ## Common questions ### Does an MCP server need OAuth? Only for tools that act on someone's account. A server with only public data can run without sign-in, and both ChatGPT and Claude list those. An API key typed into the app isn't an option for public ChatGPT apps, and in Claude it's a beta for organizations only. ### Should I use dynamic client registration or client ID metadata documents? Client ID metadata documents, if your identity provider supports them. The 2026-07-28 MCP spec deprecates dynamic registration, OpenAI prefers metadata documents, and Claude uses them when your metadata advertises them. Dynamic registration still works in both apps for now. ### Why does Claude say "Couldn't reach the MCP server" when my server is up? Usually discovery failed: the `401` had no `resource_metadata` pointer and there was nothing at the well-known paths, so Claude never found your identity provider. A firewall in front of the identity provider causes the same symptom. ### Can I reuse the tokens my web app already issues? Only if they're issued with the MCP server as their audience. The MCP server has to refuse tokens meant for another API, and it must not forward the tokens it receives to other services. The usual route is an authorization server in front of your provider, so the AI app holds the MCP server's tokens and your API keeps getting your provider's. --- # Per-tool access in MCP servers: public tools, signed-in tools and scopes Source: https://transica.dev/guides/mcp-per-tool-access · Published 2026-10-24 > Let ChatGPT and Claude use some MCP tools without sign-in, ask for sign-in only when a tool needs someone's account, give each tool the narrowest permission, and ask for more later without breaking the chat. Not every tool needs the same access. Searching your public catalog needs none. Reading someone's orders needs them to be signed in. Cancelling an order needs them signed in and a stronger permission on top. Put every tool behind one sign-in with every permission, and two things go wrong. People hit a consent screen before they've seen anything useful. And the AI app ends up holding far more power than most conversations need. The MCP specification and both of the big AI apps now support something finer. This guide covers what works as of 24 October 2026, based on the [MCP authorization specification](https://modelcontextprotocol.io/specification/latest/basic/authorization), Claude's [lazy authentication](https://claude.com/docs/connectors/building/lazy-authentication) docs and OpenAI's [Apps SDK auth](https://developers.openai.com/apps-sdk/build/auth) docs. If OAuth on MCP is new to you, read [MCP server authentication](https://transica.dev/guides/mcp-server-authentication) first. ## Three kinds of tool It helps to put each tool in one of three buckets. Some are **public**: safe for anyone, like searching the catalog, opening hours or pricing. Some are **signed in, reading**: they act on the person's own data but change nothing, like "show my bookings". And some are **signed in, changing data**: they create, update, delete, pay or send, like "cancel my booking". Decide this tool by tool, not for the whole server. The two common mistakes run in opposite directions: putting a write tool in the public bucket because it's convenient, and making every tool wait for sign-in when half of them don't need it. ## Public tools first, sign-in only when needed Both apps let people connect your server, use the public tools straight away, and sign in only when the AI reaches a tool that needs their account. Claude calls this lazy authentication; OpenAI calls it mixed auth. The idea is the same, but each app listens for a different signal. **In Claude**, let `initialize`, `tools/list` and public tool calls through without a token, and give everyone the same tool list so the AI can plan with all of it. When someone calls a signed-in tool without a valid token, answer at the HTTP level with a `401` and a `WWW-Authenticate` header pointing at your metadata. That check has to happen before your MCP SDK handles the request: anything a tool handler returns gets wrapped in a `200`, and a `200` never starts sign-in. Get it right and Claude shows a Connect card in the conversation, then retries the same tool call once the person has signed in. The conversation simply carries on. **In ChatGPT**, declare `securitySchemes` on every tool: `noauth` for public tools, `oauth2` with its scopes for signed-in ones, or both for a tool that works anonymously but does more when signed in. When a signed-in tool is called without a usable token, return a tool error (`isError: true`) whose `_meta["mcp/www_authenticate"]` carries the challenge. ChatGPT only shows its sign-in prompt when both halves are there. **Other clients vary.** Claude Code notices the challenge but asks the person to run `/mcp` to sign in. Some clients only handle sign-in at the moment you connect. So test every app you care about, and keep a way to require sign-in up front for the clients that need it. Whatever the client, a token that arrives on a public tool still has to be checked. And a public tool should never quietly use someone's credentials. ## Give each tool the narrowest scope Scopes are the permissions people see on the consent screen. Good ones are few, and named after things people recognise: `orders:read`, `orders:write`, `calendar:read`. Ask for the minimum first. Put only what basic use needs in `scopes_supported` and in the `scope` of your first `401`. If you leave `scope` out, Claude asks for everything in `scopes_supported`, plus `offline_access`, and the consent screen gets longer than it should be. Keep reading and changing separate, so someone who only asks questions never has to grant write access. Then enforce it on your side. The token's scopes decide what each tool may do, so check them inside the tool rather than relying on the AI app to hide anything. If `orders:write` implies `orders:read` in your system, make sure your checks accept that. ## Ask for more permission later Sooner or later a signed-in person will call a tool their token doesn't cover, like cancelling an order with a read-only token. Don't just fail the call. Answer with HTTP `403` and a header asking for the extra scope, for example `WWW-Authenticate: Bearer error="insufficient_scope", scope="orders:read orders:write", resource_metadata="https://mcp.example.com/.well-known/oauth-protected-resource"`. The app asks the person to approve the wider access and then retries the same call. Two details make this work smoothly. List every scope the person still needs, not just the missing one: scopes picked up in an earlier step aren't reliably carried forward, and the spec asks for all of them in one go so people don't have to approve twice. And use exactly this shape. In Claude, any other `403` is treated as a final error rather than a prompt. ## Writes need more than a scope A scope says a tool is allowed to change data. It doesn't make that safe. For tools that change things, mark them honestly with `readOnlyHint`, `destructiveHint` and `openWorldHint`. Both directories check these, and the apps can use them to decide when to ask the person before running a tool. Keep each tool to one action: "cancel booking" and "refund booking" are two tools, not one tool with a mode switch. Keep writes out of the public bucket unless you've decided, tool by tool, that anyone may run them, and then limit how often they can. And keep a log of who did what and when, without storing more personal data than you need. ## How Transica handles this When Transica hosts your MCP app, each tool is either public or signed in, and tools that change data are marked from the API method. Public tools work without sign-in, and a signed-in tool starts sign-in in the conversation the way each app expects: a `401` for Claude and most clients, and ChatGPT's own error shape for ChatGPT. A tool that changes data only becomes public if you approve it by name. For clients that can't sign in mid-conversation, there's a switch to ask for sign-in when the app connects. One limit worth knowing: today every signed-in tool shares one set of scopes. Separate read and write scopes with step-up aren't built yet. ## Common questions ### Can some MCP tools work without sign-in? Yes. Claude (lazy authentication) and ChatGPT (mixed auth) both let people use public tools straight away and ask them to sign in when a tool needs their account. Each app listens for a different signal, so test both. ### Why does Claude show "please sign in" text instead of a Connect button? Your server sent back a successful response containing a tool error. Claude only starts sign-in on an HTTP `401` with a `WWW-Authenticate` header, or a `403` with `error="insufficient_scope"`. ### Should every tool have its own scope? No. Group scopes by what people recognise, usually a resource plus read or write. A scope per tool makes the consent screen long and confusing. What matters is that each tool checks for the narrowest scope that covers it. ### How do I ask for write access only when it's needed? Start with read scopes. When a write tool gets called with a read-only token, answer `403` with `error="insufficient_scope"` and the full list of scopes needed. The app asks the person to approve and retries the call. --- # ChatGPT app for WooCommerce stores: products, orders and shopper sign-in (2026) Source: https://transica.dev/guides/chatgpt-app-for-woocommerce · Published 2026-10-28 > What a WooCommerce store can put in ChatGPT today: product feeds, staff tools, chat widgets, and a store's own app in ChatGPT's plugin directory where shoppers sign in with their store account to check their orders. Most "ChatGPT for WooCommerce" products are tools for store staff, chat widgets on the store's own site, or product feeds for ChatGPT's shopping results. None of the ones checked below gives a store's shoppers an app of that store in ChatGPT's plugin directory where they sign in with their store account and ask about their own orders. A store can build that app itself. Public tools (products, prices, stock) need no sign-in. Tools that read a shopper's own account need an OAuth server on the store, and a stock WordPress and WooCommerce install doesn't include one. This guide reflects the pages listed under Sources, read on 28 October 2026. OpenAI's shopping and plugin pages change often, so check them before you decide. ## What a WooCommerce store can put in ChatGPT today | Option | Who it's for | What shoppers can do in ChatGPT | In ChatGPT's plugin directory? | Shopper sign-in? | |---|---|---|---|---| | ChatGPT for WooCommerce (Store Manager add-on) | Store staff | Nothing; it writes and translates product content with an OpenAI API key | No | No | | techspawn woocommerce-chatgpt-app (open source) | Stores that deploy it themselves | Search products, filter by category, check stock; cart and checkout only in a paid Pro version, marked beta | Not listed; the store would submit it | No; it reads the store with a read-only REST API key | | AI Checkout for WooCommerce | Merchants with Stripe and OpenAI merchant approval | Find products and buy through Instant Checkout | No; products appear in shopping results | No | | ChatGPT Product Feed for WooCommerce (Webkul, $99) | Merchants | Find products from the feed; checkout through the Agentic Commerce Protocol | No | No | | OpenAI product feeds (chatgpt.com/merchants) | Merchants who apply (waitlist) | Discover and compare products, then buy on the store's site | No; products appear in shopping results | No | | Supermetrics for ChatGPT | Merchant and marketing staff | Nothing; staff ask about sales and order data | Yes, as Supermetrics' own plugin | Staff link a Supermetrics account | | TalkToData Store Manager | Store owners | Nothing; owners run reports and store changes | Yes | No; it uses a store-owner REST API key | | KaliCart Global | Shoppers | Search products across participating WooCommerce stores; read-only, no orders | Yes | None described | | Elfsight WooCommerce ChatGPT plugin | Visitors to the store's website | Nothing in ChatGPT; it's a chat widget on the site | No | None described | | WooCommerce MCP (developer preview) and MCP for WooCommerce (w7s) | Store staff and developers | Nothing; staff manage products and orders from an AI client | No | No; staff use Application Passwords or REST API keys | | The store's own app | The store's shoppers | Public: products, prices, stock. Signed in: their own orders, and returns or warranty claims where the store's API offers them | Once the store submits it and OpenAI approves it | Yes, with their store account | A search of ChatGPT's plugin directory for "WooCommerce" on 28 October 2026, signed out, returned eight plugins. TalkToData Store Manager is for store owners; KaliCart Global is the only one that serves shoppers, and its listing says it is read-only and doesn't place orders. None was a single store's app for its own customers. A store's app wouldn't necessarily mention WooCommerce in its listing, so a search can't rule one out. The same search in Claude's directory returned no connectors. Two shopping changes matter here. OpenAI's merchants page now says purchases complete on the merchant's own site or app, and that OpenAI is moving away from standalone Instant Checkout, the in-chat checkout both checkout plugins above are built for. It also says Shopify and Etsy catalogs are already integrated, while other merchants apply and join a waitlist. Shopify's Agentic Storefronts puts eligible Shopify stores' products into ChatGPT and other AI apps, with checkout and orders in Shopify; it's a Shopify feature for Shopify stores. Neither covers a shopper's account, order status or returns. ## What a ChatGPT app for a WooCommerce store needs ### A public MCP server ChatGPT connects to a plugin's MCP server at a stable public HTTPS address, one server per plugin. OpenAI asks you to prove you own the domain with a token served at `/.well-known/openai-apps-challenge`. OpenAI's docs call these submissions plugins now; a plugin brings an app and skills together. ### Public tools: no sign-in Product search, prices, stock, categories and reviews are public data. WooCommerce's Store API serves them without API keys. A ChatGPT app can answer "do you have this in a size 10?" from those reads alone, and ChatGPT lets a plugin mix public tools with signed-in ones. ### Signed-in tools: an OAuth server on the store OpenAI's authentication rules for plugin servers: - **OAuth 2.1** with the authorization code flow and **PKCE**. The authorization server's metadata must list `S256`, or the server isn't supported. - **Discovery metadata** published by the authorization server. - **Client registration** by a client metadata document (preferred), dynamic client registration, or a client you create. - **No API keys** for public submissions, and no machine-to-machine grants. A WooCommerce store doesn't provide this out of the box. Its REST API uses consumer key and secret pairs tied to a WordPress user, meant for staff and integrations. WooCommerce's MCP feature uses Application Passwords for a WordPress user. The Store API's order endpoint asks for the order key, plus the billing email for guest orders. None of these is a shopper signing in from ChatGPT. So a store that wants signed-in tools needs one of these: - **An OAuth server plugin for WordPress**, so shoppers sign in with their existing store account. For example, WP OAuth Server's plugin page lists PKCE and OpenID discovery; check which features are in its free or paid edition. - **An identity provider the store already uses** for customer login, such as Auth0 or Keycloak. Either way, the store's API has to accept that access token and return only that shopper's data. Check this with the plugin or provider you pick before you build tools on it. ### Directory review OpenAI reviews each plugin before it can be published. An app behind sign-in needs a demo account with sample data that works without MFA, email or SMS codes, or magic links. The review also asks for exactly five test cases that should work, three that shouldn't, a video walkthrough and a privacy policy. Details: [How to submit your app to ChatGPT's plugin directory](https://transica.dev/guides/chatgpt-app-directory). Claude's directory asks for OAuth on any tool that acts on an account: [Claude's Connectors Directory](https://transica.dev/guides/claude-connectors-directory). ## How Transica does it - **Tools.** Transica builds tools from an API spec or from AI agents that explore the site, and the owner approves them. - **Public tools.** In public mode only read (GET) tools are served, no credentials are sent, and calls go only to the site's own origin. Reads that needed sign-in are left out. - **Signed-in tools.** Transica is the connector's OAuth 2.1 server for ChatGPT and Claude. A shopper sees a consent screen first, then signs in at the store's own provider. Transica keeps that provider's token encrypted and calls the store's API with it; the AI app never holds the store's token. - **Provider checks before going live.** Published metadata whose issuer matches, authorization and token endpoints, the code flow with PKCE `S256`, and a working registration (client metadata document, dynamic registration, or a client the owner creates). - **Tested providers.** Better Auth, Clerk, Auth0, Descope, Logto, WorkOS, Keycloak, Stytch and generic OAuth/OpenID passed end-to-end sign-in tests on staging in October 2026. - **Writes.** A tool that changes data is served only if the owner approves it by name. - **Listings.** Transica checks tools against both directories' published rules, runs the review's test prompts signed in as the demo account, and prepares ChatGPT's plugin package and Claude's portal fields. The store submits, and OpenAI and Anthropic decide. - **Address.** A transica.dev address, or the store's own domain on the Business plan and up. **Limits.** No WooCommerce store has been tested end to end with Transica yet, and no WordPress OAuth server plugin has been tested with it. Every signed-in tool shares one set of scopes. Transica can't promise a listing or speed up a review. ## Common questions ### Is there an official ChatGPT app for WooCommerce? WooCommerce's own MCP feature, in developer preview, connects AI clients for store staff, not shoppers. A search of ChatGPT's plugin directory on 28 October 2026 found no plugin published by WooCommerce. ### Can shoppers buy my WooCommerce products in ChatGPT? They can find them. OpenAI's merchants page says products from accepted feeds appear in ChatGPT's shopping results, and purchases complete on the merchant's own site or app. Other merchants apply and join a waitlist; Shopify and Etsy catalogs are already integrated. ### Can shoppers check their WooCommerce order status in ChatGPT? Only through an app of the store that signs them in. That needs an OAuth server on the store with PKCE `S256`, and an API that returns the signed-in shopper's own orders. ### Does a stock WooCommerce store support ChatGPT sign-in? No. WordPress and WooCommerce don't ship an OAuth server. The store needs an OAuth server plugin or an identity provider it already uses for customer login. ### Do public product tools need sign-in? No. WooCommerce's Store API serves products, prices and stock without API keys, and ChatGPT allows public tools next to signed-in ones. ### Does the same app work in Claude? Yes. Claude connects to the same remote MCP server, and its directory asks for OAuth on tools that act on an account. A search of Claude's directory for "WooCommerce" on 28 October 2026 returned no connectors. ## Sources All read on 28 October 2026. - OpenAI: [Plugins](https://developers.openai.com/plugins), [Upload and submit your plugin](https://developers.openai.com/plugins/deploy/submission), [Authentication](https://developers.openai.com/plugins/build/auth), [Plugins in ChatGPT](https://help.openai.com/en/articles/20001256-plugins-in-chatgpt-and-codex), [ChatGPT plugin directory](https://chatgpt.com/plugins), [Power product discovery in ChatGPT](https://chatgpt.com/merchants), [Agentic commerce key concepts](https://developers.openai.com/commerce/guides/key-concepts) - WooCommerce: [MCP](https://developer.woocommerce.com/docs/features/mcp/), [MCP for WooCommerce (w7s)](https://woocommerce.com/document/w7s-mcp/), [Store API](https://developer.woocommerce.com/docs/apis/store-api/), [Store API order endpoint](https://developer.woocommerce.com/docs/apis/store-api/resources-endpoints/order/), [REST API](https://developer.woocommerce.com/docs/apis/rest-api/) - Shopify: [Agentic Storefronts](https://www.shopify.com/agentic-storefronts) - Anthropic: [Claude connectors and plugins](https://claude.com/marketplace/connectors-plugins) - Products: [ChatGPT for WooCommerce](https://woocommerce-manager.com/plugins/chatgpt-for-woocommerce/), [techspawn/woocommerce-chatgpt-app](https://github.com/techspawn/woocommerce-chatgpt-app), [AI Checkout for WooCommerce](https://wordpress.org/plugins/ai-checkout-for-woocommerce/), [ChatGPT Product Feed for WooCommerce](https://store.webkul.com/chatgpt-product-feed-woocommerce.html), [Supermetrics: Connect WooCommerce to ChatGPT](https://supermetrics.com/connect/woocommerce-to-chatgpt), [Elfsight WooCommerce ChatGPT plugin](https://elfsight.com/chatgpt-widget/woocommerce/), [WP OAuth Server](https://wordpress.org/plugins/oauth2-provider/) --- # WarrantyWarden: from website to ChatGPT's plugin directory Source: https://transica.dev/blog/warrantywarden-chatgpt-plugin-directory · Published 2026-10-29 > OpenAI approved WarrantyWarden for ChatGPT's plugin directory on 29 October 2026. What the plugin does, how it was built and hosted with Transica, how sign-in works, and what review flagged on the way. On 29 October 2026, OpenAI emailed to say: "Your plugin, WarrantyWarden, has been approved and is ready to publish." The [listing](https://chatgpt.com/plugins/plugin_asdk_app_6ac5deab5d6c8191bf6707527ce4e43e) shows it in the Productivity category, at version 1.0.0. ## What WarrantyWarden is WarrantyWarden is a warranty tracker. People save the products they own, with warranty end dates, manuals and support links, and get reminders before a warranty runs out. WarrantyWarden started as a personal project in 2025, built because receipts kept getting lost, raising a support request meant digging through files and folders, and broken things sat unfixed until their warranty ran out. ## What it does inside ChatGPT The listing's tagline is "Track your product warranties". Its description says people connect their WarrantyWarden account to ask about their saved products, check whether an item is still under warranty, see which warranties expire soon and review upcoming reminders. The listing holds one app and one skill, and suggests three prompts: "Is my iPhone 15 Pro Max still under warranty, and until when?", "Which of my warranties expire in the next 30 days?" and "Which WarrantyWarden plan am I on?" ![WarrantyWarden's ChatGPT plugin page: "Track your product warranties", three example prompts, one app and one skill](https://transica.dev/figures/blog/warrantywarden-chatgpt-plugin-directory/listing.png) The app lists 15 tools, all under Read: | Area | Tools | What they answer | |---|---| | Warranties | `get_item_warranty`, `get_upcoming_warranty_expiries`, `get_upcoming_alerts` | Whether a product is still covered and until when, which warranties end within a given number of days, and which reminders are coming up | | Inventory | `get_inventory_summary`, `get_inventory_categories`, `search_inventory`, `get_item_detail`, `list_user_items`, `list_user_products` | An overview of what someone owns, counts by category, a search by name, brand or model, and one product's details | | Archive | `list_digital_archive` | Physical products and travel bookings in one list | | Account | `get_user_subscription`, `get_subscription_plans`, `get_credit_history` | The person's plan and its status, the plans on offer, and credit purchases and use | | Support | `get_support_history`, `list_agent_tasks` | Past support requests and active AI agent tasks | ## How it was built with Transica WarrantyWarden already had an API behind its own login, and the plugin's tools come from that API. On 26 October 2026 the build path was recorded in one take: Transica found the API spec, the endpoints an owner would ask about were picked, Transica's AI drafted each tool's name, description and inputs, and the connector was hosted. The on-screen clock reads 4:24 from WarrantyWarden's website to Claude answering with a signed-in user's data. Transica hosts the plugin at `mcp.warrantywarden.com`, on WarrantyWarden's own domain, through a DNS record that points to Transica's hosting. It went live on 3 October 2026. On 6 October 2026, a 37-second cold start made the first question after a quiet spell fail. Transica's health checks catch a slow wake-up, and its review step flags one before submission. ## Sign-in People use their own WarrantyWarden account in ChatGPT. No second account, no API key. Transica puts a small sign-in server in front of the existing login. ChatGPT registers with it, the person approves on a consent screen and then signs in on WarrantyWarden's usual login page, and ChatGPT gets a token that works only at `mcp.warrantywarden.com`. The Supabase token stays on the server, encrypted, and goes only to WarrantyWarden's API. The [MCP server authentication guide](https://transica.dev/guides/mcp-server-authentication) walks through the whole flow. ![Sign-in through the middle: ChatGPT registers with the plugin's own sign-in server, which signs the person in through WarrantyWarden's existing Supabase login and gives ChatGPT a token that works only at mcp.warrantywarden.com](https://transica.dev/figures/blog/warrantywarden-chatgpt-plugin-directory/sign-in-flow.png) ## Review and approval OpenAI's portal flagged three things on WarrantyWarden's first upload: pricing and subscription words in the listing, listing claims that no served tool backed up, and missing release notes. The description was rewritten without pricing words, every claim was matched to a tool, and release notes were written before the package was built. Transica runs the same three checks before submission. ![What OpenAI's portal flagged on the first upload: pricing and subscription words, claims that didn't match the tools, and missing release notes, each with its fix](https://transica.dev/figures/blog/warrantywarden-chatgpt-plugin-directory/review-flags.png) | Date | Step | |---|---| | 30 Sep 2026 | First Transica build of a WarrantyWarden connector | | 3 Oct 2026 | `mcp.warrantywarden.com` live on WarrantyWarden's own domain | | 6 Oct 2026 | 37-second Cloud Run cold start found | | By 7 Oct 2026 | Three flags from OpenAI's portal on the first upload | | By 13 Oct 2026 | Plugin submitted for review | | 29 Oct 2026 | Approved | ![OpenAI's email of 29 October 2026: "Your plugin, WarrantyWarden, has been approved and is ready to publish"](https://transica.dev/figures/blog/warrantywarden-chatgpt-plugin-directory/approval.png) After publication, OpenAI scans the hosted MCP server daily, and eligible tool updates go live once automated checks pass, without a new package version ([OpenAI](https://developers.openai.com/apps-sdk/deploy/submission)). ## What this means for a store owner The Transica part took minutes. The rest was fixing what the checks found in WarrantyWarden itself, then waiting for OpenAI's review. WarrantyWarden started with an API, a customer login and its own domain. A store with the same three can take the same path, and Transica keeps the plugin running after listing. ![What Transica does and doesn't do: it builds the plugin from an API, signs people in with their existing login, hosts it on the owner's domain, checks the submission and keeps it working; it doesn't guarantee approval, speed up review or make ChatGPT recommend one business over another](https://transica.dev/figures/blog/warrantywarden-chatgpt-plugin-directory/does-doesnt.png) Steps for any site: [ChatGPT app directory guide](https://transica.dev/guides/chatgpt-app-directory). ## Sources - [WarrantyWarden in ChatGPT's plugin directory](https://chatgpt.com/plugins/plugin_asdk_app_6ac5deab5d6c8191bf6707527ce4e43e) - [OpenAI: submit your plugin](https://developers.openai.com/apps-sdk/deploy/submission) --- # AI agent traffic in numbers (2025–2026) Source: https://transica.dev/blog/ai-agent-traffic-in-numbers · Published 2026-10-17 > What Cloudflare, Adobe, Pew, Imperva, HUMAN and Akamai have measured about AI crawlers and agents, what the numbers can and can't tell you, and what the shift means for your website. Picture a visit to your pricing page at 3 a.m. Nobody scrolls. Nobody hovers over a button. The page is fetched, read and gone in under a second. A few minutes later, someone in another city asks an AI assistant which plan to pick, and the answer quotes your prices. Or it doesn't, because the prices loaded after the visitor left. Visits like that are no longer the odd one out. In May 2026, according to [Cloudflare](https://blog.cloudflare.com/cloudflares-2026-annual-founders-letter/), automated traffic overtook human traffic on the web. Here's what the major measurers have published from 2025 to 2026, what it means, and where the numbers need a pinch of salt. ## The headline numbers These are the figures that matter most, with the period each one covers. All of them are the vendors' own data. | What was measured | Number | Period | Source | |---|---|---|---| | Automated traffic overtook human traffic | It happened in May 2026; Cloudflare had forecast the second half of 2027 | May 2026 | [Cloudflare](https://blog.cloudflare.com/cloudflares-2026-annual-founders-letter/) | | Daily AI-agent requests | Up more than 1,700% in a year | Year to September 2026 | [Cloudflare](https://blog.cloudflare.com/agentic-web/) | | AI bots' share of HTML requests | 4.2%, against 4.5% for Googlebot | 2025 | [Cloudflare Radar](https://blog.cloudflare.com/radar-2025-year-in-review) | | Crawling triggered by people's requests | Grew "over 15x" (21x in the body text) | 2025 | [Cloudflare Radar](https://blog.cloudflare.com/radar-2025-year-in-review) | | Automated share of all web traffic | 51% in 2024, 53% in 2025 | 2024 to 2025 | Reported by Imperva ([2025](https://www.imperva.com/blog/2025-imperva-bad-bot-report-how-ai-is-supercharging-the-bot-threat/), [2026](https://www.imperva.com/blog/bad-bot-report-2026-bots-agentic-age/)) | | Bad bots' share of web traffic | 37% | 2024 | Reported by [Imperva](https://www.imperva.com/blog/2025-imperva-bad-bot-report-how-ai-is-supercharging-the-bot-threat/) | | Automated share of commerce traffic | 47.9% | End of 2025 | Akamai, reported by [IT Brief](https://itbrief.co.uk/story/akamai-warns-commerce-is-top-target-for-ai-bot-attacks) | | Agentic traffic growth | Nearly 80x, reaching 1.7% of AI-driven traffic in December | 2025 | HUMAN Security, reported by [The Batch](https://www.deeplearning.ai/the-batch/agents-surf-the-ai-written-web) | | Agent visits to product or search pages | 77% of agent interactions | 2025 | HUMAN Security, reported by [The Batch](https://www.deeplearning.ai/the-batch/agents-surf-the-ai-written-web) | Read down the table and a picture forms. Machines now make more requests than people. Most of that is still crawlers. But the slice that acts for a specific person, right now, is the slice growing fastest. And when those agents arrive, they go where buyers go: product pages and search. HUMAN's numbers make the same point from another angle. In 2025, AI-driven traffic nearly tripled, automated traffic grew more than 23%, and human traffic grew about 3%, as [reported by The Batch](https://www.deeplearning.ai/the-batch/agents-surf-the-ai-written-web). Imperva's 2026 report, as published on [its blog](https://www.imperva.com/blog/bad-bot-report-2026-bots-agentic-age/), calls AI agents "a new category of internet participant". ## Crawlers take, agents act There are two very different kinds of AI visitor, and it helps to keep them apart. **Crawlers** read your pages in bulk, mostly to train AI models or build a search index. They rarely send anyone back. **Agents** visit because a person asked for something: "compare these two plans", "book a table for Friday", "is this in stock in a size 10?" They act on that person's behalf. Cloudflare measures the first kind with a crawl-to-refer ratio: how many pages a company's crawlers fetch for every visit its products send back to the site. Lower is better for you. | Company | January 2025 | July 2025 | Change | |---|---|---|---| | Anthropic | 286,930 : 1 | 38,065 : 1 | Better, still very high | | OpenAI | 1,217 : 1 | 1,091 : 1 | Slightly better | | Perplexity | 54.6 : 1 | 194.8 : 1 | Worse | | Google | 3.8 : 1 | 5.4 : 1 | Worse, still lowest of these four | Source: [Cloudflare, 29 August 2025](https://blog.cloudflare.com/crawlers-click-ai-bots-training/). Cloudflare's [2025 Year in Review](https://blog.cloudflare.com/radar-2025-year-in-review) says Anthropic's ratio peaked at about 500,000 to 1. There's an important caveat on that Anthropic number. Cloudflare itself notes that Claude's app sends no Referer header, so visits it sends may not be counted as referrals, and the ratio may be overstated. For the week of 19 to 26 June 2025, Cloudflare put Anthropic at about 70,900 to 1 with that warning attached ([Cloudflare, 1 July 2025](https://blog.cloudflare.com/ai-search-crawl-refer-ratio-on-radar)). The same gap can hide AI visits in your own analytics, which we'll come back to. Why are the crawlers out there? Over the 12 months Cloudflare looked at to July 2025, about 80% of AI crawling was for training, 18% for search and 2% for user actions ([Cloudflare](https://blog.cloudflare.com/crawlers-click-ai-bots-training/)). In a later post, Cloudflare reports that training's share of crawler requests rose from 22% in spring 2025 to 52% in June 2026 ([Cloudflare, 30 September 2026](https://blog.cloudflare.com/agentic-web/)). The two posts measure different things, so don't add them together. Both say training is a big and growing reason crawlers come. Site owners have noticed. In a September 2026 post, Cloudflare reports that 17% of sites on its network block training crawlers, and under 1% block search crawlers ([Cloudflare](https://blog.cloudflare.com/agentic-web/)). That split makes sense. Training crawlers take. Search crawlers and agents can bring people. The 2% "user actions" slice is small, but it's the one that grew "over 15x" in 2025 ([Cloudflare Radar](https://blog.cloudflare.com/radar-2025-year-in-review)), and it's the one that turns into customers. ## People click less, but the clicks are worth more AI answers change how people move from a question to your site. Pew Research looked at the browsing of 900 US adults in March 2025 ([Pew](https://www.pewresearch.org/short-reads/2025/07/22/google-users-are-less-likely-to-click-on-links-when-an-ai-summary-appears-in-the-results/)): - 18% of their Google searches showed an AI summary. - When a summary appeared, they clicked a result on 8% of visits. Without one, they clicked on 15%. - They clicked a link cited inside the summary about 1% of the time. Google, for its part, says its AI features send "billions of clicks" to websites every week, without giving an exact figure ([Google, 22 July 2026](https://blog.google/company-news/inside-google/message-ceo/alphabet-earnings-q2-2026/)). So fewer people click. But Adobe's retail data says the ones who arrive from AI tools are unusually ready to buy. These figures are for traffic from AI tools to US retail sites: | Period | Growth in AI-referred traffic | Other details | Source | |---|---|---|---| | 2025 holiday season | Up 693.4% year on year | Cyber Monday up 670% | [Adobe, 7 January 2026](https://news.adobe.com/news/2026/01/adobe-holiday-shopping-season) | | Q1 2026 | Up 393% | In March 2026, AI traffic converted 42% better than other traffic, with 37% higher revenue per visit | Adobe, reported by [TechCrunch](https://techcrunch.com/2026/04/16/ai-traffic-to-us-retailers-rose-393-in-q1-and-its-boosting-their-revenue-too/) | | 2026 holiday forecast | Up 130% | Thanksgiving up 159%, Black Friday up 95%, Cyber Monday up 88%; total online sales forecast at $275.1B | [Adobe, 28 September 2026](https://news.adobe.com/news/2026/09/adobe-us-holiday-shopping-season-to-hit-record) | Some coverage gives Thanksgiving as up 141%. Adobe's own release says 159%, so we use that. These are growth rates. A big percentage on a small base can still be a small number of visits, so read them as direction rather than size. The direction is clear, though: more shoppers are starting in an AI assistant, and the ones who reach a store from there convert better. ## The audience behind the agents Agents act for people, and there are a lot of people. - **ChatGPT** has 1.2 billion weekly users, a figure Sam Altman gave at DevDay on 29 September 2026, as [reported by Engadget](https://www.engadget.com/2271985/openai-dev-day-live-blog-chatgpt-news/). In February 2026, the figure was 900 million, as [reported by IT Daily](https://itdaily.com/news/business/chatgpt-900-million-users/). - **Gemini** has 950 million monthly users, and Google's AI Mode passed 1 billion monthly users, according to [Alphabet's Q2 2026 update](https://blog.google/company-news/inside-google/message-ceo/alphabet-earnings-q2-2026/). Not every one of those people sends an agent to a website. But it only takes a small share of them asking an assistant to check, compare or book something to produce a lot of visits. Those are the people the agents in Cloudflare's 1,700% figure are working for. ## From reading your site to using it A crawler only needs to read. An agent has to do something: find the right plan, fill a form, add to cart. That's harder, and the research shows how much harder. | Study | Agent using the website | Agent using the API or tools | Source | |---|---|---|---| | Beyond Browsing, WebArena tasks, GPT-4o | 14.8% success | 29.2% with API only, 38.9% with both | [Song et al.](https://arxiv.org/html/2410.16464v3) | | Same study, GitLab tasks | 12.8% | 43.9% | [Song et al.](https://arxiv.org/html/2410.16464v3) | | Same study, map tasks | 20.2% | 45.4% | [Song et al.](https://arxiv.org/html/2410.16464v3) | | Terminal Agents Suffice, 729 enterprise tasks, Claude Sonnet 4.6 | 72.2% at $3.29 a task | 72.7% at $0.56 through a terminal and API; 32.9% through generic MCP tools | [Terminal Agents Suffice](https://arxiv.org/html/2604.00073) | Browser agents also move slowly. The OSWorld-Human study found agents take "tens of minutes" on tasks that take people a few minutes, and even the best agents use 2.7 to 4.3 times more steps than they need ([OSWorld-Human](https://arxiv.org/abs/2506.16042)). And vendor scores don't always hold up. An independent re-check put OpenAI's Operator at 68.6% on WebVoyager, against the 87% OpenAI reported ([Emergence, March 2026](https://arxiv.org/abs/2603.29020)). Look at the last row of that table, though, because it's the honest caveat. In that study, the web agent nearly matched the terminal and API agent, at almost six times the cost per task. And agents using generic MCP tools did worst of all: 32.9%, less than half the web agent's score. A badly designed app is not a shortcut. Another study found that 97.1% of 856 MCP tool descriptions had at least one problem, and 56% didn't clearly say what the tool was for ([MCP Tool Descriptions Are Smelly!](https://arxiv.org/abs/2602.14878)). So the lesson isn't "any app beats any website". It's this: when an agent gets a direct tool built for the job, with a clear name and clear inputs, it skips the guessing that sinks browser agents. When the tools are vague or just mirror every endpoint, it guesses anyway. The only way to know which you have is to test it. ## Reading these numbers carefully Every figure in this post comes from someone with a particular view of the web. A few things to keep in mind: - **It's vendor data.** Cloudflare's figures are its own and not independently audited. Imperva, HUMAN, Akamai and Adobe each measure the traffic they can see. None of them sees the whole web. - **Referer gaps hide AI visits.** When an AI app sends no Referer header, as Cloudflare notes for Claude's app, the visit can look like direct traffic in your analytics. Your own reports may undercount AI referrals. - **Definitions vary.** Some coverage describes Akamai's 47.9% as "AI bots", but it measures all automated traffic to commerce sites. Cloudflare's own Year in Review gives user-action crawling growth as "over 15x" in one place and 21x in another. - **Scope varies.** Adobe's numbers are US retail sites. Pew's are 900 US adults in March 2025. Your sector may look different. None of this undoes the trend. Every source points the same way. Just be wary of anyone who quotes one of these numbers as if it describes your site. ## What this means for you - **Check what agents see.** If your prices, stock or booking options load after the page does, an agent may read an empty shell. A quick scan shows you. - **Decide on crawlers on purpose.** Blocking training crawlers is common (17% of sites). Blocking search crawlers is rare (under 1%). Make that call deliberately, not by accident. - **Expect fewer, better visits.** Pew's data says people click less when AI answers. Adobe's says the ones who arrive convert better. Make sure the page they land on works. - **Give agents a direct route.** For the jobs people ask about most, a well-designed app is the more reliable path than hoping an agent can work your website. - **Test, don't assume.** The research shows tool quality decides the result. Run the same task on your site and in your app, and count how many runs succeed. ## Where to go from here To put your product where these agents work, start with [where to list your MCP server](https://transica.dev/guides/where-to-list-your-mcp-server), then [turning your API into an MCP server](https://transica.dev/guides/turn-your-api-into-an-mcp-server) and [hosting it](https://transica.dev/guides/mcp-server-hosting). Transica turns your API into an app for ChatGPT, Claude and other assistants, prepares it for each directory's review, hosts it on your own domain behind your existing sign-in, and monitors it. Our agent tests send an AI agent through the same task on your website and in your app, and report exact pass counts for each. Want to see how agents see your site today? [Scan a page](https://transica.dev/#scan) for free, with no account. --- # Who's already inside ChatGPT, Claude and Copilot Source: https://transica.dev/blog/big-brands-in-chatgpt-and-claude · Published 2026-10-17 > A dated timeline of the brands that built apps for AI assistants from 2024 to 2026, what those apps let people do, how the checkout experiment went, and what a mid-size business can take from it. Someone opens ChatGPT and types "find me a three-bedroom house near a good school". Instead of ten blue links, Zillow listings appear right in the chat, with photos and a map. They ask a follow-up. They ask about a tour, and the app sends them to Zillow to book it. That has been possible since October 2025. Since then, dozens of well-known companies have built apps that run inside ChatGPT, Claude and Microsoft Copilot. This post walks through who went first, what they built, how the shopping experiment turned out, and what it means if you run a business with a product people already use. A quick note on names. OpenAI called these "apps" at launch, then renamed its app directory the "Plugin directory" on 9 July 2026, according to [OpenAI's Help Center](https://help.openai.com/en/articles/20001256-plugins-in-chatgpt-and-codex). Claude calls them "connectors". Under the hood nearly all of them use the same open standard, MCP (the Model Context Protocol), so one well-built app can serve several assistants. ## The timeline, 2024 to 2026 Here's the order things happened in, from the companies' own posts and the press coverage that reported them. Where we could only see a claim in news coverage, the source column says so. | Date | Where | Who | What happened | Source | |---|---|---|---|---| | 25 Nov 2024 | Any assistant | Anthropic, with Block and Apollo as early adopters | MCP launches as an open standard | [Anthropic](https://www.anthropic.com/news/model-context-protocol) | | 19 Mar 2025 | Copilot | Microsoft | MCP support arrives in Copilot Studio | [Microsoft](https://www.microsoft.com/en-us/microsoft-copilot/blog/copilot-studio/introducing-model-context-protocol-mcp-in-copilot-studio-simplified-integration-with-ai-apps-and-agents/) | | 26 Mar 2025 | ChatGPT | OpenAI | MCP added to OpenAI's Agents SDK | Reported by [TechCrunch](https://techcrunch.com/2025/03/26/openai-adopts-rival-anthropics-standard-for-connecting-ai-models-to-data/) | | 9 Apr 2025 | Gemini | Google | Demis Hassabis commits Gemini to MCP | Reported by [TechCrunch](https://techcrunch.com/?p=2991899) | | 23 Apr 2025 | Copilot | Jira, Monday.com, Miro | Partner agents in Microsoft's new Agent Store | [Microsoft](https://www.microsoft.com/en-us/microsoft-365/blog/2025/04/23/microsoft-365-copilot-built-for-the-era-of-human-agent-collaboration/) | | 1 May 2025 | Claude | Atlassian, Zapier, Cloudflare, Intercom, Asana, Square, Sentry, PayPal, Linear, Plaid | Claude "Integrations" launch | [Anthropic](https://claude.com/blog/integrations) | | 14 Jul 2025 | Claude | Notion, Canva, Stripe, plus Figma, Socket and Prisma on desktop | Claude's connectors directory opens | [Anthropic](https://claude.com/blog/connectors-directory) | | 8 Sep 2025 | Any assistant | The MCP project | The official MCP Registry opens in preview | [MCP blog](https://blog.modelcontextprotocol.io/posts/2025-09-08-mcp-registry-preview/) | | Sep 2025 | ChatGPT | Etsy sellers first, Shopify merchants such as Glossier, SKIMS, Spanx and Vuori "coming soon" | Instant Checkout and the Agentic Commerce Protocol, built with Stripe | Reported by [TechCrunch](https://techcrunch.com/2025/09/29/openai-takes-on-google-amazon-with-new-agentic-shopping-system/) | | 6 Oct 2025 | ChatGPT | Booking.com, Canva, Coursera, Figma, Expedia, Spotify, Zillow | First apps inside ChatGPT, announced at DevDay | [OpenAI](https://openai.com/index/introducing-apps-in-chatgpt/) | | 14 Oct 2025 | ChatGPT | Walmart | Instant Checkout deal announced | Reported by [Dallas Innovates](https://dallasinnovates.com/walmart-partners-with-openai-to-bring-chatgpt-powered-shopping-to-customers/) | | 8 Dec 2025 | ChatGPT | Instacart | First Instant Checkout inside a ChatGPT app, covering 1,800+ retailers | [Instacart](https://investors.instacart.com/news-releases/news-release-details/instacart-app-launches-openai-chatgpt-first-company-offer-new) | | 9 Dec 2025 | Any assistant | Anthropic, Block, OpenAI | MCP donated to the Agentic AI Foundation, a Linux Foundation directed fund | [MCP blog](https://blog.modelcontextprotocol.io/posts/2025-12-09-mcp-joins-agentic-ai-foundation/) | | 11 Dec 2025 | Any assistant | Google Cloud | Managed MCP servers for Maps, BigQuery, Compute Engine and GKE | [Google Cloud](https://cloud.google.com/blog/products/ai-machine-learning/announcing-official-mcp-support-for-google-services) | | Dec 2025 | ChatGPT, Perplexity, Copilot | Shopify | Agentic storefronts announced | Reported by [eMarketer](https://www.emarketer.com/content/shopify-agentic-storefront-product-network-ai-commerce-updates) | | 17 Dec 2025 | ChatGPT | Any business | App submissions open, with an in-chat app directory | Reported by [VentureBeat](https://venturebeat.com/technology/openai-now-accepting-chatgpt-app-submissions-from-third-party-devs-launches) | | 19 Dec 2025 | ChatGPT | DoorDash | Turns recipes into a grocery cart; the order is finished in DoorDash's app | Reported by [Digital Commerce 360](https://www.digitalcommerce360.com/2025/12/19/doordash-app-openai-chatgpt/) | | 26 Jan 2026 | Claude | Amplitude, Asana, Box, Canva, Clay, Figma, Hex, monday.com, Slack | Interactive connectors built on MCP Apps | [Anthropic](https://claude.com/blog/interactive-tools-in-claude) | | Mar 2026 | ChatGPT | Walmart | Switches to a Sparky app inside ChatGPT | Reported by [eMarketer](https://www.emarketer.com/content/walmart-launches-chatgpt-app-powered-by-sparky) | | 24 Mar 2026 | ChatGPT | Target, Sephora, Nordstrom, Lowe's, Best Buy, The Home Depot, Wayfair | OpenAI deprioritizes Instant Checkout; these retailers integrate for product discovery | [OpenAI](https://openai.com/index/powering-product-discovery-in-chatgpt/) | | 7 Apr 2026 | Copilot | Adobe Express, Coursera, Figma, monday.com | MCP Apps arrive in Copilot Chat | [Microsoft](https://devblogs.microsoft.com/microsoft365dev/mcp-apps-now-available-in-copilot-chat/) | | 14 May 2026 | ChatGPT | Etsy | Etsy app in beta: tag @Etsy to compare listings | [Retail Dive](https://www.retaildive.com/news/etsy-debuts-chatgpt-app-ai-conversational-search/820083/) | | 9 Jul 2026 | ChatGPT | OpenAI | The app directory becomes the Plugin directory | [OpenAI Help Center](https://help.openai.com/en/articles/20001256-plugins-in-chatgpt-and-codex) | Two things jump out. First, Claude and Copilot started with work tools: issue trackers, payments dashboards, design files. ChatGPT's first wave was consumer brands: music, homes, travel, groceries. Second, the same names keep showing up. Figma is in all three assistants. Canva is in ChatGPT and Claude. Coursera is in ChatGPT and Copilot, and monday.com is in Claude and Copilot. These companies built on MCP and showed up in several places. The audience is not small. Sam Altman said ChatGPT has 1.2 billion weekly users at DevDay on 29 September 2026, as [reported by Engadget](https://www.engadget.com/2271985/openai-dev-day-live-blog-chatgpt-news/). As of 17 October 2026, Claude's directory page shows [973 connectors](https://claude.com/connectors). ## What these apps actually let people do Strip away the launch posts and most of these apps do one or two jobs well. Here's what each one lets a person do in the chat, and what kind of tool it is underneath. | Company | Assistant | What a person can do | Kind of tool | Source | |---|---|---|---|---| | Spotify | ChatGPT | Find songs, playlists and podcasts by mood | Search and recommend | [Spotify](https://newsroom.spotify.com/2025-10-06/spotify-personalized-prompts-chatgpt/) | | Zillow | ChatGPT | Browse listings with photos and a map, then go back to Zillow to book a tour or contact an agent | Search, then hand off to a person | [Zillow](https://zillow.mediaroom.com/2025-10-06-Zillow-debuts-the-only-real-estate-app-in-ChatGPT) | | Booking.com, Expedia | ChatGPT | Find hotels and flights | Search | Reported by [BGR](https://www.bgr.com/1989183/how-to-use-chatgpt-with-apps-spotify-expedia-zillow/) | | Canva | ChatGPT, Claude | Make presentations and other designs in ChatGPT; social posts and presentations in Claude | Create | Reported by [BGR](https://www.bgr.com/1989183/how-to-use-chatgpt-with-apps-spotify-expedia-zillow/); Anthropic ([July 2025](https://claude.com/blog/connectors-directory), [January 2026](https://claude.com/blog/interactive-tools-in-claude)) | | Instacart | ChatGPT | Fill a cart and check out without leaving the chat | Transact | [Instacart](https://investors.instacart.com/news-releases/news-release-details/instacart-app-launches-openai-chatgpt-first-company-offer-new) | | DoorDash | ChatGPT | Turn a recipe into a grocery cart, then finish in DoorDash's app | Build a cart, hand off | Reported by [Digital Commerce 360](https://www.digitalcommerce360.com/2025/12/19/doordash-app-openai-chatgpt/) | | Etsy | ChatGPT | Compare listings, then buy on Etsy | Search, hand off | [Retail Dive](https://www.retaildive.com/news/etsy-debuts-chatgpt-app-ai-conversational-search/820083/) | | Stripe | Claude | Look up customer and payment data | Read your own account | [Anthropic](https://claude.com/blog/connectors-directory) | | Notion | Claude | Work on roadmaps | Read and write your own workspace | [Anthropic](https://claude.com/blog/connectors-directory) | | Slack | Claude | Draft messages you review before posting | Draft, person confirms | [Anthropic](https://claude.com/blog/interactive-tools-in-claude) | | Amplitude, Hex | Claude | See charts and get answers from data | Read and show | [Anthropic](https://claude.com/blog/interactive-tools-in-claude) | | Adobe Express | Copilot | Make flyers and social assets | Create | [Microsoft](https://devblogs.microsoft.com/microsoft365dev/mcp-apps-now-available-in-copilot-chat/) | Notice what's missing. None of these descriptions is "everything our website does". Spotify's is finding music by mood. Zillow's is finding a home and reaching an agent. Each company picked a question people already ask and built for that. ## The checkout experiment Commerce is where the story gets interesting, because it's the one place we have a real number. In September 2025, OpenAI launched Instant Checkout and the Agentic Commerce Protocol, built with Stripe. Etsy sellers came first, with Shopify merchants such as Glossier, SKIMS, Spanx and Vuori "coming soon", as [reported by TechCrunch](https://techcrunch.com/2025/09/29/openai-takes-on-google-amazon-with-new-agentic-shopping-system/). Walmart announced its own Instant Checkout deal on 14 October 2025, [reported by Dallas Innovates](https://dallasinnovates.com/walmart-partners-with-openai-to-bring-chatgpt-powered-shopping-to-customers/). On 8 December 2025, [Instacart](https://investors.instacart.com/news-releases/news-release-details/instacart-app-launches-openai-chatgpt-first-company-offer-new) became the first company to offer Instant Checkout inside a ChatGPT app. Then came March 2026. Walmart's Daniel Danker told WIRED that checkout inside ChatGPT converted at about one-third the rate of click-throughs to Walmart.com, with about 200,000 products available, as [reported by Search Engine Land](https://searchengineland.com/walmart-chatgpt-checkout-converted-worse-472071). Walmart moved to a Sparky app inside ChatGPT, [reported by eMarketer](https://www.emarketer.com/content/walmart-launches-chatgpt-app-powered-by-sparky). On 24 March 2026, OpenAI [deprioritized Instant Checkout](https://openai.com/index/powering-product-discovery-in-chatgpt/). Merchants now use their own checkout, and the protocol is used for product discovery instead, with Target, Sephora, Nordstrom, Lowe's, Best Buy, The Home Depot and Wayfair integrated. Here's what the companies have said about results, side by side. | Company | What they said or did | Figures published | Source | |---|---|---|---| | Walmart | Checkout inside ChatGPT converted at about one-third the rate of click-throughs to Walmart.com | About one-third; about 200,000 products available | Reported by [Search Engine Land](https://searchengineland.com/walmart-chatgpt-checkout-converted-worse-472071) | | Etsy | Rafe Colburn said shoppers used ChatGPT to learn about products, then came to Etsy to buy | None | [Retail Dive](https://www.retaildive.com/news/etsy-debuts-chatgpt-app-ai-conversational-search/820083/) | | Expedia | Ariane Gorin said traffic and bookings from AI channels are still small, but the mix of new users, conversion and order size is encouraging; answer engine optimization is its fastest-growing channel; it is live with Claude; ChatGPT ads went live in February | None | [Q1 2026 call](https://www.fool.com/earnings/call-transcripts/2026/05/08/expedia-expe-q1-2026-earnings-call-transcript/) | | Zillow | Jeremy Wacksman called Zillow the only real estate app inside ChatGPT | None | Reported in the [Q3 2025 call transcript](https://www.fool.com/earnings/call-transcripts/2025/10/30/zillow-z-q3-2025-earnings-call-transcript) | | Instacart | First Instant Checkout inside a ChatGPT app | Coverage of 1,800+ retailers, not usage | [Instacart](https://investors.instacart.com/news-releases/news-release-details/instacart-app-launches-openai-chatgpt-first-company-offer-new) | Here's the honest part. Most of these brands haven't published usage or conversion numbers for their assistant apps. Walmart's one-third figure is the only hard conversion number we found, and it's about checkout inside the chat, not about the app as a whole. Treat everything else as direction, not proof. The direction is consistent, though. People use the assistant to find and compare. When it's time to pay, they come to you. Etsy said it. Walmart's number says it. OpenAI's March change says it. And Adobe reports that in March 2026, traffic from AI tools to US retail sites converted 42% better than other traffic, with 37% higher revenue per visit, as [reported by TechCrunch](https://techcrunch.com/2026/04/16/ai-traffic-to-us-retailers-rose-393-in-q1-and-its-boosting-their-revenue-too/). The assistant is a front door. Your checkout is still the till. ## The patterns worth copying You don't need Walmart's budget to learn from Walmart's experiment. Five patterns show up across nearly every app in the tables above. 1. **A few jobs, not the whole site.** Spotify finds music by mood. Zillow finds homes. Slack drafts a message. Anthropic's own advice is to build a few tools around high-impact workflows rather than wrapping every endpoint ([Anthropic, Writing effective tools for agents](https://www.anthropic.com/engineering/writing-tools-for-agents)). OpenAI suggests aiming for fewer than 20 functions at the start of a turn ([OpenAI function calling guide](https://developers.openai.com/api/docs/guides/function-calling)). 2. **Look first, act carefully.** Slack's Claude connector drafts messages that you review before they're posted. Both big directories make you say which tools only read and which change things. ChatGPT requires `readOnlyHint`, `destructiveHint` and `openWorldHint` to be set explicitly ([OpenAI submission guidelines](https://developers.openai.com/plugins/plugin-guidelines)). Claude requires a title plus `readOnlyHint` or `destructiveHint` on every tool ([Claude submission docs](https://claude.com/docs/connectors/building/submission)). 3. **Hand off at the moment of commitment.** Zillow passes you to an agent. DoorDash sends you to its app. Etsy sends you to Etsy to buy. The assistant does the finding; the company keeps the relationship. 4. **Your sign-in, your customer's data.** Stripe's Claude connector works with the customer's own payment data, and Notion's with their own roadmaps ([Anthropic](https://claude.com/blog/connectors-directory)). Claude's directory requires OAuth 2.0 over HTTPS for any service that needs sign-in ([Claude submission docs](https://claude.com/docs/connectors/building/submission)). People sign in with the account they already have with you. 5. **Show, don't just tell.** The interactive Claude connectors return charts, boards and file previews instead of paragraphs ([Anthropic](https://claude.com/blog/interactive-tools-in-claude)). OpenAI's design guidelines keep it tight: cards carry at most two actions, and carousels hold 3 to 8 items ([OpenAI design guidelines](https://developers.openai.com/plugins/concepts/ui-guidelines)). ## Discovery versus checkout If you sell something, this is the decision that matters most. Do you build an app that helps people find and compare, or one that takes the order? The evidence so far points to discovery. Etsy, DoorDash and Zillow all built for discovery and handed off. Walmart and OpenAI both moved away from in-chat checkout in March 2026. That doesn't mean checkout in an assistant will never work. It means the companies with the most data stepped back from it this year, and you probably don't need to be the one who proves them wrong. Discovery is also easier to get right. Read-only tools that search your catalogue, check availability or quote a price can't change anything by mistake. They're simpler to review. And they send people to your site at the point where they're ready to buy. ## Being early still counts Zillow's CEO made a point of calling Zillow the only real estate app inside ChatGPT, on its [Q3 2025 earnings call](https://www.fool.com/earnings/call-transcripts/2025/10/30/zillow-z-q3-2025-earnings-call-transcript). Expedia told investors it is live with Claude and that answer engine optimization is its fastest-growing channel ([Q1 2026 call](https://www.fool.com/earnings/call-transcripts/2026/05/08/expedia-expe-q1-2026-earnings-call-transcript/)). Large companies are treating presence in assistants as a channel worth naming to shareholders. Look back at the tables: nearly every name is a household brand. If you're a regional booking service, a specialist retailer or a B2B tool with a loyal customer base, there's a fair chance your direct competitors haven't built an app yet. Search the directories for your category and see. That window won't stay open forever. ## What this means for you - **Pick two or three jobs.** Look at what customers ask your support team most. "Is this in stock?" "What does the pro plan cost?" "Where's my order?" Those are your first tools. - **Start read-only.** Searching, quoting and checking status are lower risk, easier to review and match what the big brands shipped first. - **Keep checkout on your site.** Let the assistant find and compare, then hand people to your own checkout, where your conversion already works. - **Use the sign-in you already have.** If people need an account, they should sign in with the one they already have with you. - **Build once, list in several places.** Figma shows up in ChatGPT, Claude and Copilot, and all three assistants speak MCP. - **Know the limit.** An app gives assistants a reliable way to do things for people who've already asked. It doesn't make an assistant recommend you, and no directory promises a listing. ## Where to go from here If you want to see what each directory asks for, start with [where to list your MCP server](https://transica.dev/guides/where-to-list-your-mcp-server), then read the [ChatGPT](https://transica.dev/guides/chatgpt-app-directory) and [Claude](https://transica.dev/guides/claude-connectors-directory) guides. [Turning your API into an MCP server](https://transica.dev/guides/turn-your-api-into-an-mcp-server) covers the build. Transica turns your API into an app for ChatGPT, Claude and other assistants, prepares it for each directory's review, hosts it on your own domain behind your existing sign-in, and monitors it. Our agent tests run the same task on your website and in your app and report exact pass counts, so you can see the difference for yourself. Want a quick look at how AI agents see your site today? [Scan a page](https://transica.dev/#scan) for free, with no account. --- # How to get your product listed in ChatGPT and Claude (2026) Source: https://transica.dev/blog/get-listed-in-chatgpt-and-claude · Published 2026-10-17 > ChatGPT has 1.2 billion weekly users and Claude's directory lists 973 connectors. Here's what each directory asks for, side by side, what the big brands did first, and the mistakes that get apps bounced. You want people to type "book me a table for Friday" or "find last month's invoice" into an AI assistant and have your product do it. That means getting listed. Both ChatGPT and Claude run a directory, and both review what you submit. This post covers why it's worth the effort, what each directory checks (side by side), what the first big brands built, and the mistakes that send submissions back. We've read both directories' public docs as of 17 October 2026. They change often, so follow the links before you submit. ## Why bother: the audience The numbers are hard to ignore: | Assistant | Reach | Source | |---|---|---| | ChatGPT | 1.2 billion weekly users (announced at DevDay, September 2026) | [Engadget](https://www.engadget.com/2271985/openai-dev-day-live-blog-chatgpt-news/) | | Gemini app | 950 million monthly users (Q2 2026) | [Alphabet](https://blog.google/company-news/inside-google/message-ceo/alphabet-earnings-q2-2026/) | | Claude | No official user count; the directory shows 973 connectors | [Claude](https://claude.com/connectors) | And people arriving from AI are worth having. Adobe found that in March 2026, AI-referred visitors to US retail sites converted 42% better than other traffic, with 37% more revenue per visit ([TechCrunch](https://techcrunch.com/2026/04/16/ai-traffic-to-us-retailers-rose-393-in-q1-and-its-boosting-their-revenue-too/)). A listing doesn't guarantee any of that traffic. But without one, your product can't be used inside the conversation at all. ## What you're actually submitting Both directories are built on MCP, the Model Context Protocol. Your app is a small server that sits in front of your product and lists a handful of tools ("search products", "create a booking"). When someone asks the assistant for something, it calls a tool and your server does the work. The directories review that server and its listing, not your website. OpenAI's docs now call submissions **plugins**: a package that can hold an MCP server, skills, or both. Claude calls them **connectors**. ## Who went first The first wave was big consumer brands and the tools businesses already live in. | When | Where | Companies | |---|---|---| | May 2025 | Claude integrations | Atlassian (Jira, Confluence), Zapier, Cloudflare, Intercom, Asana, Square, Sentry, PayPal, Linear, Plaid ([Anthropic](https://claude.com/blog/integrations)) | | July 2025 | Claude directory | Notion, Canva, Stripe, Figma and others ([Anthropic](https://claude.com/blog/connectors-directory)) | | October 2025 | ChatGPT apps pilot | Booking.com, Canva, Coursera, Figma, Expedia, Spotify, Zillow ([OpenAI](https://openai.com/index/introducing-apps-in-chatgpt/)) | | December 2025 | ChatGPT submissions open | Instacart launched checkout inside ChatGPT (8 Dec); submissions and the in-chat directory opened 17 Dec ([VentureBeat](https://venturebeat.com/technology/openai-now-accepting-chatgpt-app-submissions-from-third-party-devs-launches), [Instacart](https://investors.instacart.com/news-releases/news-release-details/instacart-app-launches-openai-chatgpt-first-company-offer-new)) | | January 2026 | Claude interactive connectors | Amplitude, Asana, Box, Canva, Clay, Figma, Hex, monday.com, Slack ([Anthropic](https://claude.com/blog/interactive-tools-in-claude)) | | July 2026 | ChatGPT | App directory becomes the plugin directory ([OpenAI Help Center](https://help.openai.com/en/articles/20001256-plugins-in-chatgpt-and-codex)) | Look at what they exposed. Spotify recommends music and podcasts by mood ([Spotify](https://newsroom.spotify.com/2025-10-06/spotify-personalized-prompts-chatgpt/)). Zillow shows listings on a map. Stripe gives Claude access to customer and payment data. Notion and Asana read and update work. None of them put their whole product in the chat. Each picked a few jobs people already ask for. We look at the big brands in more detail in [who's already inside ChatGPT, Claude and Copilot](https://transica.dev/blog/big-brands-in-chatgpt-and-claude). ## What each directory checks, side by side | | ChatGPT | Claude | |---|---|---| | Where you submit | [Plugins page](https://platform.openai.com/plugins) | [claude.ai/directory/manage](https://claude.ai/directory/manage) | | Who can submit | Verified individual or organization; owners or members with Apps Management Write | Any paid Claude plan | | Server | Public HTTPS, one MCP server per plugin | Remote server over HTTPS | | Prove your domain | Plain-text token at `/.well-known/openai-apps-challenge` | No verification step; your server's domain should match your service | | Sign-in | None, OAuth, or a mix; no API keys for public submissions | OAuth 2.0 for anything personal, or none for public data | | Tool annotations | `readOnlyHint`, `destructiveHint` and `openWorldHint`, each set explicitly | A `title` plus `readOnlyHint` or `destructiveHint` | | Reviewer access | Demo account with sample data | Fully populated test account | | Test material | 5 positive and 3 negative test cases, a video walkthrough, release notes | Confirm you've run every tool | | Review | Automated checks, then people test your cases | Automated scan; listed as Community by default, some escalated to Verified | | After launch | Server rescanned daily; eligible tool changes go live automatically | Deploy tool changes to your server; listing edits are reviewed | Sources: OpenAI's [submission docs](https://developers.openai.com/plugins/deploy/submission) and [guidelines](https://developers.openai.com/plugins/plugin-guidelines); Anthropic's [submission guide](https://claude.com/docs/connectors/building/submission) and [review checklist](https://claude.com/docs/connectors/building/review-criteria). ### ChatGPT in more detail OpenAI's reviewers look for: - **A clear purpose** that ChatGPT can't already cover on its own, with no impersonation or implied OpenAI endorsement. - **Quality.** Predictable results, sensible error handling, and no trial or demo builds. - **Honest tools.** Unique, action-oriented names and accurate descriptions, one operation per tool. - **Minimal data.** Only the inputs you need, responses limited to what's relevant, never the full chat history. - **Privacy.** A published privacy policy, and no collecting payment card data, health records, government IDs or passwords. - **Works everywhere.** Reliable on desktop and mobile. - **A real contact.** Accurate support details for your verified organization. ### Claude in more detail Anthropic organises its checklist around the most common rejections: - **No catch-all tools.** A tool that both reads and writes is rejected. Split reads from writes, ideally writes into create, update and delete. - **Narrow, accurate descriptions.** Say what the tool does and when to use it. - **No instructions aimed at Claude.** Descriptions that tell Claude how to behave count as prompt injection. - **Useful errors.** A bare "Internal Server Error" fails. - **Reasonable responses.** Return what the task needs, not a database dump. - **Your own API.** Call your first-party API, or one you're allowed to proxy. - **Names of 64 characters or fewer.** The listing itself has hard limits: a name of up to 100 characters, a one-liner of up to 200 and a description of up to 2,000, in 1 to 5 categories. Your listing's URL slug is permanent once published. ## The mistakes that get apps bounced Put the two checklists together and the same problems keep coming up. None of them is hard. All of them are easy to miss the first time: 1. **Missing or wrong annotations.** Every tool needs them, and ChatGPT wants all three hints set explicitly, even when the answer is false. 2. **Vague tool names and descriptions.** "process", "handle_request", "Makes a request to the API". Research on 856 tools found 97.1% of descriptions had at least one problem ([study](https://arxiv.org/abs/2602.14878)). 3. **An empty test account.** Reviewers need realistic data to try your tools. A fresh account with nothing in it fails the test. 4. **Sign-in that only works for you.** OAuth has to work for a stranger, from ChatGPT's or Claude's side, on the first try. 5. **One tool that does everything.** Claude rejects it outright, and ChatGPT asks for one operation per tool. 6. **Errors that say nothing.** "Something went wrong" tells the agent nothing it can fix. 7. **No published privacy policy.** 8. **A server that's slow to wake up.** In our experience, reviewers and users see timeouts. ## After you're listed Approval is the start. ChatGPT rescans hosted servers daily and publishes eligible tool changes after automated checks. So a rename on your server can change what people see in ChatGPT the next day. On Claude, tool changes go live when you deploy them, but changing the tool names on your listing takes a reviewed listing edit. Our guide to [keeping your listings healthy](https://transica.dev/guides/manage-ai-app-listings) covers what to watch. ## What this means for you - **The audience is there.** Hundreds of millions of people use these assistants every week. - **Big brands started with a few focused jobs.** You can do the same with a much smaller team. - **Both directories check similar things:** honest tools, working sign-in, a real test account, a privacy policy and a server that stays up. - **Nobody can promise a listing.** Each directory decides for itself. ## Where Transica fits Transica builds the app from your product, checks it against both directories' rules before you submit, and hosts it on your own domain behind the sign-in you already have. We can't speed up a directory's review, and a listing is never guaranteed. What we can do is make sure you don't get bounced for something a checklist would have caught. For the step-by-step version, read our guides to [listing in ChatGPT](https://transica.dev/guides/chatgpt-app-directory) and [Claude's Connectors Directory](https://transica.dev/guides/claude-connectors-directory). If you'd rather start by seeing how AI agents handle your site today, [scan a page](https://transica.dev/#scan). It's free and needs no account. --- # The MCP ecosystem in numbers (October 2026) Source: https://transica.dev/blog/mcp-in-numbers-2026 · Published 2026-10-17 > When ChatGPT, Gemini, Copilot and Claude adopted MCP, how fast the SDKs grew, how big the directories say they are, how well AI agents do on MCP tasks and how many servers are exposed, each number linked to its source. Anthropic announced the Model Context Protocol on 25 Nov 2024. Less than two years later, OpenAI, Google and Microsoft all support it, and the SDKs are downloaded close to half a billion times a month. If you're deciding whether your business needs an app for ChatGPT and Claude, the hype won't help you. The numbers might. Here they are as of 17 Oct 2026, each linked to its source. Where we only saw a figure in secondary reporting, we say so. ## How fast it spread Within five months of launch, Microsoft, OpenAI and Google had all signed on. Here's the timeline. | Date | What happened | |---|---| | 25 Nov 2024 | [Anthropic launches MCP](https://www.anthropic.com/news/model-context-protocol). Block and Apollo are early adopters. | | 19 Mar 2025 | [Microsoft adds MCP to Copilot Studio](https://www.microsoft.com/en-us/microsoft-copilot/blog/copilot-studio/introducing-model-context-protocol-mcp-in-copilot-studio-simplified-integration-with-ai-apps-and-agents/). | | 26 Mar 2025 | OpenAI adds MCP to its Agents SDK, as [reported by TechCrunch](https://techcrunch.com/2025/03/26/openai-adopts-rival-anthropics-standard-for-connecting-ai-models-to-data/). | | 9 Apr 2025 | Google commits Gemini to MCP, announced by Demis Hassabis, as [reported by TechCrunch](https://techcrunch.com/?p=2991899). | | 1 May 2025 | [Claude Integrations launch](https://claude.com/blog/integrations) with Atlassian, Zapier, Cloudflare, Intercom and others. | | 18 Jun 2025 | [Spec 2025-06-18](https://modelcontextprotocol.io/specification/2025-06-18/changelog): MCP servers become OAuth resource servers; structured tool output arrives. | | 14 Jul 2025 | [Claude's connectors directory launches](https://claude.com/blog/connectors-directory) with Notion, Canva, Stripe and Figma. | | 8 Sep 2025 | [Official MCP Registry opens in preview](https://blog.modelcontextprotocol.io/posts/2025-09-08-mcp-registry-preview/). | | 6 Oct 2025 | Apps in ChatGPT launch at DevDay, built on MCP, with Booking.com, Canva, Coursera, Figma, Expedia, Spotify and Zillow, according to [OpenAI's announcement](https://openai.com/index/introducing-apps-in-chatgpt/) as seen in search results. | | 25 Nov 2025 | [Spec 2025-11-25](https://modelcontextprotocol.io/specification/2025-11-25/changelog): Client ID Metadata Documents become the recommended sign-in registration. | | 9 Dec 2025 | [Anthropic donates MCP to the Agentic AI Foundation](https://blog.modelcontextprotocol.io/posts/2025-12-09-mcp-joins-agentic-ai-foundation/), a Linux Foundation directed fund co-founded by Anthropic, Block and OpenAI. | | 11 Dec 2025 | [Google Cloud launches managed MCP servers](https://cloud.google.com/blog/products/ai-machine-learning/announcing-official-mcp-support-for-google-services) for Maps, BigQuery, Compute Engine and GKE. | | 17 Dec 2025 | ChatGPT opens app submissions and an in-chat directory, as [reported by VentureBeat](https://venturebeat.com/technology/openai-now-accepting-chatgpt-app-submissions-from-third-party-devs-launches). | | 26 Jan 2026 | [Interactive Claude connectors on MCP Apps](https://claude.com/blog/interactive-tools-in-claude), including Amplitude, Asana, Box, Canva, Figma, Slack and monday.com. | | 7 Apr 2026 | [MCP Apps arrive in Microsoft Copilot Chat](https://devblogs.microsoft.com/microsoft365dev/mcp-apps-now-available-in-copilot-chat/) with Adobe Express, Coursera, Figma and monday.com. | | 9 Jul 2026 | ChatGPT's app directory becomes a "Plugin directory", according to the [OpenAI Help Center](https://help.openai.com/en/articles/20001256-plugins-in-chatgpt-and-codex) as seen in search results. | | 28 Jul 2026 | [Spec 2026-07-28](https://modelcontextprotocol.io/specification/2026-07-28/changelog), the current version: the protocol becomes stateless. | The Agentic AI Foundation is supported by Google, Microsoft, AWS, Cloudflare and Bloomberg as well as its founders, according to the [MCP blog](https://blog.modelcontextprotocol.io/posts/2025-12-09-mcp-joins-agentic-ai-foundation/). That matters more than any single launch. A protocol that no one company controls is one competitors can build on. By December 2025, the same post listed first-class MCP support in ChatGPT, Claude, Cursor, Gemini, Microsoft Copilot and VS Code. ## Downloads: about five times in under eight months SDK downloads are the closest thing to a usage meter the protocol has. | Date | Monthly SDK downloads | Other figure | Source | |---|---|---|---| | 9 Dec 2025 | 97M+ | About 10,000 active servers | [MCP blog](https://blog.modelcontextprotocol.io/posts/2025-12-09-mcp-joins-agentic-ai-foundation/) | | 28 Jul 2026 | Close to half a billion, across the Tier 1 SDKs | TypeScript and Python SDKs each past 1 billion total downloads | [MCP blog](https://blog.modelcontextprotocol.io/posts/2026-07-28/) | From 97M to close to 500M a month is roughly five times in under eight months. Downloads aren't people, so read this as momentum, not users. The direction is clear. ## How many servers are there? It depends who you ask, and what they count. | Directory | Size | Kind of list | |---|---|---| | [Glama](https://glama.ai/mcp/servers) | 101,333 servers ("updated 2026-10-17") | Open community index | | [Smithery](https://smithery.ai) | 27,284+ | Community registry | | [PulseMCP](https://www.pulsemcp.com/servers) | 21,688 | Community directory | | [Claude connectors](https://claude.com/connectors) | 973 connectors | Reviewed directory | All sizes as stated by the site on 17 Oct 2026. Treat these as self-reported counts. Each site counts its own way, nobody audits the totals, and the lists overlap. A count tells you nothing about whether a listed server is maintained, signed in properly or working today. We also found no official total for the MCP Registry or for ChatGPT's plugin directory, so we haven't put a number on either. The gap between the open lists and the reviewed one is the real story. Claude's 973 connectors are fewer than 1 in 100 of Glama's count. Getting into a reviewed directory is a different job from publishing a server. The [official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers?search=) does show entries from big names when you search it: we found com.stripe, com.atlassian, com.paypal.mcp, com.canva.mcp and com.cloudflare.mcp on 17 Oct 2026. On Claude, live connector pages on the same day included Stripe, PayPal, Atlassian, Notion, Canva, Figma, Linear, Asana, HubSpot and Shopify. ## Who's on the other end Directories matter because of the people behind the assistants. | Assistant | Figure | Measure | Date | Source | |---|---|---|---|---| | ChatGPT | 1.2 billion | Weekly users | 29 Sep 2026 | [Engadget, DevDay live blog](https://www.engadget.com/2271985/openai-dev-day-live-blog-chatgpt-news/) | | ChatGPT | 900 million | Weekly users | Feb 2026 | [ITdaily](https://itdaily.com/news/business/chatgpt-900-million-users/), as seen in search results | | Gemini app | 950 million | Monthly users | 22 Jul 2026 | [Alphabet Q2 2026](https://blog.google/company-news/inside-google/message-ceo/alphabet-earnings-q2-2026/) | | Google AI Mode | Over 1 billion | Monthly users | 22 Jul 2026 | [Alphabet Q2 2026](https://blog.google/company-news/inside-google/message-ceo/alphabet-earnings-q2-2026/) | Weekly and monthly figures don't compare directly. We left Claude out because we found no official user figure from Anthropic. AI agents are also turning up on websites directly. Cloudflare says [daily AI-agent requests grew more than 1,700% in a year](https://blog.cloudflare.com/agentic-web/) (30 Sep 2026), and that [automated traffic overtook human traffic in May 2026](https://blog.cloudflare.com/cloudflares-2026-annual-founders-letter/), well ahead of its original forecast for the second half of 2027. These are Cloudflare's own figures and aren't independently audited. ## How well AI agents do on MCP tasks Here's the sobering part. On benchmarks built from real MCP servers, the best models of 2025 failed about half the tasks. | Study | What it tested | Best or headline result | |---|---|---| | [MCP-Universe](https://arxiv.org/abs/2508.14704) (Aug 2025) | 231 tasks on real MCP servers | GPT-5 at 43.72% | | [MCPMark](https://arxiv.org/abs/2509.24002) (Sep 2025) | Tasks on real MCP servers | gpt-5-medium at 52.56% pass@1 | | [Anthropic, advanced tool use](https://www.anthropic.com/engineering/advanced-tool-use) (24 Nov 2025) | Anthropic's MCP evals with Tool Search | Opus 4 up from 49% to 74%; Opus 4.5 up from 79.5% to 88.1% | | [RAG-MCP](https://arxiv.org/abs/2505.03275) (May 2025) | Picking the right tool from a large set | Selection accuracy up from 13.62% to 43.13% when tools are retrieved first | | [Terminal Agents Suffice](https://arxiv.org/html/2604.00073) (31 Mar 2026, updated 14 Oct 2026) | 729 tasks on ServiceNow, GitLab and ERPNext | MCP tool agents 32.9% to 39.2%; browser agents 68.9% to 79.9%; terminal/API agents 72.7% to 78.7% | Two things stand out. Models are improving fast: Anthropic's own evals moved by up to 25 points with better tool handling. And tool design matters as much as the model. In the Terminal Agents study, the same models did roughly twice as well calling APIs directly as they did through MCP tools. Description quality is a big part of that. The paper [MCP Tool Descriptions Are Smelly!](https://arxiv.org/abs/2602.14878) (16 Feb 2026) found that 97.1% of 856 tool descriptions on 103 servers had at least one problem, and 56% didn't state the tool's purpose clearly. ## Security: a lot of servers are open The fast growth left gaps. | Source | Finding | |---|---| | [Wiz](https://wiz.io/blog/the-risk-hiding-behind-exposed-mcp-servers) (28 Jul 2026) | MCP shows up in 80% of cloud environments, and about 1 in 6 of those expose an MCP server. About 70% of exposed servers return their full tool list to an anonymous caller; about 42% return real data when a tool is called. Nearly all run spec 2024-11-05, which predates MCP auth. | | [Knostic](https://knostic.ai/blog/mapping-mcp-servers-study) (17 Jul 2025) | 1,862 internet-exposed servers. All 119 checked by hand listed their tools without authentication. | | [Astrix](https://astrix.security/learn/blog/state-of-mcp-server-security-2025/) (15 Oct 2025) | Of 5,200+ open-source servers, 88% need credentials, 53% use long-lived static keys or personal access tokens, and 8.5% use OAuth. | | [MCPTox](https://arxiv.org/abs/2508.14925) (Aug 2025, AAAI) | Across 45 live servers, 353 tools and 20 agents, tool-poisoning attacks succeeded 36.5% of the time on average, and 72.8% of the time against o1-mini; even the most cautious agent refused less than 3% of the time. | The spec has moved to close these gaps. Since [2025-06-18](https://modelcontextprotocol.io/specification/2025-06-18/basic/authorization), it has required PKCE and audience checks and forbidden token passthrough, and [2025-11-25](https://modelcontextprotocol.io/specification/2025-11-25/basic/authorization) made clients use the S256 PKCE method whenever they can. Version [2026-07-28](https://modelcontextprotocol.io/specification/2026-07-28/changelog) deprecates dynamic client registration. But a spec only protects servers that adopt it. ## Commerce: discovery, not checkout (yet) If you sell things, the numbers are encouraging and humbling at once. - **Traffic is growing.** Adobe Analytics reports AI-referred traffic to US retail sites [rose 693.4% year on year in the 2025 holiday season](https://news.adobe.com/news/2026/01/adobe-holiday-shopping-season) (7 Jan 2026). In Q1 2026 it [rose 393%](https://techcrunch.com/2026/04/16/ai-traffic-to-us-retailers-rose-393-in-q1-and-its-boosting-their-revenue-too/), and in March 2026 it converted 42% better than other traffic. - **In-chat checkout disappointed.** Walmart's in-ChatGPT checkout converted at about one-third the rate of click-throughs to Walmart.com, as [reported by Search Engine Land](https://searchengineland.com/walmart-chatgpt-checkout-converted-worse-472071) (Mar 2026), citing Daniel Danker in WIRED. - **OpenAI changed course.** In March 2026 it deprioritized Instant Checkout. Merchants now use their own checkout, and its commerce protocol is used for product discovery, according to [OpenAI's announcement](https://openai.com/index/powering-product-discovery-in-chatgpt/) as seen in search results. - **Big brands say the same.** Etsy told [Retail Dive](https://www.retaildive.com/news/etsy-debuts-chatgpt-app-ai-conversational-search/820083/) (14 May 2026) that shoppers used ChatGPT to learn about products, then came to Etsy to buy. Expedia's CEO said on its [Q1 2026 call](https://www.fool.com/earnings/call-transcripts/2026/05/08/expedia-expe-q1-2026-earnings-call-transcript/) (7 May 2026) that AI-channel traffic and bookings are still small, but the mix of new users, conversion and order size is encouraging. ## What this means for a business deciding now Here's the honest caveat first: none of these numbers says an app will bring you customers. Being in a directory isn't a promise that an assistant will recommend you. What the numbers do say: - **The protocol question is settled.** OpenAI, Google, Microsoft and Anthropic all support MCP, and a neutral foundation runs it. You're not betting on one vendor. - **The audience is large.** ChatGPT alone reports 1.2 billion weekly users. - **The open lists are crowded; the reviewed ones aren't.** More than 100,000 servers sit in the largest community index. Claude's reviewed directory shows 973. A reviewed listing has far fewer neighbours. - **Quality decides the outcome.** Benchmarks show agents failing about half of MCP tasks, and the Terminal Agents study shows MCP tools doing worse than a browser when they're generic. A bad app can be worse than no app. - **Security is the price of entry.** Use OAuth, a current spec version and sign-in on anything private. Many servers today don't. - **Measure before you trust it.** In our own staging test on one site with synthetic data (a small sample), the first app we generated for an HTML-only site passed 0 of 6 tasks while the website passed 6 of 6. After we added page-reading tools, one launch passed 3 of 3 tasks on both. Only a side-by-side test told us which was true. A short checklist if you're starting now: 1. List the five or so jobs customers ask you to do most. 2. Check how AI agents handle those jobs on your website today. 3. Build tools for those jobs only, with reads and writes split. 4. Set the annotations both directories require. 5. Host it on your domain with OAuth through your existing sign-in. 6. Test the app against the website, several runs per task, and only submit when the app passes at least as many. Transica does steps 3 to 6: it turns your API spec, what AI agents observe on your site, or an existing MCP server into tools you approve, checks them against ChatGPT's and Claude's published rules, hosts them on your domain, checks connected servers' tools every 6 hours, and runs side-by-side AI agent tests with exact pass counts. To go deeper, read our guides to [the ChatGPT app directory](https://transica.dev/guides/chatgpt-app-directory), [the Claude connectors directory](https://transica.dev/guides/claude-connectors-directory), [MCP server hosting](https://transica.dev/guides/mcp-server-hosting), [turning your API into an MCP server](https://transica.dev/guides/turn-your-api-into-an-mcp-server) and [managing your AI app listings](https://transica.dev/guides/manage-ai-app-listings). Or start with step 2: a [free scan of your page](https://transica.dev/#scan), no account needed. --- # MCP tool design: best practices from the directory rules and the research Source: https://transica.dev/blog/mcp-tool-design-best-practices · Published 2026-10-17 > Eleven practices for MCP tools that AI agents pick correctly and the ChatGPT and Claude directories accept, drawn from OpenAI's and Anthropic's published rules, the MCP spec and the research, with every outside number linked to its source. An AI agent can only use your product as well as your tools let it. Hand it 300 vaguely named endpoints and it guesses. Hand it six clear tools and it gets on with the job. This post collects what the directory rules, the MCP spec and the published research say about designing MCP tools. Every outside number links to its source. Where a figure comes from secondary reporting rather than the original, we say so. ## Start with the uncomfortable result An MCP server isn't automatically better than your website. A paper called [Terminal Agents Suffice for Enterprise Automation](https://arxiv.org/html/2604.00073) (31 Mar 2026, updated 14 Oct 2026) ran AI agents on 729 tasks across ServiceNow, GitLab and ERPNext. It gave each model three ways in: MCP tools, a web browser, or a terminal that calls the APIs directly. The MCP tool agent came last for every model. | Model | MCP tool agent | Web browser agent | Terminal/API agent | |---|---|---|---| | Claude Sonnet 4.6 | 32.9%, $0.51 | 72.2%, $3.29 | 72.7%, $0.56 | | Claude Opus 4.6 | 39.2%, $0.58 | 79.9%, $3.97 | 78.7%, $1.22 | | Gemini 3.1 Pro | 37.1%, $0.11 | 68.9%, $0.69 | 77.5%, $0.09 | Success rate and cost per task for three of the four models in Table 2 of the paper. Look at the terminal column. Agents calling the same systems' APIs directly came within about a point of the browser or beat it, at a fraction of the cost. So structured access can work very well. An older study points the same way: in [Beyond Browsing](https://arxiv.org/html/2410.16464v3) (Song et al., ACL Findings 2025), a GPT-4o agent finished 14.8% of WebArena tasks by browsing, 29.2% through APIs only and 38.9% with both. Our reading: the protocol isn't the problem. The tools are. A generic set of tools can do worse than a browser, and a good set can do much better. We saw this ourselves. In our own staging test on one site with synthetic data (a small sample), a site that was HTML-only first got an app that passed 0 of 6 tasks, against 6 of 6 on the website. That result is why we built page-reading tools. After that change, one launch went from start to hosted in 3 min 26 s and passed 3 of 3 tasks both ways. Here's what the rules and the research say about getting the tools right. ## The practices ### 1. Build a few workflow tools, not one per endpoint Anthropic's engineering guide, [Writing effective tools for agents](https://www.anthropic.com/engineering/writing-tools-for-agents) (11 Sep 2025), says to build a few tools around high-impact workflows rather than wrapping every endpoint. Think in jobs, not routes. An AI agent helping a customer doesn't want `list_customers`, `get_customer`, `list_orders` and `get_order`. It wants one tool that finds an order from an email address or an order number and returns its status. Wrapping everything also costs money. In [Beyond Browsing](https://arxiv.org/html/2410.16464v3), API documentation in the prompt drove the cost per task to about $1.2 for the API agent, against about $0.1 for browsing. GitLab alone has 988 endpoints. ### 2. Keep the menu short Both big providers say the same thing: fewer tools at once. | Source | What it says | The number | |---|---|---| | [OpenAI function calling guide](https://developers.openai.com/api/docs/guides/function-calling) (accessed 17 Oct 2026) | "Aim for fewer than 20 functions available at the start of a turn at any one time." A soft suggestion; use tool search for large sets. | Under 20 tools | | [Anthropic, advanced tool use](https://www.anthropic.com/engineering/advanced-tool-use) (24 Nov 2025) | Five MCP servers with 58 tools used about 55K tokens before any conversation started. | About 55K tokens | | Same Anthropic post | Tool Search cut context use by 85%. MCP eval accuracy rose from 49% to 74% for Opus 4 and from 79.5% to 88.1% for Opus 4.5. | 85% less context | | [RAG-MCP](https://arxiv.org/abs/2505.03275) (May 2025) | Retrieving tools before selection raised selection accuracy from 13.62% to 43.13% and cut prompt tokens by more than half. Retrieval still degrades with thousands of tools. | 13.62% to 43.13% | Tool search helps, but it's a workaround for a long list. A short list helps every client, including ones without tool search. Transica warns you from 25 tools and suggests what to merge. ### 3. Name tools as actions, and group them with a prefix OpenAI's [app submission guidelines](https://developers.openai.com/plugins/plugin-guidelines) (accessed 17 Oct 2026) require action-oriented names. Anthropic's [tool-writing guide](https://www.anthropic.com/engineering/writing-tools-for-agents) suggests grouping related tools under a shared prefix, so `orders_search` and `orders_cancel` sit together and an agent can tell them apart from `invoices_search`. The [MCP 2025-11-25 tools spec](https://modelcontextprotocol.io/specification/2025-11-25/server/tools) says tool names SHOULD be 1 to 128 characters, and that version's [changelog](https://modelcontextprotocol.io/specification/2025-11-25/changelog) added tool-name guidance (SEP-986). The current [2026-07-28 spec](https://modelcontextprotocol.io/specification/2026-07-28/changelog) adds that servers SHOULD return tools in a deterministic order. Keep your list in the same order every time. ### 4. Write descriptions for a reader who can't ask questions This is where most servers fall down. The paper [MCP Tool Descriptions Are Smelly!](https://arxiv.org/abs/2602.14878) (16 Feb 2026, revised 31 May 2026) checked 856 tools on 103 servers. - 97.1% of descriptions had at least one "smell". - 56% didn't state the tool's purpose clearly. - Improving the descriptions raised task success by a median of 5.85 points. Now the nuance. The improved descriptions also raised the number of steps by 67.46%, and 16.67% of cases got worse. Longer isn't automatically better. A description that rambles can send an agent down the wrong path as surely as one that says nothing. A related study, [From Docs to Descriptions](https://arxiv.org/abs/2602.18914) (Feb 2026), covered 10,831 servers and found that problems with functionality and accuracy hurt tool selection most. So write descriptions that are accurate first and short second: - Say what the tool does, in one sentence. - Say when to use it, and when to use a different tool instead. - Say what comes back. - State real limits: date ranges, page sizes, required formats. Then test the change. The smelly-descriptions result shows a rewrite can backfire. ### 5. Set every annotation, explicitly Annotations tell the assistant, the reviewer and the person what a tool does to their data. The two directories ask for different sets. | Rule | ChatGPT Directory | Claude Connectors Directory | |---|---|---| | `title` on each tool | Not in the cited rules | Required on every tool | | `readOnlyHint` | Required, set explicitly to true or false | Required: this or `destructiveHint` | | `destructiveHint` | Required, set explicitly to true or false | Required: this or `readOnlyHint` | | `openWorldHint` | Required, set explicitly to true or false | Not in the cited rules | | Tool names | Action-oriented | Not in the cited rules | | Sign-in | Reviewers need a demo account | OAuth 2.0 over HTTPS for authenticated services | | Data you may not collect | PCI, PHI, government IDs or credentials | Not in the cited rules | Sources: [OpenAI app submission guidelines](https://developers.openai.com/plugins/plugin-guidelines) and [Claude connector submission](https://claude.com/docs/connectors/building/submission), both accessed 17 Oct 2026. The simple rule: set `title`, `readOnlyHint`, `destructiveHint` and `openWorldHint` on every tool, and you satisfy both. One thing annotations are not: a security control. The [MCP tools spec](https://modelcontextprotocol.io/specification/2025-11-25/server/tools) says clients MUST treat annotations as untrusted unless the server is trusted. They're a promise to reviewers and people. Keep it honest. ### 6. Split reads from writes A tool that both looks something up and changes it can't honestly say `readOnlyHint: true`. So it loses the one label that tells everyone it's safe to call. Split them. `bookings_search` reads. `bookings_create` writes. The read tool can be marked read-only and used freely. The write tool carries `destructiveHint` where it applies, and you decide whether it ships at all. That's how Transica proposes tools: reads come ticked, writes are left for you to approve, and high-risk operations are left out until you choose them. ### 7. Return less, and let the agent ask for more Every token a tool returns sits in the agent's context and pushes out something else. - Anthropic's [guide](https://www.anthropic.com/engineering/writing-tools-for-agents) suggests offering a concise or a detailed response. In its example, the concise one used 72 tokens against 206. - Claude Code caps tool responses at 25,000 tokens by default, per the same guide. - The [MCP 2025-06-18 spec](https://modelcontextprotocol.io/specification/2025-06-18/changelog) added structured tool output, so you can return typed data instead of a wall of text. - If you show results visually in ChatGPT, OpenAI's [UI guidelines](https://developers.openai.com/plugins/concepts/ui-guidelines) (accessed 17 Oct 2026) allow at most two actions on a card, 3 to 8 items in a carousel, and no nested scrolling or deep navigation. In practice: page your results, return IDs with short summaries, and add a `detail` option for when the agent really needs the full record. ### 8. Make errors say what to do next Anthropic's [guide](https://www.anthropic.com/engineering/writing-tools-for-agents) says to write error messages that suggest the fix. The [MCP tools spec](https://modelcontextprotocol.io/specification/2025-11-25/server/tools) says input validation errors go back as tool errors, so the model can correct itself and try again. | Unhelpful | Helpful | |---|---| | `400 Bad Request` | `date must be YYYY-MM-DD, for example 2026-10-17. You sent 17/10/2026.` | | `Not found` | `No order matches 4471. Order numbers have 6 digits. Try orders_search with the customer's email.` | | `Unauthorized` | `This account can't see invoices. Ask the person to sign in with an admin account.` | Give the agent something to work with, and it can correct its own call instead of stopping. ### 9. Use OAuth the way the current spec says The MCP spec has tightened sign-in across three versions since June 2025. | Spec version | What changed for sign-in | |---|---| | [2025-06-18](https://modelcontextprotocol.io/specification/2025-06-18/changelog) | MCP servers are OAuth resource servers with protected resource metadata. Clients MUST use resource indicators (RFC 8707). | | [2025-11-25](https://modelcontextprotocol.io/specification/2025-11-25/changelog) | Client ID Metadata Documents become the recommended registration method; dynamic client registration drops to MAY. Metadata aligns with RFC 9728. Adds incremental scope consent and OpenID Connect discovery. | | [2025-11-25 authorization](https://modelcontextprotocol.io/specification/2025-11-25/basic/authorization) | PKCE is required, using S256 whenever the client can. Servers MUST validate the token audience, and token passthrough is forbidden (both carried over from 2025-06-18). | | [2026-07-28](https://modelcontextprotocol.io/specification/2026-07-28/changelog) (current) | The protocol is stateless: no initialize handshake or session IDs. Dynamic client registration is formally deprecated. Clients MUST validate `iss` (RFC 9207) when it's returned. | Claude's [directory](https://claude.com/docs/connectors/building/submission) requires OAuth 2.0 over HTTPS for authenticated services, using dynamic client registration, client ID metadata documents or Anthropic-held credentials. Most servers aren't there yet. [Astrix](https://astrix.security/learn/blog/state-of-mcp-server-security-2025/) reported, in a 2025 study of more than 5,200 open-source servers, that 88% need credentials, 53% use long-lived static keys or personal access tokens, and 8.5% use OAuth. Don't build your own login. Transica hosts your server on your domain and signs people in through the sign-in provider you already use. ### 10. Treat your tools as an attack surface Tool descriptions go straight into the model's context. That makes them a target. - **Tool poisoning.** Invariant Labs [disclosed the attack](https://invariantlabs.ai/blog/mcp-security-notification) on 1 Apr 2025, with a proof of concept against Cursor. The idea: instructions hidden in a tool description steer the agent. - **MCPTox.** According to the [MCPTox paper](https://arxiv.org/abs/2508.14925) (Aug 2025, AAAI), which tested 45 live servers, 353 tools and 20 agents, attacks succeeded 36.5% of the time on average and 72.8% against o1-mini. Even the most cautious agent refused less than 3% of the time. Exposure is the other half. Here's what three scans found. | Who scanned | What they looked at | What they found | |---|---|---| | [Wiz](https://wiz.io/blog/the-risk-hiding-behind-exposed-mcp-servers) (28 Jul 2026) | Cloud environments | About 1 in 6 cloud environments that use MCP expose at least one MCP server. About 70% of exposed servers return their full tool list to an anonymous caller, and about 42% return real data when a tool is called. Nearly all run spec 2024-11-05, which predates MCP auth. | | [Knostic](https://knostic.ai/blog/mapping-mcp-servers-study) (17 Jul 2025) | Internet-exposed servers | 1,862 found. All 119 checked by hand listed their tools without authentication. | | [Astrix](https://astrix.security/learn/blog/state-of-mcp-server-security-2025/) (15 Oct 2025) | 5,200+ open-source servers | 53% use long-lived static keys or personal access tokens. | What to do about it: - Require sign-in for tool calls that touch private data, and think hard before listing tools to anonymous callers. - Move off 2024-11-05. It predates MCP auth. - Watch your own tool list. A description that changes overnight is worth knowing about. Transica checks connected servers' tools every 6 hours. ### 11. Test with realistic tasks, several times each Anthropic's [guide](https://www.anthropic.com/engineering/writing-tools-for-agents) ends where you should start: evaluate with realistic tasks. Not "call `get_order` with ID 1", but "a customer says their parcel hasn't arrived; find out why". Run each task more than once, because the same agent can take a different path each time. Count passes. Compare the app against your website, so you know the app actually helps. It doesn't have to be slow or expensive. In our own staging test on one site with synthetic data (a small sample), 15 signed-in browser runs (3 tasks × 5) took 1,010 s and 190 steps in total, with $0.090 of model cost. ## What this means for you: a checklist Before you submit to a directory, check each of these: - You have a handful of tools built around jobs people ask for, not one per endpoint. - You have fewer than 20 tools, or a clear reason for more. - Every name starts with a verb or a shared prefix, and the list comes back in the same order each time. - Every description says what the tool does, when to use it and what it returns, and you tested that the rewrite helped. - Every tool has `title`, `readOnlyHint`, `destructiveHint` and `openWorldHint` set explicitly. - No tool both reads and writes. - Responses are paged and short by default, with a way to ask for detail. - Errors say what was wrong and how to fix it. - Sign-in uses OAuth with PKCE, validates the token audience and never passes tokens through. - Your server is on a current spec version, and anonymous callers can't read private data. - You ran realistic tasks several times through your app and your website, and the app passed at least as many. ## How Transica fits Transica turns your API spec, what AI agents observe on your site, or an existing MCP server into tools you approve. Reads come ticked, writes wait for your approval, high-risk operations stay out, and we warn you from 25 tools. We write titles and annotations, check them against ChatGPT's and Claude's published rules, host the server on your domain with OAuth through your existing sign-in provider, and run AI agent tests that compare your website and your app with exact pass counts. Approval doesn't guarantee a listing; that's the directories' call. For the details, read our guides to [turning your API into an MCP server](https://transica.dev/guides/turn-your-api-into-an-mcp-server), [the ChatGPT app directory](https://transica.dev/guides/chatgpt-app-directory), [the Claude connectors directory](https://transica.dev/guides/claude-connectors-directory), [MCP server hosting](https://transica.dev/guides/mcp-server-hosting) and [managing your AI app listings](https://transica.dev/guides/manage-ai-app-listings). Or start with a [free scan of your page](https://transica.dev/#scan) to see how AI agents read it today. --- # What's a live app? Hosting your MCP app on your own domain, behind your sign-in Source: https://transica.dev/blog/what-is-a-live-app · Published 2026-10-17 > About 70% of exposed MCP servers hand their tool list to anyone who asks. Here's what it takes to run an app ChatGPT and Claude can rely on: your domain, your sign-in, the 2026 auth rules, monitoring, and what we handle for you. Building an app that AI agents can use is one job. Keeping it running, secure and tied to your customers' accounts is another, and it's the one most teams underestimate. On Transica, that second job is what we call a **live app**. ## The short version A live app is your MCP app, hosted by us, served from an address on your own domain (for example `mcp.yourcompany.com`), where people sign in with the account they already have with you. We keep it up, keep it secure, watch it, and show you how it's used. ## Why hosting is harder than it looks An MCP server that works on a laptop is a weekend project. One that ChatGPT's 1.2 billion weekly users ([Engadget](https://www.engadget.com/2271985/openai-dev-day-live-blog-chatgpt-news/)) could reach, on your brand, with their accounts behind it, is a different thing. Security researchers have been scanning the internet for MCP servers, and the results aren't pretty: | Study | What they found | |---|---| | [Wiz](https://wiz.io/blog/the-risk-hiding-behind-exposed-mcp-servers), July 2026 | About 1 in 6 cloud environments that use MCP expose at least one MCP server. About 70% of exposed servers return their full tool list to an anonymous caller, and about 42% return real data when a tool is called. Nearly all ran a 2024 protocol version that predates MCP's sign-in rules. | | [Knostic](https://knostic.ai/blog/mapping-mcp-servers-study), 2025 | Found 1,862 internet-exposed servers; all 119 checked by hand listed their tools without any sign-in. | | [Astrix](https://astrix.security/learn/blog/state-of-mcp-server-security-2025/), 2025 | Of 5,200+ open-source servers, 88% need credentials, but 53% rely on long-lived static keys and only 8.5% use OAuth. | The lesson isn't that MCP is unsafe. It's that a server stood up quickly, with a shared API key and no proper sign-in, is easy to get wrong. A live app is built so you don't have to. ## Why your own domain Directories and assistants show people where an app comes from. If it lives at your domain, it's clearly yours. That matters for trust, and for review: [Anthropic says](https://claude.com/docs/connectors/building/review-criteria) your MCP server's domain should match your service, and [OpenAI asks](https://developers.openai.com/plugins/deploy/submission) you to prove you own it by serving a token at `/.well-known/openai-apps-challenge`. It also keeps you in control. If you ever leave, the address stays yours to point somewhere else. With Transica you add one DNS record to connect the domain, and we check you own it before anything goes live. ## Why your existing sign-in Most useful apps act on someone's account: "show my invoices", "reschedule my appointment", "what's my order status". That needs the person to sign in, and you already have a way for them to do that. Here's what happens when someone connects your app in ChatGPT or Claude: 1. They pick your app and click connect. 2. They land on your branded page and sign in with the provider you already use (Auth0, Clerk, WorkOS, Descope, Amazon Cognito, Better Auth or another OpenID Connect provider). 3. They see which tools need their account and approve access. 4. The assistant gets a token scoped to your app, and only for the tools that need it. We don't create a second set of user accounts. Passwords stay with your sign-in provider. ## The sign-in rules changed, twice MCP's authorisation rules have moved quickly, and both directories expect current ones: | Spec version | What changed | |---|---| | [2025-06-18](https://modelcontextprotocol.io/specification/2025-06-18/changelog) | MCP servers became OAuth resource servers with protected resource metadata; clients must use resource indicators so tokens are bound to your server. Servers must check each token was issued for them, and passing tokens through to another API is forbidden. | | [2025-11-25](https://modelcontextprotocol.io/specification/2025-11-25/changelog) | Client ID Metadata Documents became the recommended way for apps like ChatGPT and Claude to register, and dynamic registration became optional. Clients must use PKCE's S256 method when they can, and check the sign-in server supports PKCE before starting. | | [2026-07-28](https://modelcontextprotocol.io/specification/2026-07-28/changelog) | The protocol became stateless (no initialize handshake or session IDs); dynamic client registration formally deprecated; clients must check the issuer (`iss`) whenever the authorisation server includes it. | Keeping up with this is a job in itself. On Transica it's ours. Sign-in on a live app follows the 2026-07-28 authorisation rules, including Client ID Metadata Documents, PKCE, tokens bound to your app and issuer checks, and we track each new version as it lands. ## What you control - **Which tools exist.** You approve each one before it goes live. Reads are suggested, writes wait for your tick, and high-risk operations are left out. - **Who can use each tool.** Some can be open to anyone, like a public price lookup. Others need the person to sign in. ChatGPT [supports this mix directly](https://developers.openai.com/plugins/build/auth). - **How it looks.** Your name, logo and colour on the sign-in and consent pages. - **When it's on.** Turn a tool off, or the whole app. Turning hosting off also removes every AI app's access. ## What we handle | Job | What it means | |---|---| | Hosting | Your app at your address, with TLS and scaling. | | Sign-in | OAuth discovery, client registration, PKCE, consent and token checks, wired to your provider. | | Health checks | We check your app every 15 minutes and email you when something breaks. | | Tool changes | For servers you connect, we check the tools every 6 hours, save each change as a version, show the diff and rerun your tests. | | Usage | Every tool call, by AI app (ChatGPT, Claude, Cursor and others), with outcome and timing. | | Listing readiness | Checks against ChatGPT's and Claude's published rules, so you can [submit when you choose](https://transica.dev/blog/get-listed-in-chatgpt-and-claude). | What we record about calls is deliberately narrow: which tool, the outcome, timing and the AI app. We don't store argument values, results, tokens or IP addresses. ## Live app or do it yourself? | | Do it yourself | Live app on Transica | |---|---|---| | Server | Build, deploy and scale it | Built from your API and hosted | | Sign-in | Implement OAuth to the current MCP spec | Uses the provider you already have | | Domain | Configure DNS, TLS and verification | One DNS record; we verify | | Monitoring | Set up checks and alerts | Every 15 minutes, with email alerts | | Spec changes | Track and implement them | Handled | | Testing | Write your own | AI agents run your tasks on the site and the app | Doing it yourself is entirely possible. Plenty of teams will. A live app is for the teams who'd rather spend that time on their product. ## The limits A live app isn't a guarantee that assistants will use it, and each directory still decides for itself whether to list it. What it gives you is an app that works, on your domain, for the people who sign in, and that you hear about first when it doesn't. ## What this means for you 1. **Don't ship a public MCP server with a shared key.** Use OAuth, scoped to your server. 2. **Put it on your domain.** Both directories effectively expect it. 3. **Watch it.** A listing stays up when your server goes down; calls just fail. 4. **Keep up with the spec,** or pick someone who will. Read our [MCP hosting guide](https://transica.dev/guides/mcp-server-hosting) for the details, see [pricing](https://transica.dev/pricing) for the plans, or [contact us](https://transica.dev/contact) with questions. --- # Why AI agents trip up on websites, and what an app changes Source: https://transica.dev/blog/why-ai-agents-trip-up-on-websites · Published 2026-10-17 > Browser agents went from 14% to around 60–70% on the standard benchmarks in under three years, but they're still slower, costlier and flakier than people. Here's what the research shows, and when an MCP app actually helps. Picture an AI assistant asked to find the price of your premium plan. It opens your pricing page. A spinner turns while JavaScript loads the table. A cookie banner covers the "Buy" button. The annual price sits behind a toggle that needs a click the agent doesn't think to make. It reports the monthly price, or gives up. None of this is exotic. It's how most websites are built, for people with eyes and a mouse. And it's why an AI that can write a sonnet still struggles to buy a pair of shoes. This post looks at what the research says about AI agents using websites, where they get stuck, and what changes when you give them an app (an MCP server) instead. It includes one finding that should make anyone selling "just add MCP" a little nervous. ## How good are browser agents, really? Researchers measure web agents on benchmarks: hundreds of realistic tasks on real or replica websites, graded automatically. The best known is WebArena, which runs copies of a shop, a forum, a code host and a content management system, plus tools such as a map. | When | Agent | WebArena success | Humans | |---|---|---|---| | July 2023 | Best GPT-4 agent in the [original paper](https://arxiv.org/abs/2307.13854) | 14.41% | 78.24% | | January 2025 | OpenAI's computer-using agent behind Operator, as reported by [The Decoder](https://the-decoder.com/openais-operator-and-computer-using-agent-bring-autonomous-ai-agents-closer-to-reality/) and [ZBrain](https://zbrain.ai/cua-models/) | 58.1% | 78.2% | | February 2026 | OpAgent, a research system ([paper](https://arxiv.org/abs/2602.13559)) | 71.6% | 78.2% | That's real progress: from one task in seven to roughly seven in ten in under three years. The same story shows up on OSWorld, which tests agents on a whole computer, not just a browser: | When | Agent | OSWorld success | |---|---|---| | October 2024 | Claude 3.5 Sonnet, screenshots only ([Anthropic](https://www.anthropic.com/news/3-5-models-and-computer-use)) | 14.9% | | January 2025 | OpenAI's computer-using agent, as reported by [The Decoder](https://the-decoder.com/openais-operator-and-computer-using-agent-bring-autonomous-ai-agents-closer-to-reality/) and [InfoQ](https://www.infoq.com/news/2025/02/openai-operator-release) | 38.1% | | September 2025 | Claude Sonnet 4.5, OSWorld-Verified ([Anthropic](https://www.anthropic.com/news/claude-sonnet-4-5)) | 61.4% | | Baseline | People ([OSWorld](https://osworld-v1.xlang.ai/)) | 72.36% | So should you relax and let the agents figure out your site? Not yet, for three reasons. ### 1. Lab scores are higher than real-world scores Benchmarks are tidy. The live web isn't. When researchers re-ran agents on 300 live tasks and graded them by hand ([Online-Mind2Web](https://arxiv.org/abs/2504.01382)), Operator succeeded on about 61%, and most other agents did worse than a simple 2024 baseline. A separate re-check put Operator at 68.6% on WebVoyager, against the 87% originally reported ([Emergence](https://arxiv.org/abs/2603.29020)). On REAL, a benchmark built from deterministic copies of 11 popular websites, frontier models reached "at most 41%", according to its [authors](https://arxiv.org/abs/2504.11543). ### 2. Agents are slow and wasteful A study of 16 computer-use agents ([OSWorld-Human](https://arxiv.org/abs/2506.16042)) found they take "tens of minutes" on tasks people finish in a few minutes. Even the best used 2.7 to 4.3 times more steps than needed, and later steps could take three times longer than early ones as the context piled up. Every extra step is another screenshot, another model call and another chance to click the wrong thing. ### 3. Your site isn't the benchmark Benchmarks use a handful of well-behaved sites. Yours has its own cookie banner, its own date picker and its own sign-in flow. An agent that scores 70% on average can score zero on your checkout if one control confuses it. ## Where agents get stuck From our own agent tests and the research, the same culprits come up again and again: - **Content that arrives late.** If the text isn't in the page when it loads, an agent that doesn't wait, or doesn't run scripts, reads an empty shell. - **Controls made for hands.** A "button" that's really a styled `div`, a slider you drag, a menu that opens on hover. - **Walls.** Verification screens, pop-ups and sign-in pages that assume a person is typing. - **Ambiguity.** Three buttons that all say "Continue". A form field with no label. - **Hidden traps.** Elements that people can't see but agents can, such as off-screen links or transparent buttons. - **Slow starts.** A server that takes 20 seconds to wake up looks, to an agent, like a site that's down. ## What an app changes An MCP app skips the page altogether. Instead of asking an agent to figure out your site, you hand it a short menu: `search_products`, `get_price`, `create_booking`. Each tool has a name, a plain description and defined inputs. The agent calls the tool and gets data back. The best direct evidence comes from Carnegie Mellon's [Beyond Browsing](https://arxiv.org/html/2410.16464v3) study, which gave the same model the same WebArena tasks three ways: | Approach | Success rate | Average steps | Cost per task | |---|---|---|---| | Browsing only | 14.8% | 8.4 | about $0.10 | | API calls only | 29.2% | 7.8 | about $1.20 | | API plus browsing | 38.9% | 8.5 | about $1.40 | On the code-hosting site, success went from 12.8% browsing to 43.9% through the API. On the map site, from 20.2% to 45.4%. Notice the cost column, though. The API agent was more expensive, because the researchers stuffed full API documentation into every prompt (the code host alone had 988 endpoints). That's the lesson in one table: direct access wins, but only if you hand the agent a focused menu, not your whole API reference. ## The finding that should worry "just add MCP" pitches In 2026, researchers compared three kinds of agents on 729 enterprise tasks across ServiceNow, GitLab and ERPNext ([Terminal Agents Suffice for Enterprise Automation](https://arxiv.org/html/2604.00073)): | Model | Generic MCP tools | Web browser | Terminal and API | |---|---|---|---| | Claude Sonnet 4.6 | 32.9% ($0.51) | 72.2% ($3.29) | 72.7% ($0.56) | | Claude Opus 4.6 | 39.2% ($0.58) | 79.9% ($3.97) | 78.7% ($1.22) | | Gemini 3.1 Pro | 37.1% ($0.11) | 68.9% ($0.69) | 77.5% ($0.09) | The agents using off-the-shelf MCP tools did worst, by a wide margin. Direct API access came within about a point of the browser or beat it, at a fraction of the cost. We think that's exactly right, and it's the most important thing to understand before you build an app. **An MCP server isn't automatically better than your website. A good one is.** The difference is the tools: whether they map to the jobs people actually ask for, whether their descriptions are clear, and whether they return what the agent needs in one call. Other research points the same way. A study of 856 tools across 103 MCP servers found that 97.1% of tool descriptions had at least one quality problem, and 56% didn't clearly say what the tool was for ([MCP Tool Descriptions Are Smelly!](https://arxiv.org/abs/2602.14878)). ## What we've seen in our own tests We run the same tasks on a website and through its app, several times each, and count passes. Our numbers so far come from staging tests on one site with synthetic data, so treat them as illustrations, not benchmarks: - **A bad app loses to the website.** Our first app for a site whose content lived mostly in HTML pages passed **0 of 6** tasks, while the browser agent passed **6 of 6**. The app had one read tool and nothing that could read the pages people actually used. That result is why we built page-reading tools. - **A good app matches it, quickly.** After that change, one launch went from start to hosted in 3 minutes 26 seconds and passed **3 of 3** tasks through the app and **3 of 3** on the website. - **Browsers cost time.** Fifteen signed-in browser runs (3 tasks, 5 times each) took 1,010 seconds and 190 steps in total, about 67 seconds and 13 steps per run, for $0.090 of model cost. Small samples. But they show why we insist on testing both ways before anyone claims an app is better. ## What this means for you 1. **Don't assume agents can use your site.** Run one through your most important journey and watch where it stops. 2. **Fix the cheap things on the website.** Real buttons, labelled fields, content in the HTML, no hidden traps. People benefit too. 3. **Build an app around jobs, not endpoints.** Five tools people need beat fifty that mirror your API. 4. **Measure, don't guess.** Run the same tasks on the website and through the app, several times each, and compare passes, time and cost. 5. **Keep the website.** An app doesn't replace it, and building one doesn't make an AI assistant recommend you. It gives agents a reliable way to do things for people who've already asked. ## Try it on your own site On Transica, an agent test sends an AI agent through tasks on your site while we record what it saw and where it got stuck. A comparison runs the same tasks through your app and reports exact pass counts and times, for example "4 of 5 runs passed", never a vague score. The [methodology](https://transica.dev/methodology) explains how we grade. To build the app itself, start with our guide to [turning your API into an MCP server](https://transica.dev/guides/turn-your-api-into-an-mcp-server). Or begin with a free [page scan](https://transica.dev/#scan): no account needed.