MemoryRouter / Documentation
ChatGPT
Connect MemoryRouter to ChatGPT in Developer mode, with current plugin, OAuth, scope, vault, and publication boundaries.
MemoryRouter connects to ChatGPT through the remote MCP server. Your selected MemoryRouter vault can also be used from Claude, Cowork, Claude Code, Codex, and other supported clients.
This is not the Codex integration and not a GPT Action. Codex uses a separate package and hooks. GPT Actions use a different OpenAPI-based mechanism. This page covers ordinary ChatGPT web conversations using a remote MCP connection.
The local plugin candidate is version 1.1.0. The current package schema is documented and validated locally, but MemoryRouter has not been submitted, approved, published, or listed in the universal Plugins Directory. The usable path today is a manual Developer mode MCP connection.
Prerequisites
- A MemoryRouter account and access to the vault you will connect.
- ChatGPT web with Developer mode/custom MCP access enabled for your plan and workspace.
- Permission to authorize a remote connector. No OpenAI API key is required for this path.
Setup in Developer mode
Current OpenAI documentation lists Pro, Plus, Business, Enterprise, and Education accounts on ChatGPT web. Workspace policy can still block Developer mode.
-
In ChatGPT, open Settings → Security and login.
-
Enable Developer mode.
-
Open ChatGPT Plugins.
-
Select the plus button and create a developer-mode app with this public MCP URL:
https://mcp.memoryrouter.ai/mcp -
Review the discovered tools and their scopes. The complete live catalog is documented on the MCP server page.
-
Complete MemoryRouter OAuth and choose exactly one vault.
-
Start a new conversation, choose Developer mode from the plus menu, and add MemoryRouter.
You never paste a MemoryRouter API key into ChatGPT. Authentication uses OAuth authorization code flow, S256 PKCE, public-client registration, and a resource-bound token.
Plans and workspace controls
OpenAI's current Developer mode guide says all listed eligible plans can use read and write MCP tools. Write actions require host confirmation by default. Managed-workspace admins can still restrict Developer mode or plugin access.
If Developer mode or the plus button is missing, check the account plan and workspace policy before treating it as a MemoryRouter error. Test any claimed managed-workspace or desktop behavior in a real account.
What ChatGPT can do
Common tools are listed below. See the complete MCP catalog for date search and reflection tools as well.
| Tool | Scope | Purpose |
|---|---|---|
search_memories | memories:read | Semantic recall in the selected vault |
store_memory | memories:write | Save concise user-approved durable context |
memory_status | memories:read | Show opaque vault binding, counts, and scopes |
forget_all_memories | memories:delete | Delete the entire selected vault after exact confirmation |
search | memories:read | Legacy compatibility alias |
Read, write, and delete permissions are separate. The real ChatGPT consent flow still needs account testing to confirm whether a user can select an individual subset or whether the host requests a fixed set.
MemoryRouter does not expose fetch. Current OpenAI documentation requires standard search and fetch for Company Knowledge eligibility, not for ordinary Developer mode or plugin submission. MemoryRouter does not claim Company Knowledge support.
Cross-session proof
- Ask ChatGPT: "Store this synthetic test fact in MemoryRouter: the demo project's release phrase is ORCHID-7419."
- Approve the write and confirm that the
store_memorytool succeeded. - Open a fresh conversation, enable MemoryRouter, and ask: "Search MemoryRouter for the demo project's release phrase."
- Confirm the result contains
ORCHID-7419, without including it in the new question. Checkmemory_statusif recall targets the wrong vault.
Transfer what ChatGPT remembers
This guided transfer saves a reviewed summary, not a hidden export of ChatGPT's built-in memory or your complete chat archive.
- In ChatGPT, ask: "Draft a concise list of useful facts, preferences, and ongoing projects you can currently see about me. Do not save anything yet. Separate uncertain items and omit secrets."
- Review the draft. Correct outdated details and remove anything you do not want in the external vault. If relevant history is not visible in this chat, provide or select it explicitly; the connector cannot discover hidden chats.
- With MemoryRouter enabled, ask: "Save only this approved summary to MemoryRouter," followed by the reviewed text. Approve the write and check the receipt.
- Connect Claude or Cowork to the same vault. Open a new conversation and ask it to search MemoryRouter for one distinctive approved fact, without supplying the answer.
- Confirm the actual search result. This proves cross-AI access to the saved summary, not access to the original ChatGPT account.
Use ChatGPT archive import for a downloaded full-history archive. Use vault transfer for data already inside MemoryRouter. These are three different operations.
Model-directed behavior
ChatGPT decides when to call a MemoryRouter tool. There is no lifecycle hook that forces recall or capture on every turn.
In practice:
- Ask explicitly when you need recall:
Search my MemoryRouter vault for our pricing decision. - Ask explicitly when you want a save:
Remember that we chose vendor B. - Review the host confirmation before any write.
- Do not assume a search or save happened until the tool result confirms it.
- Connecting does not import or expose old ChatGPT conversations.
- Routine messages and full transcripts are not silently captured.
For deterministic coding-session hooks, see Claude Code or Codex.
Vault binding
One OAuth connection is bound to one vault, chosen at sign-in. To use a different strict project or organization boundary, disconnect and reconnect, then select another vault.
The tools do not accept a vault argument. This prevents the model from switching vaults inside a conversation. See vaults.
Separate from ChatGPT built-in memory
ChatGPT has its own built-in memory. MemoryRouter is a separate external vault, and both can be enabled at once. Connecting MemoryRouter does not read, import, or replace ChatGPT built-in memory.
Privacy and deletion
memory_statusreturns an opaque vault reference. It does not expose a raw Memory Key.store_memoryrequires explicit user request or approval plus the host write confirmation.forget_all_memoriesdeletes the whole selected vault, requiresmemories:delete, and requires the exact phraseDELETE ALL MEMORIES.- Per-memory deletion is available through the
delete_memoriestool (explicit user confirmation required) or in the dashboard. - Disconnecting ChatGPT does not delete the MemoryRouter account or vault contents.
See the privacy policy and terms.
Reflections
The Reflection Hierarchy works in ChatGPT through the shared MCP server:
consolidate_memories, commit_reflections, inspect_memory, and delete_memories are
live tools. Ask ChatGPT to consolidate your memories and it checks out a batch, writes the
reflections itself, and commits them. Search accepts tiers and importance filters. See
the MCP server page for the full flow.
Public Plugins Directory status
MemoryRouter is currently:
- available only through manual Developer mode setup under the documented host contract;
- not real-account verified in the current local build;
- not submitted;
- not approved;
- not published;
- not searchable in the Plugins Directory.
Public availability requires a verified publisher, Apps Management write access, a global-residency project, public website and support URLs, reviewer credentials, domain verification, Scan Tools, five positive and three negative tests, a demo recording, policy attestations, review, approval, and explicit publication.
Troubleshooting
Developer mode is missing. Confirm the plan is eligible on web and ask the workspace admin whether policy blocks it.
A write or delete tool is unavailable. The connection may lack the required scope, the tool may be disabled, or workspace policy may block the action. Review the connection and reconnect if needed.
ChatGPT says it has no memory of something. Ask it to use search_memories, then confirm with memory_status that the expected vault is connected.
You need a different vault. Disconnect and reconnect, then choose the other vault during OAuth.
Official OpenAI sources
Accessed 2026-08-05:
- https://developers.openai.com/api/docs/guides/developer-mode
- https://developers.openai.com/plugins/deploy/connect-chatgpt
- https://developers.openai.com/plugins/build/auth
- https://developers.openai.com/plugins/build/mcp-server
- https://developers.openai.com/plugins/deploy/submission