Skip to main content

MCP (Model Context Protocol)

The Model Context Protocol (MCP) is an open standard that enables you to build secure, two-way connections between your data sources and AI-powered tools. Think of MCP as a universal translator that allows AI Agents to seamlessly communicate with any external system such as databases, file systems, web services, and APIs.

Overview​

MCP servers extend your agent's capabilities by providing:

  • External Tool Access - Connect to third-party services and APIs
  • Data Source Integration - Access databases, file systems, and cloud storage
  • Custom Functionality - Add specialized tools for your specific use cases
  • Standardized Interface - Use a consistent protocol for all integrations
  • Secure Authentication - Support for OAuth 2.0 and custom headers

How It Works​

1. MCP Server Connection​

When you add an MCP server to your agent:

  1. Server Registration - The server is registered with your agent configuration
  2. Tool Discovery - The agent discovers available tools from the MCP server
  3. Tool Integration - Tools become available to the agent during conversations
  4. Dynamic Execution - The agent can call these tools as needed

2. Tool Execution Flow​

User Query → Agent → MCP Tool Call → MCP Server → External System → Response → Agent → User

3. Multiple Servers​

You can configure multiple MCP servers per agent:

  • Each server provides its own set of tools
  • Tools are prefixed with the server name (e.g., sentry_get_errors)
  • Servers can be enabled or disabled independently

Quick Start​

  1. Navigate to Agents in the sidebar
  2. Select or create an agent
  3. Click Edit to open the agent builder
  4. Go to the MCP tab
  5. In the Quick Add Popular Servers section, click on a server tile to add it

Sentry​

Monitor errors and performance issues in your applications.

  • URL: https://mcp.sentry.dev/mcp
  • Transport: HTTP
  • Authentication: OAuth 2.0
  • Scopes: org:read project:write team:write event:write

Capabilities:

  • View error reports
  • Monitor performance metrics
  • Manage projects and teams
  • Track events and issues

ZoomInfo​

Search companies and contacts, and enrich records. ZoomInfo is not in Quick Add, and it requires manual OAuth. See ZoomInfo MCP Server.

Video Tutorial​

Watch this video to see how to add and configure MCP servers:

ZoomInfo MCP Server​

Use the ZoomInfo MCP server to give an agent ZoomInfo data tools. This is different from the ZoomInfo toolkit, which runs as workflow nodes and uses API credentials. The MCP server uses OAuth, and each person signs in with their own ZoomInfo account.

ZoomInfo does not accept dynamic client registration for Odin, so you must use OAuth 2.0 (Manual) with a pre-registered client.

Before you start​

  • ZoomInfo login with MCP access. Your ZoomInfo account needs the zi_mcp scope. If sign-in is refused, ask your ZoomInfo admin to grant access.
  • Client ID and Client Secret. Get these for the pre-registered Odin OAuth app from your admin. Do not paste them into a shared document.
  • Saved agent. Save the agent before you add the server. The authorization step redirects away from the page, and unsaved changes can be lost.

Configure the server​

  1. Open the agent, go to the MCP tab, and add a server.

  2. Set Server Name to ZoomInfo_V1. Use letters, numbers, and underscores only, because this name becomes part of the callback URL.

  3. Set Transport Type to HTTP (streamable_http).

  4. Set URL to https://mcp.zoominfo.com/mcp. Keep the /mcp path.

  5. Set MCP authentication mode to OAuth 2.0 (Manual).

  6. Set OAuth Server Root URL to https://mcp.zoominfo.com. Use the root only, without /mcp. Including /mcp makes OAuth discovery fail with a 401.

  7. Set OAuth Server Name (callback key) to ZoomInfo_V1. It must match the server name.

  8. Click Load next to Redirect / Callback URL. It should show:

    https://api.getodin.ai/user/integrations/mcp/ZoomInfo_V1/oauth/callback

    Ask your admin to register this exact URL in ZoomInfo's Okta app. Any difference causes an Okta redirect_uri error.

  9. Enter Client ID and Client Secret.

  10. Set Authorization URL to https://okta-login.zoominfo.com/oauth2/default/v1/authorize and Token URL to https://okta-login.zoominfo.com/oauth2/default/v1/token.

  11. Set Scopes to:

    openid profile zi_api email offline_access zi_mcp api:data:mcp
  12. Keep Enable PKCE (S256) turned on. This is the configuration we tested end to end. ZoomInfo's authorization server lists S256 as its supported PKCE method.

    warning

    Normal authorization without PKCE is not tested for this server. The authorize step accepted requests without PKCE in our check, but we have not confirmed that the token exchange works. Leave PKCE on unless your admin confirms otherwise.

  13. Set Token endpoint auth to the method your admin configured in the Okta app.

  14. Save the agent. When prompted, sign in with your own ZoomInfo account and approve access.

  15. Click Test, then save the agent again.

warning

Test checks the values on screen, but the agent runs with the saved values. If Test passes but the agent reports no tools, save the agent and send a new message.

Check that it works​

Send the agent a ZoomInfo request, such as "Search for companies in Austin, Texas." The agent should use ZoomInfo tools and return results.

ZoomInfo MCP troubleshooting​

SymptomCauseFix
401 with ZI0001: The Authorization token is required during client registrationOAuth Server Root URL includes /mcpSet it to https://mcp.zoominfo.com
400 invalid_client_metadata: Vendor ... was not found in approved vendorsAutomatic (dynamic registration) modeSwitch to OAuth 2.0 (Manual) with the pre-registered client
Okta 400 error about redirect_uriCallback key does not match, or the callback URL is not registered in OktaSet OAuth Server Name (callback key) to ZoomInfo_V1 and ask your admin to register the exact callback URL
The agent reports no tools, or a 404 appears in chatThe saved URL is the root https://mcp.zoominfo.com without /mcpSet URL to https://mcp.zoominfo.com/mcp, save, and test again
Test shows ZoomInfo tools, but the agent reports noneTest used unsaved valuesSave the agent, then send a new message
Okta refuses sign-inYour ZoomInfo login lacks MCP accessAsk your ZoomInfo admin to grant zi_mcp
Tools worked earlier and now failAuthorization expired or was revokedSign in again from the server card

Authorizations are personal​

A ZoomInfo MCP authorization is tied to one person's ZoomInfo login. ZoomInfo calls made by an agent run as that person and appear under their name in ZoomInfo's audit trail.

  • Do not copy another person's ZoomInfo authorization to your account, even for testing.
  • Each person should authorize their own ZoomInfo login.
  • For a shared automation, ask ZoomInfo for a dedicated service account, and get the account owner's approval before you use it.

Adding Custom MCP Servers​

Step 1: Access MCP Configuration​

  1. Navigate to Agents in the sidebar
  2. Select or create an agent
  3. Click Edit to open the agent builder
  4. Go to the MCP tab
  5. Scroll to the Advanced Configuration section

Step 2: Add New Server​

  1. Click Add Server button
  2. The server configuration form will appear

Step 3: Configure Server Settings​

Server Name​

Enter a unique name for your MCP server (e.g., my-custom-server, weather-api, database-connector).

Best Practices:

  • Use lowercase letters and hyphens
  • Be descriptive but concise
  • Avoid special characters

Transport Type​

Select how the agent will communicate with the MCP server:

HTTP (streamable_http)

  • Standard HTTP requests
  • Best for REST APIs and web services
  • Supports request/response pattern

SSE (Server-Sent Events)

  • Real-time streaming communication
  • Best for live data feeds
  • Supports one-way server-to-client streaming

Server URL​

Enter the endpoint URL for your MCP server:

HTTP Examples:

  • https://api.example.com/mcp
  • http://localhost:8000/mcp/
  • https://mcp.example.com/v1

SSE Examples:

  • https://api.example.com/sse
  • https://stream.example.com/events

Step 4: Configure Authentication​

No Authentication​

Select No Authentication if your MCP server doesn't require authentication.

OAuth 2.0​

For OAuth-protected servers:

  1. Select OAuth 2.0 as the authentication method
  2. Enter OAuth Scopes (space-separated)
    • Example: read write admin
    • Example: org:read project:write team:write

OAuth Flow:

  • When a user interacts with the agent, they'll be prompted to authorize
  • Authorization is handled automatically
  • Tokens are securely stored and refreshed as needed

Step 5: Custom Headers (Optional)​

If your MCP server requires custom HTTP headers:

  1. Click Add Header
  2. Enter the header name (e.g., X-API-Key, Authorization)
  3. Enter the header value
  4. Add additional headers as needed

Common Headers:

  • X-API-Key: your-api-key
  • Authorization: Bearer token
  • X-Custom-Header: custom-value

Step 6: Enable/Disable Server​

Toggle the Enabled checkbox to control whether the server is active:

  • Enabled: Server tools are available to the agent
  • Disabled: Server tools are hidden but configuration is preserved

Step 7: Test Connection​

  1. Click the Test button to verify the connection
  2. Wait for the test result:
    • Success: Server is reachable and configured correctly
    • Error: Check your configuration and network connectivity

Step 8: Save Configuration​

  1. Click Save to store your MCP server configuration
  2. The server is now available to your agent

Managing MCP Servers​

Viewing Configured Servers​

In the MCP tab, you can see:

  • Server Count - Number of configured servers
  • Server Status - Enabled/disabled status
  • Server Names - List of all configured servers

Editing Server Configuration​

  1. Find the server in the Advanced Configuration section
  2. Click to expand the server configuration
  3. Modify any settings
  4. Click Test to verify changes
  5. Configuration is saved automatically

Removing Servers​

  1. Find the server you want to remove
  2. Click the Remove icon (trash can)
  3. Confirm removal
  4. The server is removed from your agent configuration
warning

Removing an MCP server will make its tools unavailable to the agent. Make sure no active conversations depend on these tools.

Enabling/Disabling Servers​

Toggle the Enabled checkbox for any server:

  • Enable: Makes server tools available
  • Disable: Hides server tools but preserves configuration

This is useful for:

  • Temporarily disabling problematic servers
  • Testing different server configurations
  • Managing server availability without removing configuration

Transport Types​

HTTP (streamable_http)​

Use When:

  • Connecting to REST APIs
  • Standard request/response patterns
  • Web services and microservices

Configuration:

  • URL should point to the MCP endpoint
  • Supports standard HTTP methods
  • Works with most web services

Example:

URL: https://api.example.com/mcp
Transport: HTTP

SSE (Server-Sent Events)​

Use When:

  • Real-time data streams
  • Live updates and notifications
  • One-way server-to-client communication

Configuration:

  • URL should point to the SSE endpoint
  • Server must support SSE protocol
  • Automatic reconnection on disconnect

Example:

URL: https://stream.example.com/sse
Transport: SSE

Authentication Methods​

No Authentication​

Use when your MCP server doesn't require authentication:

  • Public APIs
  • Internal services
  • Development/testing servers

Configuration:

  • Select No Authentication
  • No additional configuration needed

OAuth 2.0​

Use for secure, user-authorized access:

  • Third-party services (Sentry, Canva, etc.)
  • User-specific data access
  • Scoped permissions

Configuration:

  1. Select OAuth 2.0
  2. Enter OAuth scopes (space-separated)
  3. Users will authorize on first use

OAuth Scopes Examples:

  • Sentry: org:read project:write team:write event:write
  • Canva: asset:read asset:write design:read design:write
  • Custom: read write admin

OAuth Flow:

  1. User interacts with agent
  2. Agent needs MCP tool from OAuth-protected server
  3. User is prompted to authorize
  4. Authorization completes automatically
  5. Token is stored securely
  6. Future requests use stored token

Custom Headers​

Use custom headers for:

  • API keys
  • Custom authentication tokens
  • Service-specific headers
  • Request metadata

Adding Headers​

  1. In server configuration, find Custom Headers section
  2. Click Add Header
  3. Enter header name (e.g., X-API-Key)
  4. Enter header value
  5. Add more headers as needed

Common Header Patterns​

API Key:

Header: X-API-Key
Value: your-api-key-here

Bearer Token:

Header: Authorization
Value: Bearer your-token-here

Custom Service Header:

Header: X-Service-Name
Value: your-service-identifier

Use Cases​

Error Monitoring​

Sentry MCP Server

Monitor application errors and performance:

{
"server_name": "sentry",
"transport": "streamable_http",
"url": "https://mcp.sentry.dev/mcp",
"auth_type": "oauth",
"oauth_scopes": "org:read project:write team:write event:write"
}

Agent Capabilities:

  • "Show me errors from the last 24 hours"
  • "What's the error rate for project X?"
  • "List all unresolved issues"

Database Access​

Custom Database MCP Server

Connect to your database:

{
"server_name": "postgres-db",
"transport": "streamable_http",
"url": "https://mcp.example.com/database",
"auth_type": "oauth",
"headers": {
"X-Database-Name": "production"
}
}

Agent Capabilities:

  • "Query the users table"
  • "Show me recent orders"
  • "Get customer statistics"

File System Access​

File System MCP Server

Access files and directories:

{
"server_name": "filesystem",
"transport": "streamable_http",
"url": "https://mcp.example.com/files",
"auth_type": "oauth"
}

Agent Capabilities:

  • "List files in the documents folder"
  • "Read the config file"
  • "Search for files containing 'error'"

Real-Time Data Streams​

SSE MCP Server

Connect to live data feeds:

{
"server_name": "live-data",
"transport": "sse",
"url": "https://stream.example.com/sse",
"auth_type": "oauth"
}

Agent Capabilities:

  • "Show me live stock prices"
  • "Monitor system metrics"
  • "Track real-time events"

Best Practices​

Server Naming​

  • Be Descriptive: Use clear, meaningful names
  • Use Lowercase: Prefer lowercase with hyphens
  • Avoid Special Characters: Stick to letters, numbers, and hyphens
  • Be Consistent: Follow a naming convention

Good Examples:

  • sentry-monitoring
  • postgres-production
  • weather-api

Bad Examples:

  • Server1
  • my_mcp_server
  • MCP-Server!!!

URL Configuration​

  • Use HTTPS: Always prefer secure connections
  • Include Full Path: Specify the complete endpoint URL
  • Test URLs: Verify URLs are accessible before saving
  • Document Endpoints: Keep documentation of your endpoints

Authentication​

  • Use OAuth When Possible: More secure than API keys
  • Minimize Scopes: Request only necessary permissions
  • Store Securely: Tokens are handled automatically
  • Test Authorization: Verify OAuth flow works correctly

Error Handling​

  • Test Connections: Use the Test button before saving
  • Monitor Logs: Check for connection errors
  • Handle Failures: Configure fallbacks for critical servers
  • Disable Problematic Servers: Temporarily disable if needed

Performance​

  • Limit Server Count: Too many servers can slow down agents
  • Disable Unused Servers: Keep only active servers enabled
  • Optimize Headers: Only include necessary custom headers
  • Monitor Response Times: Watch for slow MCP server responses

Troubleshooting​

Connection Failures​

Problem: Test connection fails

Possible Causes:

  • Incorrect URL
  • Network connectivity issues
  • Server not running
  • Firewall blocking connection

Solutions:

  • Verify URL is correct and accessible
  • Check network connectivity
  • Ensure server is running
  • Review firewall rules

Authentication Errors​

Problem: OAuth authentication fails

Possible Causes:

  • Incorrect OAuth scopes
  • Server doesn't support OAuth
  • User hasn't authorized
  • Token expired

Solutions:

  • Verify OAuth scopes are correct
  • Check server OAuth documentation
  • Re-authorize the connection
  • Check token expiration settings

Tools Not Available​

Problem: MCP server tools don't appear

Possible Causes:

  • Server is disabled
  • Connection not established
  • Server not responding
  • Tool discovery failed

Solutions:

  • Enable the server
  • Test the connection
  • Verify server is running
  • Check server logs

Timeout Errors​

Problem: Requests timeout

Possible Causes:

  • Slow server response
  • Network latency
  • Server overloaded
  • Incorrect timeout settings

Solutions:

  • Check server performance
  • Verify network speed
  • Reduce server load
  • Adjust timeout settings if configurable

Testing MCP Servers​

Test Connection​

  1. Configure your MCP server
  2. Click the Test button
  3. Wait for results:
    • Success: Green indicator with success message
    • Error: Red indicator with error details

Test Results​

Success Indicators:

  • Connection successful message
  • Server responding correctly
  • Authentication working (if applicable)

Error Indicators:

  • Connection timeout
  • Authentication failed
  • Invalid URL
  • Server not responding

Interpreting Results​

Success:

✓ Connection successful
MCP server connection tested successfully

Error:

✗ Connection failed
Failed to connect to server: Connection timeout

Security Considerations​

OAuth Security​

  • Token Storage: Tokens are stored securely
  • Token Refresh: Automatic token refresh when expired
  • Scope Limitation: Request minimum necessary scopes
  • User Authorization: Users must explicitly authorize

Custom Headers​

  • Sensitive Data: Don't put sensitive data in headers if avoidable
  • API Keys: Use OAuth when possible instead of API keys
  • Header Visibility: Headers are stored in configuration
  • Access Control: Limit who can view/edit MCP configurations

Network Security​

  • HTTPS Only: Always use HTTPS for production servers
  • Internal Networks: Use internal URLs for private servers
  • Firewall Rules: Configure firewalls appropriately
  • VPN Access: Use VPN for secure connections when needed

Examples​

Example 1: Sentry Integration​

Configuration:

{
"server_name": "sentry",
"transport": "streamable_http",
"url": "https://mcp.sentry.dev/mcp",
"auth_type": "oauth",
"oauth_scopes": "org:read project:write team:write event:write",
"enabled": true
}

Usage:

  • Agent can monitor errors
  • View performance metrics
  • Manage Sentry projects

Example 2: Custom API Integration​

Configuration:

{
"server_name": "custom-api",
"transport": "streamable_http",
"url": "https://api.example.com/mcp",
"auth_type": "oauth",
"oauth_scopes": "read write",
"headers": {
"X-Client-ID": "your-client-id"
},
"enabled": true
}

Usage:

  • Agent can call custom API endpoints
  • Access protected resources
  • Use custom headers for identification

Example 3: Internal Service​

Configuration:

{
"server_name": "internal-service",
"transport": "streamable_http",
"url": "http://internal-service:8000/mcp",
"auth_type": "none",
"headers": {
"X-Internal-Key": "internal-key-value"
},
"enabled": true
}

Usage:

  • Agent can access internal services
  • No OAuth required
  • Custom header for internal authentication

EKB as an MCP server​

Looking for the other direction — driving EKB from Claude, Cursor, or ChatGPT? See EKB as MCP.

  • Toolkits - Built-in integrations and tools
  • Tools - Custom tools and actions
  • Agent Configuration - Configure agent behavior
  • API Integration - Connect to external APIs
Toolkits

Learn about built-in toolkits and integrations

Support​

Need help with MCP servers? Contact support at support@automationanywhere.com.