Provider recipes
Step-by-step walkthroughs for the four most common ways to source a custom MCP server, plus self-hosted. Each recipe ends with the exact mapping between provider fields and the FlyMyAI Add custom MCP dialog.
If you haven't seen the dialog yet, read Connect a custom MCP server first
- that page documents every field.
Composio
Composio hosts MCP servers for hundreds of SaaS tools and handles OAuth on their side. You get one URL per "server" you create.
In Composio
- Sign in at app.composio.dev.
- Open MCP Servers → + Create.
- Pick the toolkit (e.g. Linear, Slack, Gmail). Composio walks you through their OAuth or API-key flow once.
- Name the server and click Create.
- On the server detail page, find the Streamable HTTP URL -
shape:
https://mcp.composio.dev/composio/server/<uuid>/mcp. - Some Composio servers ship a Bearer token alongside the URL. If
yours does, copy it from the same panel. If the URL already encodes
the auth (long URL with
?…), no token is needed.
In FlyMyAI
| FlyMyAI field | Value |
|---|---|
Name | e.g. Composio · Linear |
URL | The Streamable HTTP URL from step 5. |
Type | Streamable HTTP |
Authentication Type | Bearer Token if Composio gave one, otherwise None. |
Bearer Token | The token from step 6 (if any). |
Click Save. Composio's tools appear in the configuration panel.
Smithery
Smithery is a directory + registry of MCP servers. Most Smithery servers are SSE.
In Smithery
- Sign in at smithery.ai.
- Find the server you want and open its detail page.
- Click Generate API key (or open Settings → API keys) and copy the key.
- Smithery shows a connection URL on the server page - shape:
https://server.smithery.ai/<slug>/mcp/sse?api_key=<KEY>. - Copy that full URL with the
api_keyquery parameter already filled in. The key replaces<KEY>.
In FlyMyAI
| FlyMyAI field | Value |
|---|---|
Name | e.g. Smithery · <slug> |
URL | The full URL with ?api_key=… from step 4. |
Type | SSE (Server-Sent Events) |
Authentication Type | None (the key is in the URL). |
Click Save.
Tip - If a Smithery server gives you a separate header instead of a query-string key, switch Authentication Type to API Key and paste the key there, then drop the
?api_key=…from the URL.
Pipedream
Pipedream ships an MCP endpoint per app you connect to your account.
In Pipedream
- Sign in at pipedream.com.
- Open MCP in the left nav.
- Click + Connect and pick the app (e.g. Notion, HubSpot). Pipedream stores the OAuth/API credentials on its side.
- Once connected, Pipedream shows an MCP URL - shape:
https://mcp.pipedream.com/<your-id>/<app>and a Bearer token. - Copy both the URL and the token.
In FlyMyAI
| FlyMyAI field | Value |
|---|---|
Name | e.g. Pipedream · Notion |
URL | The MCP URL from step 4. |
Type | SSE (Server-Sent Events) (use Streamable HTTP if the URL ends in /mcp rather than /sse). |
Authentication Type | Bearer Token |
Bearer Token | The token from step 4. |
Click Save.
Zapier MCP
Zapier MCP exposes any Zap as an MCP tool. Auth is bundled into the URL.
In Zapier
- Sign in at zapier.com and visit zapier.com/mcp.
- Click Set up MCP and pick the actions you want exposed (each action becomes an MCP tool).
- Zapier generates a single URL - shape:
https://mcp.zapier.com/api/mcp/s/<long-token>/mcp. - Copy that full URL.
In FlyMyAI
| FlyMyAI field | Value |
|---|---|
Name | e.g. Zapier MCP |
URL | The URL from step 3. |
Type | Streamable HTTP |
Authentication Type | None (the token is in the URL). |
Click Save. Each Zap action becomes a tool the agent can call.
Klavis
Klavis is another aggregator with hosted Streamable HTTP servers.
In Klavis
- Sign in at klavis.ai.
- Create an instance for the integration you want.
- Copy the MCP URL (Streamable HTTP) and any API key Klavis issues.
In FlyMyAI
| FlyMyAI field | Value |
|---|---|
Name | e.g. Klavis · <integration> |
URL | The Streamable HTTP URL from Klavis. |
Type | Streamable HTTP |
Authentication Type | API Key if Klavis gave you a key, otherwise None. |
API Key | The key from Klavis. |
Click Save.
Self-hosted
If you wrote your own MCP server (Python mcp, Node SDK, custom
HTTP), expose it over HTTPS and pick whichever auth scheme you
implemented.
Required from your server
- Public HTTPS URL (or HTTP
localhost:portfor local dev). - Transport: Streamable HTTP or SSE - the SDK you used decides this.
- Auth scheme matching one of FlyMyAI's options (None / API Key / Bearer Token / Basic Auth).
In FlyMyAI
| FlyMyAI field | Value |
|---|---|
Name | e.g. Internal billing-mcp |
URL | https://your-server.example.com/mcp (or /sse). |
Type | Match what your server speaks. |
Authentication Type | Match your server's scheme. |
| Credentials | The matching token / key / username+password. |
Local development - point a tunnel (ngrok, cloudflared) at your local server and paste the public URL. Localhost-only URLs aren't reachable from FlyMyAI.
Common mapping reference
When in doubt, this mapping covers most providers:
| Provider gives you... | FlyMyAI field |
|---|---|
URL ending in /mcp, no separate token | URL = full URL · Type = Streamable HTTP · Auth = None |
URL ending in /sse, no separate token | URL = full URL · Type = SSE · Auth = None |
| URL + Bearer token | URL = full URL · Auth = Bearer Token · paste token |
URL + x-api-key-style key | URL = full URL · Auth = API Key · paste key |
URL with ?api_key=… already in it | URL = full URL · Auth = None |
Still stuck? Open the Discord and paste your provider's docs - we'll figure out the right mapping.