Skip to main content

Connect a custom MCP server

The built-in MCPs in FlyMyAI cover the most common services. When you need something we don't ship out of the box - a niche SaaS, an internal HTTP service, or a server you generated through a third-party aggregator like Composio, Smithery, Pipedream or Zapier - point FlyMyAI at the server's URL and we connect to it directly.

This page explains every field of the Add custom MCP dialog so you know what to paste where. For per-provider walkthroughs (Composio, Smithery, Pipedream, Zapier MCP) jump to Provider recipes.

When to use a custom server

Pick a custom server when at least one of these is true:

  • The service has a hosted MCP endpoint (most aggregators do).
  • You self-host an MCP server and can expose it over HTTPS.
  • You want a tool we haven't shipped a built-in for yet.

If we already ship a built-in for the integration (Slack, Notion, Gmail, GitHub, ...), use the built-in - it's faster, the auth is handled, and tool descriptions are tuned for our agents.

Open the dialog

  1. Sign in to app.flymy.ai.
  2. Open MCP configs from the left sidebar (or the agent setup sidebar inside any chat).
  3. Click + Connect MCP tool. The catalog drawer opens.
  4. At the top of the catalog click Add custom MCP.

The Add custom MCP dialog appears with two sections: basic fields (Name, URL, Type) and an Advanced settings drawer for auth.

Fields

Name

Free-form label that shows up in your tool list and in agent settings. Use whatever makes sense to you - Composio · Linear, Internal billing-mcp, Zapier ops. Required.

URL

The full HTTPS URL of the MCP endpoint. Must start with https:// (or http:// for localhost during development).

Common shapes:

ShapeUsed byExample
…/mcpComposio, Klavis, most Streamable-HTTP servershttps://mcp.composio.dev/composio/server/<uuid>/mcp
…/sseSmithery, Pipedream, classic SSE servershttps://server.smithery.ai/<slug>/mcp/sse?api_key=…
…?api_key=…Servers that take auth in the query stringhttps://mcp.zapier.com/api/mcp/s/<token>/mcp

Whatever shape your provider gives you, paste the full URL including any query string they include.

Type

Selects the MCP transport. Pick whichever your provider documents.

  • Streamable HTTP (default) - the modern transport. Use for Composio, Klavis, most 2025-era servers.
  • SSE (Server-Sent Events) - the older transport. Use for Smithery, Pipedream, and any provider whose URL ends in /sse.

Picking the wrong type is the #1 reason a connection fails - if you get "transport mismatch" errors, flip this and reconnect.

Advanced settings

Click Advanced settings to reveal authentication fields. Leave everything default if your URL already carries the credential in the query string (Zapier MCP, some Composio servers).

Authentication Type

OptionWhen to use
NoneURL already contains the token, or the server is genuinely public.
API KeyProvider gives you an x-api-key (or similar) header value.
Bearer TokenProvider gives you an Authorization: Bearer … token. Most OAuth-style aggregators.
Basic AuthProvider gives you a username + password pair. Rare; mostly self-hosted.

Credential fields

Shown conditionally based on the auth type:

Auth typeField(s)Where the value comes from
API KeyAPI KeyProvider dashboard → API keys / personal token.
Bearer TokenBearer TokenProvider dashboard → access token, or OAuth callback.
Basic AuthUsername, PasswordSelf-hosted server's auth config.

Credentials are stored encrypted in the FlyMyAI backend and only re-injected at request time - they're never echoed back into the UI.

Save and connect

Click Save. FlyMyAI does two things:

  1. Creates the server record (POST /agents/mcp-servers/).
  2. Opens a connection and discovers the available tools (POST /agents/mcp-servers/<id>/connect/).

If the connect step succeeds, the tool list expands into the configuration panel - those are the verbs your agent can now call. Toggle individual tools on/off if you want to expose only a subset.

Use it from an agent

Open any agent → Tools tab → enable your new MCP. The agent will see the tool descriptions and call them when relevant. No code change needed.

Edit or remove

  • Edit - hover the tool tile in MCP configs and click the pencil. Same dialog opens; updates re-trigger a connect.
  • Remove - click the trash icon. Agents that referenced the tool will skip it on the next run.

Troubleshooting

  • Failed to connect - the URL is unreachable from our side. Open it in a browser/curl with the same auth header to confirm it's online.
  • Transport mismatch - flip Type between Streamable HTTP and SSE.
  • 401 Unauthorized / 403 Forbidden - the credential is wrong, expired, or missing the right scope. Regenerate it in the provider dashboard and paste again.
  • Tools list is empty - the server connected but exposes zero tools. Check the provider's tool configuration - many aggregators let you toggle which tools are enabled per-server.
  • Server works once, then fails - tokens with short TTLs (some Bearer tokens) need rotation. For OAuth-aggregators use a long-lived token or set up the OAuth flow on their side.

Next