Custom Integration

Technical reference for engineering teams building MCP-compatible AI tools that connect to ZoomInfo.

·Rowan BaileyRowan BaileySenior Director, Product

Overview

ZoomInfo MCP is an open MCP server. Any client that can authenticate and speak the MCP protocol can connect to it. This guide covers what engineering teams need to integrate ZoomInfo into a custom-built AI tool or agent workflow.

Server Details

PropertyValue
MCP Server URLhttps://mcp.zoominfo.com/mcp
ProtocolModel Context Protocol (MCP)
ArchitectureStateless
Rate limit25 requests per second

Authentication

ZoomInfo MCP uses OAuth-based authentication. Each user must authenticate with their own ZoomInfo credentials. Shared or service account authentication is not recommended as it loses user-level context for personalized tools like Account Research.

To obtain credentials programmatically, use the ZoomInfo Developer Portal. Enable the data scopes your application requires (note: MCP does not have its own permission scope; select the underlying data sets your tool needs access to).

Connecting to the Server

In your MCP client configuration, point to the ZoomInfo server URL and handle the OAuth flow:

{
  "mcpServers": {
    "zoominfo": {
      "url": "https://mcp.zoominfo.com/mcp"
    }
  }
}

On first connection, the client will call tools/list to retrieve the full set of available tools and their descriptions. This happens automatically at the start of each session, so your client always receives the latest tool definitions without any versioning overhead.

Tool Discovery

After connecting, call tools/list to enumerate available tools. Each tool definition includes:

  • Name: the tool identifier used in tools/call
  • Description: optimized for LLM routing; describes when to use the tool and what inputs are required
  • Input schema: JSON Schema defining required and optional parameters
// Example: tools/list response (abbreviated)
{
  "tools": [
    {
      "name": "lookup",
      "description": "Reference data for valid search filter values...",
      "inputSchema": {
        "type": "object",
        "properties": {
          "fieldName": {
            "type": "string",
            "description": "Field to lookup (e.g., management-levels, industries)"
          }
        },
        "required": ["fieldName"]
      }
    }
  ]
}

Calling a Tool

Use tools/call with the tool name and parameters:

{
  "method": "tools/call",
  "params": {
    "name": "search_companies",
    "arguments": {
      "industryId": "6374",
      "employeeCount": { "min": 100, "max": 1000 },
      "location": "United States"
    }
  }
}

Batch Sizes and Rate Limits

ToolMax records per call
Enrich Companies25
Enrich Contacts25
Find Similar Companies25
Find Similar Contacts25
Find Recommended Contacts25
Account Research1
Contact Research1

The API rate limit is 25 requests per second. Build retry logic with exponential backoff for production workloads.

Error Handling

ZoomInfo returns standard HTTP error codes. Common errors:

CodeCauseResolution
401Invalid or expired credentialsRe-authenticate the user
403Insufficient entitlementsCheck user's package and bulk credit availability
429Rate limit exceededBack off and retry

For the full error reference, see the ZoomInfo API documentation.

Context Management

For direct tools (Search, Enrich), payloads scale with result set size. Cap batch sizes appropriately for your context window limits.

API Reference

For the full ZoomInfo API and data schema reference, see docs.zoominfo.com/docs.