---
title: "Connect LeadIQ to Claude: Find Decision Makers and Identify Companies"
slug: connect-leadiq-to-claude-find-decision-makers-and-identify-companies
date: 2026-10-16
author: Riya Sethi
categories: ["AI & Agents"]
excerpt: "Learn how to connect LeadIQ to Claude using a managed MCP server. Discover how to configure the integration, generate API tools, and automate B2B prospecting."
tldr: "Connect LeadIQ to Claude using Truto's managed MCP server to automate B2B prospecting. This guide covers setup via UI/API, tool configuration, credit-aware schema handling, and real-world workflows."
canonical: https://truto.one/blog/connect-leadiq-to-claude-find-decision-makers-and-identify-companies/
---

# Connect LeadIQ to Claude: Find Decision Makers and Identify Companies


If you need to connect LeadIQ to Claude to automate B2B prospecting, find technical decision makers, and enrich target account lists, you need a [Model Context Protocol (MCP) server](https://truto.one/what-is-mcp-and-mcp-servers-and-how-do-they-work/). This server acts as the translation layer between Claude's natural language tool calls and LeadIQ's structured REST APIs. You can either build and maintain this integration infrastructure in-house, or use a managed platform like [Truto](https://truto.one/managed-mcp-for-claude-full-saas-api-access-without-security-headaches/) to dynamically generate a secure, authenticated MCP server URL. 

If your team uses ChatGPT, check out our guide on [connecting LeadIQ to ChatGPT](https://truto.one/connect-leadiq-to-chatgpt-search-and-enrich-b2b-prospect-profiles/) or explore our broader architectural overview on [connecting LeadIQ to AI Agents](https://truto.one/connect-leadiq-to-ai-agents-build-targeted-lists-and-enrich-leads/).

Giving a Large Language Model (LLM) read and write access to a specialized sales intelligence platform like LeadIQ is an engineering challenge. You have to map highly nested JSON schemas to MCP tool definitions, handle LeadIQ's specific credit-deduction parameters, and safely expose rate-limited endpoints to autonomous agents. Every time LeadIQ updates an endpoint or deprecates a search parameter, you have to update your server code, redeploy, and test the integration.

This guide breaks down exactly how to use Truto to generate a secure, managed MCP server for LeadIQ, connect it natively to Claude Desktop, and execute complex prospecting workflows using natural language.

> Want to give your AI agents secure, authenticated access to LeadIQ and 100+ other SaaS APIs? Let's talk about managed MCP architecture.
>
> [Talk to us](https://truto.one/book-a-demo/)

## The Engineering Reality of the LeadIQ API

A custom MCP server is a self-hosted integration layer. While the open MCP standard provides a predictable way for models to discover tools over [JSON-RPC 2.0](https://truto.one/what-is-mcp-and-mcp-servers-and-how-do-they-work/), the reality of implementing it against a specialized data provider like LeadIQ is complex. If you decide to build a custom MCP server for LeadIQ, here are the specific integration challenges you will face:

### Credit-Aware Data Schemas
Standard REST APIs typically return all available fields for a given resource. LeadIQ's API does not, because returning contact information costs credits. If you query the `list_all_lead_iq_contacts` endpoint, LeadIQ intentionally omits emails and phone numbers. To get that data, you must explicitly pass flags like `with_personal_emails` or `with_phones`. If your MCP server does not clearly define these boolean parameters in its JSON schema with strict descriptions, Claude will hallucinate contact data or assume the API is broken when fields return empty.

### Divergent Search Architectures
LeadIQ treats company lookups and contact searches as distinct architectural models. A `GroupedAdvancedSearch` for companies behaves entirely differently than a `FlatAdvancedSearch` for personnel. When executing a grouped search via the API, LeadIQ returns only the company half of the grouped result - the people in those groups are neither read nor billed. Your MCP server must translate these distinct mental models into unified tools that Claude can understand, ensuring the LLM knows exactly which tool to use for firmographics versus contact enrichment.

### Strict Rate Limits and The 10K Ceiling
LeadIQ offset-paginated endpoints (`skip`/`limit`) are strictly capped at 10,000 combined records. Furthermore, when your AI agent fires off parallel enrichment requests and triggers an HTTP 429 Too Many Requests, you cannot rely on the integration layer to magically absorb the failure. **Truto does not retry, throttle, or apply backoff on rate limit errors.** Instead, Truto normalizes the upstream LeadIQ response into standardized IETF headers (`ratelimit-limit`, `ratelimit-remaining`, `ratelimit-reset`) and passes the HTTP 429 directly to the caller. Your AI agent or client application is strictly responsible for inspecting these headers and implementing its own retry and backoff math.

## How [Truto Managed MCP Servers](https://truto.one/managed-mcp-for-claude-full-saas-api-access-without-security-headaches/) Work

Truto eliminates the need to [manually code and maintain an MCP server](https://truto.one/what-is-mcp-and-mcp-servers-and-how-do-they-work/). When you connect a LeadIQ account, Truto automatically derives a complete set of MCP tools from LeadIQ's API resources and documentation records.

This tool generation is dynamic. Every time Claude requests a tool list (`tools/list`), Truto compiles the tools on the fly. It translates LeadIQ's complex payload structures into clean JSON Schema representations, complete with parameter descriptions that instruct Claude exactly how to use them. The server is exposed via a secure endpoint (`/mcp/:token`) that contains a cryptographically hashed token, scoping access to a specific connected LeadIQ instance.

## Creating the LeadIQ MCP Server

You can generate an MCP server for LeadIQ through the Truto dashboard or programmatically via the API.

### Method 1: Via the Truto UI

For teams testing workflows or setting up internal agents, the UI is the fastest path:

1. Log into your Truto account and navigate to the integrated account page for your LeadIQ connection.
2. Click the **MCP Servers** tab.
3. Click **Create MCP Server**.
4. Select your desired configuration. You can optionally restrict the server to only `read` operations or apply specific tool tags.
5. Click Save, and immediately copy the generated MCP server URL (e.g., `https://api.truto.one/mcp/a1b2c3d4...`).

### Method 2: Via the Truto API

For platform engineers embedding AI features into a SaaS application, you can generate MCP servers dynamically. The API verifies the LeadIQ integration, generates a random hex string, hashes it via HMAC for secure KV edge storage, and returns the endpoint.

**Endpoint:** `POST /integrated-account/:id/mcp`

```typescript
// Request payload
{
  "name": "SDR Agent LeadIQ Server",
  "config": {
    "methods": ["read", "custom"]
  },
  "expires_at": "2026-12-31T23:59:59Z"
}
```

```json
// Response
{
  "id": "mcp-7f8a9b2c",
  "name": "SDR Agent LeadIQ Server",
  "config": {
    "methods": ["read", "custom"]
  },
  "expires_at": "2026-12-31T23:59:59Z",
  "url": "https://api.truto.one/mcp/a1b2c3d4e5f6..."
}
```

## Connecting the MCP Server to Claude

Once you have your secure Truto MCP URL, you must register it with your Claude environment. 

### Method A: Via the Claude UI

If you are using Claude's enterprise or team web interface (or similar UI-based agent platforms like ChatGPT):

1. In your LLM interface, navigate to **Settings -> Integrations -> Add MCP Server** (or **Settings -> Connectors -> Add** in ChatGPT).
2. Name the integration (e.g., "LeadIQ Enrichment").
3. Paste the Truto MCP Server URL.
4. Click **Add**. Claude will instantly handshake with the server, negotiate protocol version `2024-11-05`, and list the available LeadIQ tools.

### Method B: Via Manual Config File (Claude Desktop)

If you are running Claude Desktop locally, you must map the remote Truto MCP URL using an SSE (Server-Sent Events) proxy script, as Claude Desktop requires local command execution for servers.

Open your `claude_desktop_config.json` file (located in `~/Library/Application Support/Claude/` on macOS or `%APPDATA%\Claude\` on Windows) and add the following block:

```json
{
  "mcpServers": {
    "leadiq-production": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-sse",
        "https://api.truto.one/mcp/a1b2c3d4e5f6..."
      ]
    }
  }
}
```

Save the file and restart Claude Desktop. The application will execute the proxy, connect to Truto, and pull down the LeadIQ schema.

## Hero Tools for LeadIQ Prospecting

Truto automatically generates precise, descriptive snake_case tools from LeadIQ's API endpoints. Here are the highest-leverage hero tools your AI agent will use to execute sales intelligence workflows.

### lead_iq_people_search
Looks up a single individual by email, LinkedIn URL, or a combination of name and company identity. This tool always includes a work email if LeadIQ has it on file. Personal emails and phone numbers are only returned if you explicitly instruct the LLM to pass the `with_personal_emails` or `with_phones` parameters, ensuring you control credit consumption.

> "I have a LinkedIn URL for the VP of Engineering at Stripe (https://linkedin.com/in/example). Use the `lead_iq_people_search` tool to find their direct work email and mobile phone number. Make sure to enable the flags for personal emails and phones."

### lead_iq_companies_search
Executes an exact identity lookup for a company using a domain, LinkedIn URL, or exact name. This is a targeted lookup, not a filtered search list, and returns a rich firmographic profile of the company including employee count, location, and industry tags. It returns zero results on a miss rather than guessing.

> "We just saw a sign-up from the domain 'anthropic.com'. Run the `lead_iq_companies_search` tool to get their exact employee count, headquarters location, and primary industry."

### list_all_lead_iq_companies
Executes a `GroupedAdvancedSearch` to find companies that match broad criteria, such as employee count ranges, countries, or specific industry domains. This tool returns only the company data; the personnel inside those companies are ignored to prevent accidental credit spend. It uses offset pagination (`skip`/`limit`) up to the 10,000 record cap.

> "I need a list of target accounts. Use the `list_all_lead_iq_companies` tool to find 50 companies located in the United States that have between 500 and 1000 employees in the enterprise software space."

### list_all_lead_iq_contacts
Executes a `FlatAdvancedSearch` to search for people by job title, seniority, company domain, or geographic location. Critically, this tool never selects email or phone fields by default - it is designed for building lists and evaluating persona volume before committing to enrichment.

> "We are targeting cybersecurity companies in London. First, find the domains. Then use the `list_all_lead_iq_contacts` tool to find people with the seniority 'Director' or 'VP' and the title 'Security' at those domains. Pull the first 100 results."

### get_single_lead_iq_contact_by_id
Retrieves the complete profile of a previously identified LeadIQ contact using their unique LeadIQ ID. This is typically used in multi-step workflows where an agent first searches a list of contacts, and then explicitly requests full enrichment for a qualified target.

> "You found three matching Directors of IT. Take the LeadIQ ID for the first person and run `get_single_lead_iq_contact_by_id` to pull their complete profile into our notes."

### create_a_lead_iq_list
Creates a new static list within the LeadIQ platform. This allows AI agents to act as autonomous SDRs - finding prospects, filtering them, and saving curated lists directly into the LeadIQ dashboard for human review or CRM export.

> "Create a new list using `create_a_lead_iq_list` named 'Q4 AI Enterprise Targets'. Once created, save the list ID so we can push our newly enriched contacts into it."

For the complete inventory of LeadIQ tools, parameter requirements, and JSON schemas, visit the [LeadIQ integration page](https://truto.one/integrations/detail/leadiq).

## Workflows in Action

Once connected, Claude can orchestrate multi-step data pipelines entirely autonomously. Because the input arguments arrive as a flat JSON object, Truto's MCP Router intelligently splits the LLM's arguments into the correct LeadIQ query and body parameters.

### Scenario 1: Autonomous Account Sourcing and Enrichment

An SDR needs to find relevant companies in a specific niche and extract the contact information for their engineering leaders.

> "Find 5 software companies in Berlin with 100-500 employees. Then, for each company, find their VP of Engineering and get their direct work email and LinkedIn URL."

1. **`list_all_lead_iq_companies`**: Claude queries LeadIQ with the location set to "Berlin", industry "Software", and employee count "100-500".
2. **`list_all_lead_iq_contacts`**: Claude iterates through the returned company domains, searching for contacts with the exact title "VP of Engineering".
3. **`lead_iq_people_search`**: Claude takes the specific names and domains found in step 2 and requests their full profiles, ensuring it retrieves the work email.

The user receives a perfectly formatted markdown table containing five verified engineering leaders, their exact domains, and valid work emails.

```mermaid
sequenceDiagram
    participant Claude as Claude
    participant Truto as Truto MCP
    participant LeadIQ as LeadIQ API
    
    Claude->>Truto: Call list_all_lead_iq_companies<br>{"location": "Berlin"}
    Truto->>LeadIQ: GET /v1/companies/search
    LeadIQ-->>Truto: Returns 5 company domains
    Truto-->>Claude: JSON Company Data
    
    Claude->>Truto: Call list_all_lead_iq_contacts<br>{"domains": [...], "title": "VP of Engineering"}
    Truto->>LeadIQ: GET /v1/contacts/search
    LeadIQ-->>Truto: Returns basic contact names
    Truto-->>Claude: JSON Contact Names
    
    Claude->>Truto: Call lead_iq_people_search<br>{"name": "...", "domain": "..."}
    Truto->>LeadIQ: GET /v1/people/search
    LeadIQ-->>Truto: Returns enriched profiles
    Truto-->>Claude: Final Email Data
```

### Scenario 2: Inbound Lead Qualification

A RevOps agent processes new inbound signups, using LeadIQ to qualify the lead before pushing them into the CRM.

> "We just got a sign-up from jsmith@acmecorp.io. Look up this person. If their company has more than 1000 employees, fetch their phone number and flag them as Enterprise."

1. **`lead_iq_people_search`**: Claude queries the exact email `jsmith@acmecorp.io` to pull the base profile and company domain.
2. **`lead_iq_companies_search`**: Claude takes the domain `acmecorp.io` and retrieves the firmographic data.
3. **`lead_iq_people_search`**: Because the employee count is >1000, Claude issues a secondary call for the same person, this time explicitly requesting `with_phones: true`.

The agent processes the conditional logic perfectly, minimizing credit spend on small businesses while aggressively enriching high-value enterprise leads.

```mermaid
flowchart TD
    A["Inbound Email: jsmith@acmecorp.io"] --> B["lead_iq_people_search<br>(Base Profile)"]
    B --> C["lead_iq_companies_search<br>(Check Employee Count)"]
    C --> D{"Employees > 1000?"}
    D -->|"Yes"| E["lead_iq_people_search<br>(with_phones: true)"]
    D -->|"No"| F["Stop Enrichment<br>Route to SMB Queue"]
    E --> G["Route to Enterprise<br>Sales Queue"]
```

## Security and Access Control

Exposing an expensive data provider like LeadIQ to an autonomous agent requires strict guardrails. Truto MCP servers support native configurations to restrict exactly what Claude can do:

*   **Method Filtering:** Restrict the MCP server to only read operations (`config: { methods: ["read"] }`). This prevents the LLM from accidentally invoking `create`, `update`, or `delete` methods, effectively making the server read-only.
*   **Tag Filtering:** Limit the available tools to specific integration tags. For example, you can create a server that only exposes `["companies"]` tools, preventing the LLM from accessing expensive people search endpoints.
*   **Require API Token Auth:** By setting `require_api_token_auth: true`, the Truto MCP server will reject any requests that do not include a valid Truto API bearer token or session cookie. The unguessable URL acts as the first layer of security, and the API token provides a strict secondary authorization layer.
*   **Automatic Expiration:** Set an `expires_at` ISO datetime. Truto's edge KV storage will automatically expire the token, and a durable alarm will prune the server from the database. This is critical when giving temporary prospecting tools to contractor agents.

## Moving from Chat to Automation

Connecting LeadIQ to Claude using a managed MCP server changes how your team handles sales data. Instead of copying and pasting LinkedIn URLs into a browser extension, your engineers can build agentic systems that autonomously research accounts, evaluate firmographics, and extract highly targeted contact lists.

By offloading the JSON-RPC translation, documentation parsing, and schema generation to Truto, your team can focus on writing better agent prompts and designing high-converting sales sequences.

> Ready to build agentic sales workflows? Connect your AI agents to LeadIQ and 100+ other enterprise APIs with Truto's [managed MCP infrastructure](https://truto.one/managed-mcp-for-claude-full-saas-api-access-without-security-headaches/).
>
> [Talk to us](https://truto.one/book-a-demo/)
