Skip to content

fix(mcp): emit all three tool annotation hints for ChatGPT Apps - #141

Merged
windoze95 merged 1 commit into
mainfrom
fix/mcp-tool-annotation-hints
Jul 8, 2026
Merged

fix(mcp): emit all three tool annotation hints for ChatGPT Apps#141
windoze95 merged 1 commit into
mainfrom
fix/mcp-tool-annotation-hints

Conversation

@windoze95

Copy link
Copy Markdown
Owner

OpenAI's ChatGPT Apps submission requires readOnlyHint, openWorldHint, and destructiveHint present on every tool.

  • Adds destructiveHint:false to the 4 read-only tools (*bool).
  • Adds ensureReadOnlyHint middleware backfilling readOnlyHint:false on tools/list — the Go SDK drops it via omitempty. Streaming tool calls pass through untouched.

Full suite + new middleware tests (JSON, SSE, pass-through) green.

🤖 Generated with Claude Code

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

OpenAI's ChatGPT Apps submission requires readOnlyHint, openWorldHint, and destructiveHint to be present (true or false) on every tool. Two gaps:

1. The 4 read-only tools omitted destructiveHint — now set explicitly to false via the *bool field.

2. save_recipe's readOnlyHint:false was dropped: the Go SDK marshals ToolAnnotations.ReadOnlyHint with omitempty, so false never reaches the wire. Adds an ensureReadOnlyHint middleware that backfills the spec-default readOnlyHint:false into any tools/list annotations object missing it. Only tools/list responses are buffered/rewritten; streaming tool calls pass through untouched.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@windoze95
windoze95 force-pushed the fix/mcp-tool-annotation-hints branch from 3570f73 to 8ac9fda Compare July 8, 2026 03:32
@windoze95
windoze95 merged commit 46477cd into main Jul 8, 2026
1 check passed
@windoze95
windoze95 deleted the fix/mcp-tool-annotation-hints branch July 8, 2026 03:34
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