Skip to main content
Connect agents to external tools and services using the Model Context Protocol.

Overview

Model Context Protocol (MCP) is an open standard that enables AI agents to interact with external tools, data, and services through a single, consistent interface. Rather than building custom integrations for each tool, agents connect to MCP servers and access all the tools they expose through one standardized protocol. Without MCP: Connecting to multiple external services requires a separate integration with custom logic for each one. With MCP: The agent communicates with all services through a single interface, dramatically reducing development complexity.

Key Capabilities

  • Open Standard - Universal protocol for AI and tool integration
  • Simplified Development - One interface to communicate with all tools on a server
  • Scalable Architecture - Add new tools without building custom integrations
  • Universal Compatibility - Any MCP-compatible client works with any MCP server

When to Use

MCP tools work best when:
  • Tools are hosted on external servers
  • You need shared toolsets across teams or multiple apps
  • Tools require enterprise integrations
  • You want to use third-party tool providers
  • You need separation between tool logic and agent logic
Use CaseWhy MCP Works
CRM integrationConnect to a Salesforce MCP server
Enterprise toolsShare tools across multiple apps
Third-party servicesUse pre-built MCP tool providers
MicroservicesEach service exposes tools via MCP

How MCP Works

MCP uses a client-server architecture with three components:
ComponentRole
MCP ServerHosts and exposes tools to clients
MCP ClientThe Platform—discovers available tools and invokes them
MCP ProtocolStandardized communication layer (HTTP or SSE) between client and server
┌─────────────────────────────────────────────────────────────────┐ │ Agentic App │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ MCP Client │ │ │ │ (built into the Platform) │ │ │ └───────────────────────────┬──────────────────────────────┘ │ └──────────────────────────────┼──────────────────────────────────┘ │ MCP Protocol (HTTP/SSE) ┌──────────────────────────────┼──────────────────────────────────┐ │ ▼ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ MCP Server │ │ │ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │ │ │ │ Tool A │ │ Tool B │ │ Tool C │ │ Tool D │ │ │ │ │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ External System │ └─────────────────────────────────────────────────────────────────┘

Interaction Workflow

  1. Tool Discovery - The MCP Client connects to the server and retrieves the list of available tools.
  2. Intent Detection - The LLM receives the user query and the tool list, then identifies the appropriate tool.
  3. Tool Invocation - The client sends a structured request with the tool name and required parameters.
  4. Execution - The server runs the tool and returns results to the client.
  5. Response Generation - The agent uses the tool output to formulate a natural language response.

Example

User: "What's the weather in Dubai today?"

1. Agent identifies need for weather data
2. Selects: getWeatherForecast
3. Invokes with: { "location": "Dubai" }
4. Server returns: "36°C, Partly cloudy, Wind: 15 km/h"
5. Agent responds: "The weather in Dubai today is partly cloudy
   with a temperature of 36°C and light winds."

Configure MCP Tools

Step 1: Add an MCP Server

  1. Navigate to Tools+ New ToolMCP Tool.
  2. Enter a Name and a Description for the MCP server.
  3. Under Request Definition, click Configure and provide:
    • Type - Select HTTP or SSE.
    • URL - The endpoint that returns tool definitions.
    • Headers - Any required headers, such as authorization tokens.

Step 2: Discover Tools

Click Test to connect to the server and retrieve its available tools. On a successful connection, the Platform displays all tools the server exposes.

Step 3: Select Tools

Choose the tools to enable and click Add Selected. Add the selected MCP tools to your agent’s tool list.

Manage MCP Tools

Tool Preview

The Tool Preview lets you inspect and test any MCP tool configured for your app.
  1. Navigate to Tools within the app.
  2. Open the MCP tab to see all configured tools, grouped by server.
  3. Click any tool to view its description, input parameters, and sample responses.
Include Tool Response in Artifacts - Enable this flag to include the tool’s output in the artifacts field of the Execute API response. This provides programmatic access to individual tool outputs and only affects the API response payload; it does not change tool execution behavior, playground simulations, or other agent functionality.

Tool Naming

To avoid naming conflicts, imported tools are automatically prefixed with the MCP server name in the format <MCP server name>__<tool name>. For example, a tool named GMAIL_DELETE_DRAFT imported from a server named GoogleMCP is named as GoogleMCP__GMAIL_DELETE_DRAFT.

Testing Tools

Test tools after configuration to confirm they work correctly before using them in an agent.
  1. Open the tool in Preview mode.
  2. Click Run Sample Execution.
  3. Enter sample values for the input parameters and click Execute.
  4. Review the output in the Sample Response section.

Updating Tools

When tools on the MCP server change, manually reconfigure the server to pick up the updates. The Platform does not automatically sync tool changes.
  • Click the refresh icon on the MCP server card to fetch updated tool definitions.
  • To edit the server configuration, open the More options menu on the server card, select Edit Server, make your changes, and save.

Reference

Server Types

HTTP - Standard request/response over HTTP.
server:
  transport: http
  url: https://mcp.example.com/v1
  timeout_ms: 30000
SSE (Server-Sent Events) - Streaming responses for real-time updates.
server:
  transport: sse
  url: https://mcp.example.com/stream
  keepalive_ms: 60000

Authentication

auth:
  type: bearer
  token: "{{env.MCP_TOKEN}}"

Tool Invocation

{
  "method": "tools/call",
  "params": {
    "name": "get_current_weather",
    "arguments": {
      "location": "Tokyo",
      "units": "celsius"
    }
  }
}

Configuration Example

name: enterprise_tools
description: Enterprise CRM and ticketing tools

server:
  url: https://mcp.enterprise.internal
  transport: http
  timeout_ms: 30000

auth:
  type: bearer
  token: "{{env.ENTERPRISE_MCP_TOKEN}}"

tools:
  - name: crm_lookup
    description: Look up customer information by ID or email
    enabled: true

  - name: create_ticket
    description: Create a support ticket in the ticketing system
    enabled: true

  - name: get_order_history
    description: Retrieve customer order history
    enabled: true

  - name: update_customer
    description: Update customer profile information
    enabled: false  # Disabled for safety

Limitations

  • Static discovery - Tool lists are fetched at configuration time. If the server adds, removes, or updates tools, manually reconfigure the server in the Platform to apply the changes.
  • No automatic sync - Dynamic updates from the MCP server are not automatically reflected in the platform.
  • Supported operations - The Platform supports tool discovery, invocation, and result processing. It does not support MCP resource endpoints, MCP prompt templates, or dynamic tool updates.

Best Practices

Use Descriptive Tool Names

# Good
crm_customer_lookup
inventory_check_availability
order_create_new

# Avoid
tool1
getData
do_thing

Write Clear Tool Descriptions

The LLM uses tool descriptions to select the right tool for a given request. Be explicit about what the tool returns and when to use it.
Retrieves detailed customer information from the CRM.
Returns contact info, account status, and recent interactions.
Use when the user asks about customer details or account status.

Handle Server Failures

Configure timeouts and fallbacks to prevent agent failures when an MCP server is unavailable.
server:
  timeout_ms: 30000
  retry:
    attempts: 3
    delay_ms: 1000

fallback:
  message: "Unable to reach external service. Please try again."

Monitor Performance

Track these metrics to maintain tool reliability:
  • Response times
  • Error rates
  • Availability
  • Token usage

Building an MCP Server

To expose your own tools via MCP, implement a server using the MCP SDK:
import { MCPServer } from '@modelcontextprotocol/server';

const server = new MCPServer({
  name: 'my-tools',
  version: '1.0.0'
});

server.addTool({
  name: 'get_inventory',
  description: 'Check product inventory levels',
  parameters: {
    product_id: { type: 'string', required: true }
  },
  handler: async (params) => {
    const inventory = await checkInventory(params.product_id);
    return { stock: inventory.quantity, location: inventory.warehouse };
  }
});

server.listen(3000);

Deployment Options

OptionBest For
Cloud functionSimple, serverless tools
ContainerComplex tools with dependencies
Internal serviceEnterprise tools behind a firewall

Security

If the MCP server exposes pre-authorized tools that access Personally Identifiable Information (PII), avoid sharing the Agentic App that uses those tools. Sharing the app may grant others access to sensitive data on the connected servers.

FAQs

What are MCP tools in the context of the Agent Platform? MCP tools are the tools exposed by MCP servers and made available to agents through the platform. Can I connect multiple MCP servers to one app? Yes. An app can connect to one or more MCP servers, each exposing its own set of tools. Does the Platform automatically sync tool changes from the MCP server? No. If tools are added, removed, or updated on the server, manually reconfigure the MCP server in the Platform to apply those changes.