Repository navigation
Explain non-database connectors in the ChatGPT plugin, mark directory sign-ups - #1545
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two follow-ups now that the AnythingMCP database plugin is published in OpenAI's plugin directory.
/mcp/chatgpt-app) only queries databases. A workspace whose connectors are APIs (Odoo, Perplexity, Etsy…) saw them listed with nothing to do.anythingmcp_list_connectorsnow returnsotherConnectorsHint. It names those connectors and says they are connected to ChatGPT from the dashboard (MCP Servers → server → ChatGPT)./loginthrough an OAuth redirect, sosignup_attributedrecordsdirect.chatgpt-app,file-search) in a signed, httpOnlymcp_directorycookie, like the existingmcp_appone.signup_attributedgetsdirectory: 'chatgpt'anddirectory_plugin, and a server-onlydirectory_signupevent is written once.first_channelto mean "no stated intent" fordirect.Changes
mcp-server/chatgpt-app-toolset.ts:OTHER_CONNECTORS_HINT, added toanythingmcp_list_connectorswhen non-database connectors are in scope.auth/resource-indicator.middleware.ts:DIRECTORY_PLUGIN_ENDPOINTS,MCP_DIRECTORY_COOKIE,parseDirectoryPlugin.audit/directory-signup.ts(new):markDirectorySignup, which never throws.auth/login.controller.ts: calls it when an authorize flow reaches the grant step.audit/product-event.service.ts:directory_signup, server-only.docs/integrations/chatgpt.mdanddocs/operations/signup-attribution.md(with a report query).Cloud and self-hosted: same code in both. The directory plugins exist only on Cloud, so on self-hosted the cookie is simply never set.
Type
Testing
chatgpt-app-toolset.spec.ts: the hint appears with API connectors, is absent for databases only, and no/mcp/URL appears.directory-signup.spec.ts: inside and outside the window, repeat, missing row, DB failure,parseDirectoryPlugincases.resource-indicator.middleware.spec.ts: cookie set forchatgpt-app, cleared for/mcp.Commands, run in
packages/backend:npx jest src/audit/directory-signup.spec.ts src/auth/resource-indicator src/auth/login.controller src/mcp-server/chatgpt-app src/audit/product-event: all passing.npx eslint <changed files>: clean.npx tsc --noEmit -p tsconfig.json: clean.Checklist