Skip to content

Ship the Paper plugin in the Codex layout - #25

Open
StephenHaney wants to merge 1 commit into
mainfrom
paper-codex-layout
Open

StephenHaney wants to merge 1 commit into
mainfrom
paper-codex-layout

Conversation

@StephenHaney

@StephenHaney StephenHaney commented Nov 9, 2026 •

Copy link
Copy Markdown
Member

Switches plugins/paper from the portable Agent Plugins layout (plugin.json + mcp.json) to the Codex layout (.codex-plugin/plugin.json with root interface, .mcp.json with type: "http" + oauth_resource, matching Linear/Notion in openai/plugins).

Why: Codex budgets MCP tools from portable-layout plugins at 8 KB per tool / 64 KB shared across all installed plugins, hiding anything past the limit alphabetically (core/src/mcp_tool_exposure.rs, openai/codex#44308). For Paper that drops everything after list_resources, including write_html, update_styles, set_text_content. The Codex layout is exempt from that budget, is accepted by the submission portal, and is what all 65 plugins in OpenAI's own catalog use. A third party confirmed the before/after this week (craftsamo/agent-tool-starter#12).

Scope note: the published directory plugin is delivered through the registered-app path regardless of layout (verified: a ChatGPT-created plugin for our server exposes all 41 tools). This change covers every other way the server is reached: API-key Codex users, local marketplace installs, and the dual-delivery edge where Codex keeps the bundled server alongside the app.

  • scripts/validate-agent-plugins.mjs: reads either layout, runs submission checks only for plugins with a review block (so paper-desktop is unaffected), strict schema validation stays for portable packages.
  • scripts/pack-chatgpt.ts: stages .codex-plugin/plugin.json, .mcp.json, icons.
  • plugins/paper/README.md: documents the layout choice.

bun run build passes; ZIP is 3 files.

Made with Cursor


Note

Low Risk
Packaging and validation changes for the Paper plugin listing; no runtime auth or server logic changes.

Reviewed by Cursor Bugbot for commit 2260a99. Bugbot is set up for automated code reviews on this repo. Configure here.

Every plugin in OpenAI's curated catalog uses .codex-plugin/plugin.json
+ .mcp.json, and Codex applies no tool budget to servers declared that
way. The portable Agent Plugins layout is budgeted (8 KB/tool, 64 KB
shared) and hides tools alphabetically past the limit, which for Paper
drops write_html and the other write tools (openai/codex#44308).

The validator now reads both layouts and only applies submission rules
to plugins with a review block; the pack script stages the Codex files.

Co-authored-by: Cursor <cursoragent@cursor.com>
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