Skip to content

Add get_profile tool (conforming with OpenAI ChatGPT Plugins standard) - #254

Closed
irvinebroque wants to merge 6 commits into
cloudflare:mainfrom
irvinebroque:bib/duplicate-connections
Closed

irvinebroque wants to merge 6 commits into
cloudflare:mainfrom
irvinebroque:bib/duplicate-connections

Conversation

@irvinebroque

@irvinebroque irvinebroque commented Oct 6, 2026 •

Copy link
Copy Markdown

Add authenticated, read-only get_profile discovery so clients recognize the same Cloudflare user or account across reconnects, token refresh, scope upgrades, and display changes.

Follow OpenAI's profile-tool guidance: publish the profile marker, strict empty input and profile output schemas, read-only annotations, and explicit OAuth identity scopes through the SDK-supported _meta.securitySchemes compatibility field.

CleanShot 2026-10-06 at 4 47 16 PM@2x

@irvinebroque irvinebroque changed the title Add stable authenticated profile discovery Add get_profile tool (conforming with OpenAI ChatGPT Plugins standard) Oct 6, 2026
Comment thread AGENTS.md Outdated
@mattzcarey

Copy link
Copy Markdown
Member

Thanks Brendan, this was a great push to follow OpenAI's profile-tool spec. I've redone it in #258 with a few changes:

  • Renamed to whoami. The API already has /accounts/{id}/profile, /user/billing/profile and /organizations/{id}/profile, so get_profile reads like one of the endpoint tools. ChatGPT finds the tool through _meta['openai/profile'], so the name doesn't matter to it.
  • The ID is the Cloudflare ID with a user: or account: prefix, not a hash. OpenAI recommends using an existing immutable provider ID.
  • Dropped the blanket Cache-Control: no-store. Caches don't store POST responses, and it would conflict with feat(mcp): let clients cache tools/list for an hour and share it across users #245.

Closing in favour of #258.

@mattzcarey mattzcarey closed this Oct 7, 2026
@irvinebroque

Copy link
Copy Markdown
Author

Awesome

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.

2 participants