The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the MemoStem listing page.
Your reviewed knowledge, across AI conversations.
Let a connected AI reuse your private, confirmed knowledge or notice knowledge worth keeping as the conversation unfolds. New material becomes a private draft only after you confirm—without uploading the whole conversation or publishing anything automatically.
Use MemoStem · Connection guide · Privacy · Terms · Support · Security
This public repository is the official distribution source for MemoStem's chat-host skills, plugin packages, and hosted remote MCP connection metadata. ChatGPT, Claude, Kimi, Gemini and Grok are the primary channels; Codex and Claude Code are compatible secondary channels. The MemoStem application and server implementation remain private. Distributable manifests, skills, examples, and documentation have no mirrored authoring copy in that private repository.
Select an explanation in ChatGPT and keep it in a private guest shelf. Connect your account to move it into private pending review, then review and approve it in MemoStem. Then ask Claude or another connected host to find that knowledge. Sign in to the same MemoStem account in each host; no host gets access to another host's conversation history.
| Intent | English | 한국어 |
|---|---|---|
| Save | Save this explanation of EUV lithography as one atomic memo draft. | 방금 설명한 EUV 노광 원리를 메모 초안 하나로 저장해 줘. |
| Retrieve | Find my approved MemoStem knowledge about EUV. | MemoStem에서 내가 승인한 EUV 지식을 찾아줘. |
| Select | Show candidates from the concepts we just discussed. | 방금 이야기한 개념 중 저장할 후보를 보여줘. |
Use ordinary requests in the host where MemoStem is installed. The skill routes by your intent; opening MemoStem alone does not save anything.
| What you want | Try saying | What should happen |
|---|---|---|
| Choose what to keep | “방금 설명한 개념 중 저장할 후보를 보여줘.” | Preview candidates, then save only your selection. |
| Save a named idea | “삼투압 원리를 메모 초안 하나로 저장해 줘.” | Save the selected idea once; no repeated consent question. |
| Reuse reviewed knowledge | “내가 승인한 EUV 지식으로 이번 질문에 답해 줘.” | Search your active confirmed knowledge and identify the sources used. |
| Practice in this chat | “내가 승인한 EUV 지식으로 한 문제씩 퀴즈를 내 줘.” | Retrieve the selected knowledge, ask one question at a time, and keep the exercise in chat. |
| Propose an improvement | “기존 삼투압 메모에 이 설명을 보완하는 초안을 만들어 줘.” | Prepare a complete pending proposal for your review. |
| Check a previous save | “방금 만든 초안이 아직 검토 대기인지 확인해 줘.” | Check the known batch when status permission is available. |
An in-chat quiz does not enroll knowledge in MemoStem practice or record a practice result. A proposed improvement takes effect only after you review it in MemoStem. On a failed or uncertain save, the skill preserves the original request identity so retrying does not intentionally create another copy.
The packaged skill includes focused guides for capture and selection, retrieval and study, and recovery and status. They are loaded when the request needs them. Both direct-MCP and ChatGPT web packages ship the same guides.
The direct-MCP package includes a static SessionStart hook at
hooks/hooks.json. In a compatible,
trusted Codex or Claude Code runtime, it reminds the assistant to use the
request-specific skill at startup, resume, clear, or compaction. It prints a
fixed context message using the runtime shell's printf; it reads no input
or files, calls no service, and saves no knowledge. It does not launch a tool
call or force a save offer.
Codex requires hook trust review before execution. The hook requires a shell
with printf; hosts without that command can use the skill without the hook.
The ChatGPT web package uses the skill guides and has no executable hook.
A plugin import or successful local command is not proof that a host loaded
or executed the hook. Proactive offers remain dependent on the host and the
current conversation.
See the official OpenAI plugin package guide, Codex hook reference, and Claude Code hook reference.
In an MCP Apps-capable host with a connected account, check candidates and click Add. That click creates only the selected private pending drafts; no second chat confirmation is needed. If the host shows a text list instead, reply with the candidates to keep. Then open Candidate Inbox to read, edit, and approve them. Previewing or adding drafts does not approve knowledge or enroll it in practice. The picker UI is served by the hosted MCP server; see the MCP Apps contract and host requirements.
See card examples and review steps.
The production Streamable HTTP MCP endpoint is:
For ChatGPT web, install MemoStem for ChatGPT (memostem-chatgpt) from this
marketplace. It references the registered MemoStem App and deliberately has no
mcp.json or .mcp.json, so it is not classified as Desktop only. The existing
memostem package remains the direct-MCP package for Codex, Claude Code, and
other compatible hosts. The public
MemoStem connection page explains the
privacy boundary and points signed-in users to the in-product setup guide.
MemoStem uses mixed, lazy authentication. Guest capture needs no account;
claiming the shelf or using protected tools starts OAuth. New ChatGPT
connections request openid, knowledge:drafts:create,
knowledge:context:read, and knowledge:drafts:status. Existing grants are not
upgraded automatically; disconnect and reconnect, or consent again, to add
read access. openid is used only for identity; the defaults exclude
profile, email, metadata scopes, and offline_access. GitHub publication
alone does not list or activate a ChatGPT plugin.
Add the same endpoint as a custom connector in Claude and complete MemoStem OAuth. Claude can also load the Git marketplace below for Claude Code and compatible plugin surfaces.
Import this repository with Kimi Work's Plugin Builder, install from Personal, and complete OAuth. Review the converted skill and MCP settings before use. See the Kimi guide. Marketplace approval is separate.
Use Gemini Apps → Connected Apps → Custom apps with the same MCP endpoint. Current access conditions include US location, age 18+, a personal account, English and Keep Activity enabled. See the Gemini guide.
Use Grok's Connectors → New Connector → Custom and complete authentication. See the Grok guide; this is the general-chat connector.
A custom MCP connection exposes server tools and instructions; it does not install this repository's SKILL.md. Plugin loading and proactive suggestions depend on the host. Channel availability requires actual account verification.
See the MCP connection guide for provider-specific setup and server-side OpenAI API usage.
MCP clients receive guidance to make one brief save offer at a
natural stopping point when the current conversation produces independently
teachable general knowledge: a concept, mechanism, general procedure,
comparison, evidence-backed claim, knowledge question, historical event, or
language expression. The installable plugin also includes an implicitly discoverable
memostem skill with the same behavior.
The offer sends nothing and is not consent. The client may call a creation tool only after a clear affirmative reply to that specific proposal or a direct request identifying the current-conversation material. Before account connection, that selection goes to the private guest shelf; after OAuth it becomes an owner-scoped private pending draft. It must not repeat a declined topic or propose sensitive, secret, credential, or do-not-retain material. AI hosts decide whether and when to surface MCP instructions, so a connection cannot guarantee an offer in every client.
Personal or company decisions, product policies, preferences, plans, tasks, meeting outcomes, and autobiographical facts are outside this capture contract. A direct request to save named eligible material already provides consent; the assistant should verify the connection and create the requested drafts. When MemoStem is explicitly invoked without named material and the current conversation has no eligible candidate, the installed skill may apply the same candidate, consent and draft flow to recent conversation context actually provided by the host. If that context is unavailable, it reports the limitation instead of fabricating a candidate. It never transfers the source transcript.
Complete sign-in and consent in the OAuth page, then start a new Codex task so the installed snapshot loads. In that task, ask:
Check my MemoStem connection, then save the general knowledge I selected in this conversation as concise atomic memo and question-and-answer drafts.
The plugin calls check_memostem_connection first and verifies the draft
permission, then calls create_knowledge_bundle_drafts. A successful login or
tool listing alone does not prove that any draft was created. The assistant
must report the server's actual pending count and review link. Browser forms
are not a substitute for this plugin path.
Install the web-specific package as memostem-chatgpt@memostem. Select
MemoStem for ChatGPT in a new conversation, then complete the MemoStem OAuth
connection. It is separate from the direct-MCP memostem package, which
ChatGPT correctly marks Desktop only. Installing a marketplace revision and
completing OAuth are separate steps; a development App remains in development
until its provider review and publishing process finishes.
Run /reload-plugins, then /mcp to inspect the connection and complete OAuth
when prompted.
Without an account, save_guest_knowledge_bundles keeps only specifically
selected current-conversation general knowledge in a private shelf of at most
ten cards for 90 days. Its opaque workspace_token is a private continuation
credential: clients reuse it as a tool argument and never display or log it.
The separate short-lived review_url opens a read-only view. At capacity,
claim_guest_knowledge_workspace starts OAuth and moves the same cards into
private pending review after consent. validate_knowledge_bundle and
preview_knowledge_bundle check one selected bundle without saving it.
start_memostem displays localized onboarding or owner topic labels;
connect_memostem starts read-scope OAuth when required. Neither creates a card.
check_memostem_connection: verify authentication and report granted scopes
without reading or writing knowledge.get_topic_context: with knowledge:context:read, retrieve only the
authenticated owner's knowledge. It defaults to active confirmed items;
callers may explicitly request active, pending, archived, superseded,
or recoverable trashed lifecycle states.list_knowledge_catalog: page through the owner's stable topic and tag IDs,
canonical names, aliases, and active item counts without returning card bodies.search_knowledge: search active approved, non-superseded owner knowledge;
exact matches rank before registered aliases and keyword matches.get_knowledge_context: retrieve canonical content, taxonomy, version, and
selector-only provenance for exactly the selected item IDs across topics.create_knowledge_bundle_drafts: create structured private drafts from a
specific suggestion the user confirmed, or material they directly asked to
save from the current conversation. Each bundle must use
knowledge_scope: "general_knowledge".review_knowledge_bundle_candidates: present a bounded candidate selection
before creation; an MCP Apps Add action or an explicit text selection passes
only the chosen candidates to draft creation.create_card_drafts: compatible concept-card draft creation.get_draft_batch_status: with knowledge:drafts:status, read whether each
submitted draft is still pending or was approved, merged, updated, or ignored
by the owner. The tool cannot execute those actions.Context packs use schema version 2 and label each item with its lifecycle and verification status. Pending items remain unconfirmed candidates; non-pending items are user-confirmed but not independently fact-checked. Explicit item selection fails as one non-leaky request if any ID belongs to another owner, is outside the requested lifecycle states, has expired from trash recovery, or was permanently deleted. No context response contains raw conversation history.
An optional resolution_proposal contains a complete proposed final card,
target version, source item IDs, change summary, and reason. It is never a
partial patch or a completed merge. Draft creation cannot approve knowledge, publish to the public graph, or retain
a conversation transcript. Question-and-answer cards use answered question
bundles; they do not automatically enroll in practice. See the
working payload example
and the complete connection and capture guide.
The plugin includes only memostem, which guides getting started and account
connection, explicit saves, consent-first suggestions, owner-scoped retrieval and
study, draft status, and save recovery through the available MemoStem tools.
Developer maintenance skills belong in the private application repository and
are excluded from every public plugin package.
server.json to the official
MCP Registry when a GitHub Release is published.plugins/memostem is also an Agent Plugins 1.0
package: root plugin.json, root mcp.json, and the same skills/ tree.
The portable MCP config uses streamable-http; existing Codex/Claude adapters
keep .mcp.json with http. OAuth discovery and credential storage belong to
the client. No token or OAuth credential is packaged.
Portable format validation does not establish support in any particular host.
Kimi's documented import route converts a source package; Gemini and Grok use
custom MCP connections. Existing Codex and Claude install names are unchanged.
plugins/memostem-chatgpt is the ChatGPT web counterpart: it has root
plugin.json, .app.json, and the same skill tree, but intentionally no
direct MCP declaration.
Edit skills only under plugins/memostem/skills, then run
npm run sync:skills to copy them into the ChatGPT web package; npm run check
fails when the two skill trees differ.
The dependency-free repository check validates both marketplaces, cross-platform
metadata, the complete skill trees, MCP Registry metadata, public/private
boundaries, symlinks, common secret patterns, and the versioned
contracts/mcp-compatibility.json contract.
That contract names mixed authentication, guest shelf limits, the endpoint,
OAuth scopes, required tools, MCP Apps
resource and action bindings, text fallback, and public fixtures that the private
application validates semantically against its real MCP schemas. It deliberately replaces byte-for-byte cross-repository copies.
Before releasing a public branch that changes the contract or its fixtures, a
MemoStem maintainer runs the private Public plugin compatibility workflow
with this branch name as public_plugin_ref. The workflow checks out this
repository temporarily; it does not copy plugin sources into the private Git
history.
For local Codex iteration, the plugin-creator cachebuster helper can append
+codex.<timestamp> to the Codex manifest version before reinstalling from a
local marketplace. Validation permits that Codex-only build suffix while
requiring the underlying release version to match the Claude and Registry
manifests. Start a fresh task after reinstalling so its tools and instructions
come from the new snapshot.
Only this repository is the public installation source. It contains manifests, instructions, static skills, and connection metadata—not the MemoStem web or mobile source, MCP implementation, authentication code, database schema, migrations, credentials, environment files, user data, or provider secrets.