> ## Documentation Index
> Fetch the complete documentation index at: https://flow.engineer/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# ChatGPT plugin

> Bring your Flow tools and skills into ChatGPT.

ChatGPT can use your product through MCP or through a plugin that bundles skills and an MCP
connection. Flow generates the portable Agent Plugins package; publishing remains a host workflow.

## Connect and package

**1. Make the server reachable**

[Deploy your MCP server](https://flow.engineer/docs/hosting.md) or [host it yourself](https://flow.engineer/docs/self-hosting.md) behind public HTTPS.
Configure OAuth for account-protected tools.

**2. Test the MCP connection**

Use ChatGPT's **Add custom MCP server** flow with your `/mcp` URL. Try a tool request and,
when required, sign in.

Use the [official connection guide](https://developers.openai.com/plugins/deploy/connect-chatgpt)
for account and workspace requirements.

**3. Generate the plugin**

```sh Terminal
npx @flow-engineer/flow plugin --server https://agent.example.com/mcp --out plugins
npx @flow-engineer/flow check --plugin plugins
```

Use `plugins/agent-plugins/`. It contains `plugin.json`, `mcp.json` and `skills/`.

## Install or publish

Follow [OpenAI's packaging guide](https://developers.openai.com/plugins/build/plugins) to add
OpenAI-specific metadata and distribute the package through a supported development source or
the public submission process. Generating a folder does not register or publish it.

The bundled MCP URL ends in `/mcp/plugin` so ChatGPT receives the skills from the package once.
**Check it worked:** start a new chat, invoke the installed plugin and verify a skill-backed tool call.

> [!NOTE]
>
> A standalone MCP connection and an installed plugin are separate ways to use the same server.
> You don't need to package a plugin just to test your tools.
