---
title: Set up ChatGPT
description: 'Install Charming from its ChatGPT listing, then build your first app.'
sidebar:
  label: ChatGPT
  order: 1
---

## Add the connector

1. **Install Charming.** Open the [Charming listing in ChatGPT](https://chatgpt.com/plugins/plugin_asdk_app_6a56c533cd7c8191b9a16cb7973a65e6) and click **Install plugin**. No developer mode needed. Prefer your own custom connector? That path needs developer mode turned on in ChatGPT settings: [open the new-connector form](https://chatgpt.com/plugins#settings/Connectors?create-connector=true&redirectAfter=%2Fplugins), name it Charming, and paste `https://charm.ing/mcp/chatgpt` — the ChatGPT-specific endpoint. The plain `/mcp` endpoint connects but never renders apps inline in ChatGPT.

2. **Start a chat.** The listing's button reads **Try in chat** once Charming is installed, and any new chat can reach it.

## Start building

Ask ChatGPT to build an app. It opens in the chat.

See [OpenAI's guide to apps in ChatGPT](https://help.openai.com/en/articles/11487775-apps-in-chatgpt) for workspace access and admin controls.

## Build without MCP

ChatGPT chat cannot make its own web requests, so the connector above is the only path there. In ChatGPT's work surfaces that run code and reach the network, such as Codex, an agent can skip MCP and build through Charming's HTTP API instead. See [Build over the HTTP API](../guides/build-over-the-http-api).

Paste this into a surface that can make HTTP requests:

```text
Connect me to Charming and help me build my first app. Use Charming's
HTTP API. Ask before starting account pairing, wait for me to approve
it, then read https://charm.ing/docs/build-http.md and ask me what I
want to build.
```

Your agent shows a pairing link and a short code. Open the link, enter the code if asked, and approve the connection. Both paths build the same apps in the same account, so pick one.

## Related

- [AI clients](.)
- [Connect to any AI agent](../capabilities/connect-any-agent)

Found a bug or need a feature? [Tell us](/docs/capabilities/feedback) with `submit_feedback` or `POST /app/{id}/feedback`. Your feedback shapes what we build next.
