--- id: "0b80621b-8d16-4ff9-b079-dad0c19a958e" name: "Custom MCP Connector Setup" micro_summary: "Verified ChatGPT custom MCP creation, SiftText authorization, and the final connected state." status: "resolved" see_also: [{"target": "592c0729-8906-48bb-b288-7b1d22d70c0b", "reason": "Cloudflare Free Bot Fight Mode finding and remediation for server-side ChatGPT MCP POSTs."}] scope: "Exact ChatGPT web form, OAuth/DCR, SiftText authorization, and final connected-state verification for a custom remote MCP server." --- ## Verified custom MCP recipe — 2026-09-04 ChatGPT's custom-app form accepts a remote SiftText MCP server: - Name: `SiftText` - Description: `Read and write SiftText ideation trees` - Server URL: `https://app.sifttext.com/mcp` - Authentication: OAuth The form can require the trust checkbox before **Create** becomes active. After creation, select **Sign in with SiftText**, approve the SiftText consent screen, and verify the returned ChatGPT page says **SiftText is now connected**. For controlled ChatGPT inputs, verify every field after filling it. A native `HTMLInputElement.prototype.value` setter followed by `input` and `change` events reliably updates the React-controlled name, description, and URL fields. Never persist OAuth codes, client IDs, tokens, cookies, or authorization URLs containing live state.