ChatGPT Apps SDK: Tools, UI, and the eesel CLI connection

Katelin Teen
Written by

Katelin Teen

Last edited September 8, 2026

Expert Verified
An illustration of apps in ChatGPT

The ChatGPT Apps SDK made it possible to pair conversational tools with interactive experiences inside ChatGPT. A user can ask for information, inspect a result, and interact with a useful interface without treating every step as a separate website visit.

There is an important distinction for developers: exposing tools, building a visual interface, and operating an existing AI teammate are different jobs. This guide explains the first two, then shows where eesel CLI fits when your coding agent needs to work with a support teammate.

As checked on September 8, 2026, OpenAI’s current MCP and UI quickstart presents this pattern through plugins. It uses an MCP server for tools and an optional web component for ChatGPT. ChatGPT implements the open MCP Apps UI standard; a custom interface is not required for a tools-only experience.

What is the ChatGPT Apps SDK?

The Apps SDK connects application capabilities to a conversation. The model can call tools your server exposes, and the result can include an interactive component such as a list or form. That component is rendered in an iframe inside ChatGPT.

For example, a product-search tool could return matching items as structured data. An optional UI could display those items as selectable cards. The server still needs to retrieve accurate product data, validate requests, and enforce the user’s access. A conversational interface does not replace those responsibilities.

Current OpenAI documentation also distinguishes plugins that provide server-backed tools from plugins that only supply instructions and resources through skills. The server-backed pattern is the focus here because it is the part most relevant to business-system access.

The components: Protocol, server, and optional UI

MCP defines how the client accesses tools

The Model Context Protocol defines how an AI client discovers and calls external capabilities. Tools have names, descriptions, and input schemas. The model chooses a tool and supplies arguments; the server validates the request, performs the operation, and returns a result.

A protocol is not a security policy. If a tool retrieves private customer data or changes an order, the server must enforce authorization for that operation. Do not rely on a friendly description such as “only use this for the current customer” as the access control.

The server performs the work

The MCP server is the implementation behind those tools, not a separate third system alongside “MCP.” It may query a database, call an existing API, or operate a service. Its outputs should remain useful as text or structured content even when no custom UI is displayed.

For production servers, OpenAI’s documentation recommends a stable HTTPS endpoint using streamable HTTP. You own the business logic, hosting, and maintenance for a server you build. Existing service providers may instead supply their own endpoint.

This is also why an OpenAI API SDK and an MCP server SDK are not interchangeable. One wraps model API calls; the other helps implement the protocol your client uses to discover and invoke tools.

The UI helps the user act on results

An optional web component uses HTML, CSS, and JavaScript to present results inside ChatGPT. It can make a list easier to compare or a form easier to complete. OpenAI’s quickstart explicitly allows you to skip the component when tools alone are sufficient.

Choose the UI based on the user’s task. If the answer is a short status summary, structured tool output may be enough. If the user needs to compare options and make a selection, a visual component can earn its place.

Do not build a visual component merely because the SDK supports one. It introduces state, loading, error, and accessibility behavior that also needs testing.

Business uses and development responsibilities

A customer-facing app can help people discover products or interact with a service through ChatGPT. An internal tool can retrieve approved company information or support a repeatable work task. In both cases, define the expected result before choosing components.

For support, separate “give a customer an interface in ChatGPT” from “help a support teammate answer tickets in an existing helpdesk.” The former may justify an Apps SDK project. The latter can be served by a support-focused product, with developer access through its CLI or API.

Budget for hosting, authentication, testing, and ongoing maintenance. Check the relevant ChatGPT account and workspace requirements for your intended deployment rather than assuming every user needs a particular paid plan.

Commerce is a separate decision

OpenAI’s checkout documentation currently recommends external checkout for eligible physical goods. Embedded checkout with the ChatGPT payment sheet is available to select marketplace partners. The SDK alone does not establish that a particular product, payment flow, or revenue model will be approved.

That matters when evaluating a shopping app. A working product carousel is not a completed purchase flow: payment, fulfillment, refunds, and the applicable platform requirements still need an implementation.

Use eesel CLI to operate the teammate behind support

If your goal is to give a coding agent access to support operations, you may not need to build a new ChatGPT interface. eesel CLI lets a person, script, or coding agent operate an eesel teammate directly.

The CLI and dashboard work with the same agent and workspace. A developer can inspect connections from the terminal while a support manager reviews that same teammate in the dashboard. Commands produce JSON, so Claude Code, Cursor, or Codex can read results and use them to decide the next step.

For an existing workspace, start with login and identity checks. These examples require Node.js 18.17 or newer:

Bash
npx @eesel/cli login
npx @eesel/cli whoami
npx @eesel/cli agents

Select the intended teammate and replace AGENT_ID below with its ID:

Bash
npx @eesel/cli status --agent AGENT_ID
npx @eesel/cli integrations --agent AGENT_ID
npx @eesel/cli instructions --agent AGENT_ID

This makes a useful first task for a coding agent: inspect which sources are connected, whether their content has downloaded, and what instructions the teammate follows. Ask it to report findings before making changes. That request is a limit you give the coding agent, not an automatic CLI approval gate.

To add an approved support document, use files upload. To connect a source, inspect the appropriate integrations connect command with --help; some connections require browser authorization. Uploading knowledge does not itself change the teammate’s standing rules.

The CLI also exposes activity, automations, and held-action approvals. These let you inspect what the teammate has done and what it is configured to do. A successful connection check is not proof of answer quality, so test representative support questions with suitable action restrictions.

Connect an MCP client without building a new server

eesel also supplies a workspace MCP endpoint. You can get its connection details through the CLI:

Bash
npx @eesel/cli mcp token --agent AGENT_ID

The command prints the server URL, a 30-day workspace token, required headers, and a ready-to-paste Claude Code setup command. Printing the details does not connect the client. Run the generated command in Claude Code’s environment, then restart Claude Code and check:

Bash
claude mcp get eesel

For another compatible MCP client, configure the returned URL and headers using that client’s setup process. The eesel MCP guide explains the details. The agent header selects which teammate the client acts as; the workspace token carries the role you had when it was minted. Mint a fresh token and update the client when the token expires or your role changes.

Keep the token out of source control and frontend code. Anyone holding it can act in the workspace within its permissions. Chat can invoke actions, and the teammate’s action-approval rules still apply.

This connection exposes the existing teammate’s tools. It does not create an Apps SDK UI, publish an app to ChatGPT, or establish that a particular ChatGPT authorization flow accepts these headers. A custom ChatGPT experience still needs its own integration and verification.

Choose the interface your users actually need

Intended resultRelevant path
An interactive experience inside ChatGPTMCP tools plus optional Apps UI, client integration, and deployment testing
Terminal or scripted access to an eesel support teammateeesel CLI with explicit workspace and agent scope
Access to that teammate from an MCP clienteesel’s existing endpoint, client configuration, and connection verification

The shared idea is giving an agent access to useful work. The implementation depends on where that work should happen. Build a ChatGPT interface when that is where your users need to interact; use eesel CLI when the job is operating an existing support teammate.

eesel AI helpdesk dashboard overview. Terminal and MCP access operate the same teammate visible in the dashboard.
eesel AI helpdesk dashboard overview. Terminal and MCP access operate the same teammate visible in the dashboard.

Try eesel. Once your workspace and teammate are set up, give your coding agent one concrete task: inspect the support teammate’s connected knowledge and instructions, report what is missing, and ask before changing anything.

Frequently asked questions

What is the ChatGPT Apps SDK used for?
It helps developers connect tools and optional interactive UI to ChatGPT. Current OpenAI documentation covers this through plugins, MCP servers, and the MCP Apps UI standard.
Does every ChatGPT app need a custom UI?
No. OpenAI’s quickstart makes the web component optional. Tools can return useful text or structured results without registering a UI resource.
Is an MCP server the same thing as a ChatGPT app?
No. An MCP server exposes capabilities to compatible clients. A ChatGPT experience may also need UI, authorization, client configuration, testing, and distribution steps. Merely having an MCP endpoint does not complete those steps.
Who hosts the MCP server?
For a custom server-backed experience, you are responsible for hosting and maintaining its endpoint and business logic. OpenAI recommends stable HTTPS endpoints and appropriate authorization for private data and user actions.
How can an app make money?
OpenAI currently recommends external checkout for eligible physical goods. Embedded checkout with the ChatGPT payment sheet is limited to select marketplace partners. Check the current commerce and review requirements for your use case.
How does eesel CLI relate to the ChatGPT Apps SDK?
eesel CLI operates an existing eesel teammate from a terminal or coding agent. It can also print MCP connection details for clients such as Claude Code. It does not generate a custom ChatGPT UI or publish a ChatGPT app.
Does generating an eesel MCP token connect the client?
No. It prints the server URL, token, headers, and a Claude Code setup command. Run that generated command or configure the client with the returned details, then verify the connection. Treat the token as a secret.

Share this article

Katelin Teen

Article by

Katelin Teen

Katelin is an operations specialist at eesel where she uses her psychology training and education experience to optimize B2B SaaS processes. Outside of work, she unwinds with story-driven games, writing, and keeping up with latest tech innovations.

Related Posts

All posts →
Stacked-layers icon on a pastel blue and pink background
Guides

Apps in ChatGPT pricing: plans, provider costs, and API budgets

Apps in ChatGPT pricing depends on your ChatGPT plan, the app provider, and whether you are building a separate API workflow.

Stevia PutriStevia PutriOct 8, 2025
OpenAI logo surrounded by illustrated dollar bills
Guides

Apps in ChatGPT reviews: what businesses should check in 2026

A practical review of Apps in ChatGPT: plugin discovery, app connections, permissions, workspace controls, and limits for support work.

Stevia PutriStevia PutriOct 8, 2025
Two people reading beneath Booking.com, Zillow, Canva, and ChatGPT labels
Guides

Apps in ChatGPT: how connections, permissions, and plugins work

A current guide to Apps in ChatGPT: what they can do, how to connect them, the Plugin directory, permissions, and workspace controls.

Stevia PutriStevia PutriOct 6, 2025
Black-and-white illustration of a person beside a ChatGPT logo linked by plugs to a folder of documents.
Guides

ChatGPT connectors are now apps: what to check before relying on one

ChatGPT connectors are now called apps. Compare authorization, search, sync, and actions with the ongoing support workflow a teammate needs.

Kenneth PanganKenneth PanganAug 5, 2025
Illustration of two people reading a document below Zillow, Booking.com, and Canva app labels in ChatGPT
Guides

ChatGPT productivity apps: five focused tools to evaluate

Compare five ChatGPT productivity apps for support knowledge, meetings, research, scheduling, and general work, with current pricing and rollout checks.

Stevia PutriStevia PutriJan 9, 2026
Four illustrated people in overlapping profile windows on a purple background
Guides

Custom personas for ChatGPT: 8 practical prompts to try

Eight practical custom personas for ChatGPT, with copyable prompts for support, research, writing, analysis, and a safer path for customer-facing work.

Kenneth PanganKenneth PanganAug 28, 2025
Illustration of a person between ChatGPT and Claude logos
Guides

Brave Leo vs ChatGPT (2026): privacy, research, and work

Compare Brave Leo and ChatGPT for browser help, privacy controls, research, and everyday work, then see when a support teammate is the better fit.

Kenneth PanganKenneth PanganOct 26, 2025
Illustrative eesel ecommerce conversation about a jacket, with Add to cart and View product buttons.
Guides

Buy on ChatGPT: how shopping and checkout work in 2026

Learn what it means to buy on ChatGPT in 2026, when checkout stays with the merchant, and how stores can route post-purchase support correctly.

Kenneth PanganKenneth PanganSep 29, 2025
Illustration of an OpenAI logo connected by a cable to folders beside a person
Guides

Can ChatGPT access Confluence? Connections and permissions

Yes, with an authorized connection. Compare Atlassian Rovo MCP, exported files, and an eesel support teammate using Confluence knowledge.

Stevia PutriStevia PutriOct 7, 2025

Ready to hire your AI teammate?

Set up in minutes. No credit card required.

Get started free