Chatgpt apps are MCP servers with a UI resource (can be a react component or vanilla js) that gets shown in an frame one the tool is called by chatgpt. So you can't just port an existing app, but you can reuse the same backend Api wrapped inside an mcp server, and some of the components that you need to adapt to openai ux requirements. I practice this means developing an app from scratch.