Skip to content

feat(codex): add plugins/codex — MCP config + AGENTS.md skill#4

Closed
PipDscvr wants to merge 1 commit intomainfrom
feat/codex-cli
Closed

feat(codex): add plugins/codex — MCP config + AGENTS.md skill#4
PipDscvr wants to merge 1 commit intomainfrom
feat/codex-cli

Conversation

@PipDscvr
Copy link
Copy Markdown
Collaborator

Summary

Codex CLI plugin — pure configuration, no runtime code:

  • config.toml.example — block users append to ~/.codex/config.toml to spawn @atomicmemory/mcp-server. Env mirrors SDK V3 scope keys (user / agent / namespace / thread).
  • AGENTS.md — skill body (when to search, when to ingest, what to skip) for pasting into a project or user AGENTS.md.
  • README.md — three-step install (register MCP → paste skill → verify) + pre-release status callout.

Matches the Claude Code plugin shape, adapted to Codex's config.toml surface. All memory semantics live in packages/mcp-server.

Test plan

  • Manual smoke: paste the config block into ~/.codex/config.toml, start codex, confirm atomicmemory shows as an available MCP server (blocked on SDK publishing to npm)
  • Config keys match packages/mcp-server/src/config.ts env var schema
  • Scope env vars match the SDK V3 Scope shape after PR fix: align scope + tokenBudget + role enum with SDK V3 surface #1

Codex CLI registers MCP servers via ~/.codex/config.toml rather than
a packaged plugin manifest, so this "plugin" is pure configuration:

- config.toml.example — the block users append to their Codex config
  to spawn @atomicmemory/mcp-server. Env mirrors the SDK V3 scope
  keys (user / agent / namespace / thread) with ATOMICMEMORY_SCOPE_*
  env vars, matching what mcp-server/src/config.ts expects.
- AGENTS.md — skill body (when to search, when to ingest, what to
  skip) for pasting into a project or user AGENTS.md file.
- README.md — three-step install (register, skill, verify) plus
  status: pre-release callout.

No runtime code — all memory semantics live in packages/mcp-server.
Matches the Claude Code plugin shape, adapted to Codex's config.toml
surface.
@PipDscvr
Copy link
Copy Markdown
Collaborator Author

Closing — Codex plugin was shipped with the wrong config.toml format. Real Codex plugins use .codex-plugin/plugin.json + .codex-mcp.json + a marketplace.json manifest (see mem0-plugin for reference). Redoing in the proper format.

@PipDscvr PipDscvr closed this Apr 21, 2026
@PipDscvr PipDscvr deleted the feat/codex-cli branch April 21, 2026 20:17
PipDscvr added a commit that referenced this pull request Apr 21, 2026
)

* feat(codex): rewrite plugin in proper Codex plugin format

Replaces the config.toml approach (PR #4, closed) with the actual
Codex plugin manifest shape used by the Codex plugin marketplace:

plugins/codex/
├── .codex-plugin/plugin.json   # Codex plugin manifest w/ interface
│                               # metadata (displayName, capabilities,
│                               # category, brandColor, defaultPrompt,
│                               # logo, links)
├── .codex-mcp.json             # MCP server spec — stdio via
│                               # `npx @atomicmemory/mcp-server`,
│                               # env mirrors SDK V3 scope keys
├── skills/atomicmemory/
│   └── SKILL.md                # memory protocol skill — on every
│                               # new task, after significant work,
│                               # before losing context
├── marketplace.example.json    # template for .agents/plugins/
│                               # marketplace.json (repo or user
│                               # level); users copy and point
│                               # source.path at this plugin dir
├── logo.svg                    # AtomicMem #3A60E4 icon
├── package.json                # workspace membership (private)
└── README.md

Three install options documented:
- Repo marketplace (recommended for teams)
- Personal marketplace (~/.agents/plugins/marketplace.json)
- Manual MCP config (skips the skill, just registers tools)

No runtime code — all memory semantics live in packages/mcp-server.
Matches the shape of mem0-plugin/.codex-plugin/ adapted for
AtomicMemory's pluggable provider model and scope semantics.

* fix(codex): use support@atomicmem.ai in plugin manifest

* fix(codex): use atomicmem.ai for homepage + websiteURL

* chore(codex): drop Mem0 positioning from plugin copy

Description and longDescription in .codex-plugin/plugin.json used
"swap between AtomicMemory and Mem0" as the pluggability pitch.
Replace with generic language about the SDK's MemoryProvider model
for alternative backends — same technical story, no third-party
name in the Codex marketplace listing.

Also drops the `# or "mem0"` comment from the ATOMICMEMORY_PROVIDER
export in README. The enum value still works — users who need it
can set it — but the README doesn't advertise it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant