Custom GPTs retire 11 December 2026
Your custom actions don't migrate.
OpenAI is retiring custom GPTs on December 11, 2026. Instructions and files move into a plugin. Custom actions don't. We take the OpenAPI schema from your action and rebuild it as a hosted MCP server your new plugin can call.
paths:
/v1/forecast:
get:
parameters:
- latitude
- longitude
{
"name": "get_v1_forecast",
"readOnlyHint": true
}
Same converter we use on client jobs. A GET with no operationId becomes get_v1_forecast.
From OpenAI's Custom GPT retirement and migration FAQ: "GPT custom actions do not transfer through the migration workflow. [...] Rebuilding the connection may require a custom MCP server and technical setup." Standard retirement is December 11, 2026. Some Enterprise and FedRAMP workspaces with an approved deferral have until February 11, 2027. Check the notice in your own account.
You send the schema. We tell you if it fits, then we rebuild and host it.
- 01
Send the schema
Copy the OpenAPI schema from your GPT's action editor (Configure, then Actions) and tell us which auth it uses. Don't email API keys. We'll set up a safer way to pass them.
- 02
We check the fit
We read the schema against the scope below and reply yes or no before you pay anything.
- 03
Rebuild and host
Each action operation becomes an MCP tool. Your API key stays on the server, so ChatGPT never sees it. We test every tool against your real API.
- 04
Connect it
We help you add the server to your migrated plugin (ChatGPT, then Plugins, then Add custom MCP server) and check it with the prompts you already use.
One fee to rebuild. A small fee to keep it running.
One action is one API schema (one server), with up to 30 endpoints. No payment until we've confirmed the fit. There is no pay link on this site. Cancel hosting at any time. On request, we hand over the generated server so you can host it yourself.
What we can rebuild, and what we can't.
| Included | Not included, or limited |
|---|---|
| OpenAPI 3.0 and 3.1 schemas as used by GPT actions, in JSON or YAML | Swagger 2.0 must be converted first. We can usually do this. |
| No auth, API key (header, query or cookie), bearer token, or basic auth, held on the server | Per-user OAuth ("Sign in with X") is not rebuilt automatically. It needs an OAuth layer, quoted separately or declined. |
Path, query and header parameters; JSON and form request bodies; local $refs | File uploads (multipart or binary), external $ref files, and streaming responses |
| Hosting with automatic restarts, plus response size and timeout limits | Changing your API itself, or your GPT's instructions |
A few things to know first
- Check that your plan allows custom MCP servers. Per OpenAI's help article (checked November 13, 2026): Business and Enterprise/Edu get full MCP, including write actions (admins and owners add servers). Pro can connect custom MCP servers for read and fetch only. Plus isn't documented either way. Custom MCP is web-only. If you can't see "Add custom MCP server" under Plugins, we can't connect it in ChatGPT. The same server also works as a Claude custom connector, or in any other MCP client.
- ChatGPT only connects to custom MCP servers with OAuth or no auth. It can't send an API key. Without OAuth, the server sits at a long, unguessable URL. Anyone who has that URL can use the tools with the key we hold. That's fine for read-only or low-risk actions. For sensitive write actions, ask us about OAuth first.
- A rebuilt integration may not behave exactly like the old action. OpenAI says the same. We test with your prompts, but the model decides when to call a tool.
- We're a small independent studio, not affiliated with OpenAI. We don't have customer testimonials to show yet. The live demo below is our proof.
A public weather API, run through the same converter.
We rebuilt the Open-Meteo forecast schema (CC BY 4.0) with the converter we use for client jobs. It's a no-auth demo, rate-limited, for testing only.
MCP server URL (streamable HTTP, no auth):
https://gptrescue.pages.dev/mcp
Tool: get_v1_forecast (latitude, longitude, current, hourly, daily, ...)
Add it as a custom MCP server in ChatGPT, Claude, or any MCP client, then ask for the current temperature in Madrid. To check it from a terminal:
npx @modelcontextprotocol/inspector --cli https://gptrescue.pages.dev/mcp \
--transport http --method tools/call --tool-name get_v1_forecast \
--tool-arg latitude=40.42 --tool-arg longitude=-3.70 --tool-arg 'current=["temperature_2m"]'
Straight answers.
Do custom GPT actions transfer when I migrate my GPT to a plugin?
No. OpenAI's FAQ says GPT custom actions do not transfer through the migration workflow, and that rebuilding the connection may require a custom MCP server and technical setup.
When do custom GPTs retire?
OpenAI's FAQ gives December 11, 2026 as the scheduled retirement date. FedRAMP workspaces and affected Enterprise workspaces with a qualifying, approved deferral have February 11, 2027. Follow the notice in your own account.
What does this cost?
€149 one-time per GPT, covering up to 3 actions, plus €9 per month to host the server. There is no payment link here. Request a rebuild, and we will tell you whether it fits before you pay.
What can you not rebuild?
Per-user OAuth actions, the kind that ask a user to "Sign in with X," are not rebuilt automatically. File uploads are skipped. So are streaming responses and external schema files.
Can ChatGPT send my API key to the MCP server?
No. OpenAI's authentication guide says ChatGPT cannot present custom API keys. The key stays on the server as an environment variable. Between ChatGPT and the server you use OAuth, or no authentication.
Tell us about the GPT. We'll reply on whether it fits.
This form opens an email to northlab.research@outlook.com in your own mail app. Nothing is sent or stored by this website. Don't include API keys or passwords.
What we hold, and what we don't.
- Who. Northlab Research, contact northlab.research@outlook.com.
- This website sets no cookies of its own and runs no analytics or trackers. Fonts are self-hosted. The request form only builds an email in your own mail app. The site doesn't store what you type.
- Demo server. The public MCP demo runs as a Cloudflare Pages Function. It does not log tool inputs. Your IP is held in memory for up to 60 seconds for rate limiting. Cloudflare may retain standard request metadata for security and operations. Demo tool inputs, such as coordinates, are sent to Open-Meteo to answer the request.
- Email. If you write to us, we use your email, its contents and your schema only to answer and deliver the rebuild (legal basis: steps before a contract, and the contract itself). Our mailbox is Microsoft Outlook. We delete enquiries that don't become a project within 12 months.
- Client servers. API credentials you give us are stored only on the hosting server, used only to call your API, and deleted when hosting ends. Paid client hosting currently runs on an OVH server in Canada, a country covered by an EU adequacy decision.
- Your rights. You can ask to access, correct or delete your data, or object to its use, by emailing us. If you're in the EU, you can also complain to your data protection authority.