Docs
Integrations

MCP Servers

Connect external tools and data sources to your agents using the Model Context Protocol.

MCP Servers

MCP servers give your AI agents hands. Instead of only generating text, an agent connected to an MCP server can search a database, create a calendar event, read a document, or update a CRM record - all by calling actions that the server exposes.

What is MCP?

The Model Context Protocol (MCP) is an open standard for connecting AI agents to outside tools and data. You can think of an MCP server as a plug: one end speaks a language your agent understands, and the other end is wired up to a real service like Notion, GitHub, or your own internal API. Once the plug is in, the actions on the far side become available to your agent automatically.

You do not need to know any code to use MCP. Most MCP servers are hosted by their vendor and only need a URL and (usually) an access token. The server has to be reachable on the public internet - FormWise connects to it from its own servers, so localhost and private-network addresses are blocked.


MCP vs. Composio vs. Webhooks

FormWise gives you a few different ways to connect external services. They overlap, but each is best at a different job.

  • MCP servers - The right choice when a vendor (or your team) already runs an MCP server and you want the agent to decide which actions to call during a conversation. Best for read-heavy, discovery-style work like "look something up", "summarise this", or "draft a record".
  • Composio - A managed library of pre-built integrations with popular SaaS apps. Reach for Composio when you want a polished, one-click connection to a specific app and you do not want to host anything yourself. See Composio.
  • Webhooks and HTTP nodes - Use these when you have a single, well-defined API call to make at a specific step of your Flow. They run deterministically rather than being chosen by the agent. See Node Types.

Rule of thumb: if the agent should pick when to call the action, use MCP or Composio. If your Flow should always call the action at a specific step, use a webhook or HTTP node.


Adding an MCP server

MCP servers are added to an individual Agent node, in the same Connected Services section that holds your Composio services.

  1. Open the Flow and click the Agent node that should use the MCP actions.
  2. In the node settings, find Connected Services and click Connect external services (or the + button if the agent already has services).
  3. In the Add Service dialog, choose Custom MCP Server.
  4. Enter the Server URL the vendor gave you (for example, https://mcp.example.com/mcp or https://mcp.example.com/sse).
  5. Give the connection a short Label so your team can recognise it later.
  6. Optionally add a Description describing what the server does.
  7. Choose an Authentication method and provide any required credentials (see below).
  8. Click Discover Tools.
  9. Pick the actions you want (see below) and click Save.

[Screenshot: The "MCP Server" dialog with the Server URL, Label, Description, and Authentication fields filled in.]

If FormWise can reach the server it lists every action the server exposes. If it cannot reach the server you will see an inline error explaining what went wrong.

Authentication methods

Different MCP servers require different credentials. FormWise supports:

  • None - For public servers that do not require authentication.
  • Access Token / API Key - The most common option. Paste the token the vendor issued; FormWise sends it as a bearer token on every request.
  • Custom Headers - For servers that expect a specific header (for example, X-Api-Key). Add as many key/value pairs as you need.
  • OAuth - For servers that sign you in through an OAuth app you registered with the vendor. Enter the Client ID, Client Secret, Authorization URL, Token URL, and any Scopes, then click Connect and approve access in the popup.

Credentials are only ever sent server-to-server - never to the people using your Flow. Access tokens and headers are saved with the agent's configuration, so anyone who can edit the Flow can see them.


What happens once it's connected

After Discover Tools, the dialog lists every action the server provides, each with:

  • The action name (for example, search_pages, create_issue).
  • A short description the server provides.
  • An On checkbox to enable or disable that specific action.
  • An Approval dropdown - Never, Always, or First Use - so you can require a human-in-the-loop check on sensitive actions.

Newly discovered actions start switched on, with approval set to Never.

[Screenshot: The discovered tools table inside the MCP dialog, with a list of actions, approval dropdowns, and On checkboxes.]

The server then shows up as a pill under Connected Services on that Agent node, and the agent can call any action you left switched on. To give another agent in the same Flow access, add the server to that Agent node too - each agent keeps its own server list and its own set of enabled actions.

For a deeper walk-through of how agents use tools, see Configuring Agent Nodes.


Picking which actions to enable

The discovered tools table is where you control what your agent is allowed to do. A few patterns work well:

  • Start small. Leave two or three actions you actually plan to use switched on, and untick the rest. You can always come back and enable more.
  • Read first, write later. Enable read-only actions (search, fetch, list) early, and only turn on write actions once the agent is reliable.
  • Use approval for writes. Anything that creates, updates, or deletes data should have its Approval set to Always or First Use.
  • Read the description. Each row shows the description the server provides. If an action's purpose is unclear, leave it off.

Worked example: a research agent

Say your team uses a service that publishes a hosted MCP server, and you want a chatbot that can look things up in it.

  1. Get the URL. Find the MCP endpoint in the vendor's documentation, for example https://mcp.example.com/mcp.
  2. Get a token. Generate an access token in the vendor's settings, and grant it access to the content the agent should read.
  3. Add the server. In FormWise, open your Flow, click the Agent node that handles the conversation, go to Connected Services, choose Custom MCP Server, paste the URL, label it, choose Access Token / API Key, and paste your token.
  4. Discover. Click Discover Tools. FormWise lists actions like search, fetch, and update_page.
  5. Pick safe defaults. Keep search and fetch on and untick update_page - a read-only agent is a good place to start. Click Save.
  6. Test it. Run the Flow and ask, "Find our onboarding doc and summarise the first section." The agent decides on its own to call search, then fetch, then write the summary.

You did not write any code. You did not hard-code when to call the service. The agent figured that out from the conversation.


Approval strategies

For anything that writes data, sends a message, or spends money, set the action's Approval to Always (or First Use if you trust it after a sanity check).

When approval is required, the agent will pause mid-conversation and surface the proposed call - including the exact arguments it wants to use - so a human can approve or reject it before it runs. With First Use, one approval covers that action for the rest of the conversation. This is your safety net for destructive actions.

A good default: read actions on Never, write or send actions on Always, until you have run them enough times to trust them.

Set approval on each action row. Automated quality checks have nobody to approve a call, so actions that require approval are skipped during those runs.


Common pitfalls

  • Connection errors. Double-check the URL. Some servers expose /mcp, others use /sse. FormWise tries both transports, but the path still has to match what the vendor documented. Servers on localhost or a private network cannot be reached.
  • Empty tool list. If the server connects but returns no actions, the token probably does not have access to anything yet. For Notion, GitHub, and similar apps, you typically have to share specific resources (pages, repos, projects) with the integration before they become visible.
  • Action does not get called. Make sure the action's On checkbox is ticked in the MCP dialog and that you clicked Save. The server also has to be added to the Agent node that is handling the conversation.
  • Version skew. Vendors occasionally rename or remove actions on their MCP servers. Open the server's pill on the Agent node and click Discover Tools again to refresh the list.
  • Forgotten credentials. If a connection used to work and suddenly stops, the token has probably expired or been revoked. Open the server's pill on the Agent node, paste a fresh token into the authentication field, and click Save.

Tips

  • Start with one server and a small set of read-only actions. Add more once the agent is behaving well.
  • Use the action Description that the vendor provides to decide what is safe to leave enabled. If a description is unclear, leave the action off.
  • MCP servers are connected per agent, not per organisation. This keeps each agent's available actions tightly scoped to the job at hand.
  • Pair MCP with Knowledgebases and web tools for an agent that can read your knowledge base, search the live web, and act on external systems all in one conversation.

Next steps

On this page