Skip to content

Connect Crunchbase to Claude: Analyze Firmographics and Market Data

Learn how to connect Crunchbase to Claude using a managed MCP server. Give your AI agents secure, schema-aware access to firmographics, funding rounds, and market data.

Nidhi KN Nidhi KN · · 8 min read
Connect Crunchbase to Claude: Analyze Firmographics and Market Data

If your team needs to connect Crunchbase to Claude to automate market mapping, analyze funding trends, or pull real-time firmographic data for investment thesis generation, you need a Model Context Protocol (MCP) server. This server acts as the translation layer between Claude's function calls and the Crunchbase REST API. You can either build and maintain this infrastructure yourself, or use a managed integration platform like Truto to dynamically generate a secure, authenticated MCP server URL.

If your team uses ChatGPT, check out our guide on /connect-crunchbase-to-chatgpt-research-companies-and-funding-rounds/ or explore our broader architectural overview on /connect-crunchbase-to-ai-agents-track-startups-deals-and-talent/.

Giving a Large Language Model (LLM) read and write access to a sprawling data ecosystem like Crunchbase is an engineering challenge. You have to handle API key lifecycles, map massive JSON schemas to MCP tool definitions, and deal with Crunchbase's specific query language. Every time Crunchbase updates an endpoint or deprecates a field, 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 Crunchbase, connect it natively to Claude Desktop, and execute complex workflows using natural language.

The Engineering Reality of the Crunchbase 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, the reality of implementing it against specialized B2B APIs is painful. Crunchbase's data model is highly relational and its API relies on specific patterns to prevent massive data dumps.

If you decide to build a custom Crunchbase MCP server, here are the specific integration challenges you will face:

Predicate-Based Search Queries Crunchbase does not rely on simple query parameters like ?name=Stripe for searching. Searching for organizations, people, or funding rounds requires executing a POST request to a search endpoint (e.g., /searches/organizations) with a complex JSON body containing an array of predicates. Each predicate must define a field_id, an operator_id (like eq, includes, gte), and values. If you do not map this strictly in your MCP tool definitions, an LLM will consistently hallucinate standard REST query parameters, resulting in failed searches.

Card-Based Data Retrieval By default, querying a single entity in Crunchbase returns a thin summary. To get meaningful data - such as a company's founders, recent funding rounds, or board members - you must explicitly request specific card_ids or field_ids. Your MCP tools must be built to surface these available cards to the LLM; otherwise, Claude will constantly complain that the data it needs is missing from the API response.

Strict Rate Limits and Error Passthrough Crunchbase enforces strict concurrency and daily quotas. When building an integration layer, handling these 429 Too Many Requests errors is critical. Factual note on rate limits: Truto does not retry, throttle, or apply backoff on rate limit errors. When Crunchbase returns an HTTP 429, Truto passes that error to the caller. Truto normalizes upstream rate limit info into standardized headers (ratelimit-limit, ratelimit-remaining, ratelimit-reset) per the IETF spec. The caller - in this case, the script wrapping Claude - is entirely responsible for managing retry logic and backoff. Do not expect the MCP server to absorb these errors.

How to Create the Crunchbase MCP Server

Truto dynamically generates MCP tools based on the existing documentation and schemas configured for the Crunchbase integration. This means your MCP server is always in sync with the underlying API definitions.

You can create the MCP server using either the Truto UI or the API.

Method 1: Via the Truto UI

This is the fastest method for one-off testing and internal team use.

  1. Navigate to the Integrated Accounts page in your Truto dashboard and select your connected Crunchbase account.
  2. Click the MCP Servers tab.
  3. Click Create MCP Server.
  4. Select your desired configuration. You can filter the server to only expose read operations or only expose tools tagged with investments.
  5. Copy the generated MCP server URL (e.g., https://api.truto.one/mcp/abc123def456).

Method 2: Via the Truto API

For production use cases where you are provisioning AI agents dynamically, you should generate MCP servers via the API.

Send a POST request to the /integrated-account/:id/mcp endpoint:

curl -X POST https://api.truto.one/integrated-account/{account_id}/mcp \
  -H "Authorization: Bearer YOUR_TRUTO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Crunchbase Market Analysis Agent",
    "config": {
      "methods": ["read"],
      "tags": ["organizations", "funding"]
    },
    "expires_at": "2026-12-31T23:59:59Z"
  }'

The API securely hashes the token, stores the configuration in a distributed key-value store for ultra-low latency lookups, and returns the endpoint URL:

{
  "id": "mcp_8f7e6d5c",
  "name": "Crunchbase Market Analysis Agent",
  "config": { "methods": ["read"], "tags": ["organizations", "funding"] },
  "expires_at": "2026-12-31T23:59:59Z",
  "url": "https://api.truto.one/mcp/a1b2c3d4e5f67890"
}

Connecting the MCP Server to Claude

Once you have your Truto MCP URL, you can connect it to Claude in two ways.

Method 1: Via the Claude UI

If you are using the Claude desktop app or enterprise web console:

  1. Go to Settings -> Integrations -> Add MCP Server.
  2. Give the connector a name (e.g., "Crunchbase API").
  3. Paste the Truto MCP URL.
  4. Click Add.

Claude will immediately execute a JSON-RPC initialize handshake and query the tools/list endpoint to discover the available Crunchbase operations.

Method 2: Via Manual Configuration File

For developers managing Claude Desktop configurations directly, you can append the server to your claude_desktop_config.json file. Because Truto acts as an SSE (Server-Sent Events) transport layer over HTTPS, you use the official @modelcontextprotocol/server-sse package to proxy the connection.

{
  "mcpServers": {
    "crunchbase": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-sse",
        "https://api.truto.one/mcp/a1b2c3d4e5f67890"
      ]
    }
  }
}

Restart Claude Desktop. The prompt bar will now display an attachment icon indicating that the Crunchbase tools are active.

Crunchbase MCP Hero Tools

Truto exposes the entirety of the Crunchbase API to Claude, but certain tools are critical for deep market research. Here are the highest-leverage tools available in the MCP server.

1. get_single_crunchbase_organization_by_id

Retrieves the full profile of an organization by its UUID or permalink. Use the field_ids and card_ids query parameters to extract specific attributes like founded_on, categories, and website.

"Get the company profile for the permalink 'stripe'. Include their founded date, short description, and primary categories."

2. list_all_crunchbase_search_organizations

Executes complex, predicate-based searches across the entire organization database. Essential for building market maps or finding companies that fit specific firmographic criteria.

"Search for organizations in the 'artificial intelligence' category founded after January 1, 2024. Return their permalinks and short descriptions."

3. get_single_crunchbase_funding_round_by_id

Fetches details of a specific funding round, including the announced date, money raised, and investment type.

"Get the details of the funding round with ID 'round-uuid-1234'. Show me the money raised and the investment stage."

4. list_all_crunchbase_search_funding_rounds

Searches across all funding rounds using predicates. Highly useful for macro-level analysis, such as tracking Series A volume in specific sectors.

"Search for all Series B funding rounds announced in the last 30 days that raised more than $20 million. Return the funded organization identifier and the exact amount raised."

5. crunchbase_organizations_get_card

Retrieves nested relational data for a specific organization. Because Crunchbase hides complex relationships behind "cards", this tool is required to extract lists of founders, child organizations, or headquarters addresses.

"Get the 'founders' card for the organization 'openai' to list the people who started the company."

6. list_all_crunchbase_search_people

Executes predicate searches against the people database. Use this to identify executives or investors matching specific criteria.

"Search for people with the primary job title 'Chief Information Security Officer' at companies located in San Francisco."

7. list_all_crunchbase_search_acquisitions

Searches M&A activity based on specific predicates. Critical for corporate development workflows and analyzing market consolidation.

"Search for all acquisitions completed in 2025 where the acquisition type was 'acquisition' and the price was disclosed. Return the acquirer and acquiree identifiers."

For the complete inventory of available operations, schemas, and parameters, view the Crunchbase integration page.

Workflows in Action

Once the MCP server is connected, Claude can autonomously chain these tools together to execute complex analytical workflows.

Scenario 1: Automated Competitor and Market Mapping

A corporate strategy team needs to map the competitive landscape for a new product initiative. Instead of manually clicking through Crunchbase, they prompt Claude:

"Find all companies in the 'cybersecurity' category founded after 2022 that have raised a Seed or Series A round. For each company, retrieve their founders and the total amount raised in their most recent round. Summarize the findings in a markdown table."

Execution Steps:

  1. Claude calls list_all_crunchbase_search_organizations with predicates filtering by category (cybersecurity) and founded date (>= 2022-01-01).
  2. For the resulting UUIDs, Claude iterates and calls crunchbase_organizations_get_card targeting the founders card.
  3. Claude then calls list_all_crunchbase_search_funding_rounds using the organization identifiers to isolate the most recent Seed/Series A data.
  4. Claude synthesizes the JSON responses into the requested markdown table.
sequenceDiagram
    participant User
    participant Claude
    participant MCP as "Truto MCP Server"
    participant Upstream as "Upstream API (Crunchbase)"

    User->>Claude: "Map new cybersecurity startups..."
    Claude->>MCP: tools/call (list_all_crunchbase_search_organizations)
    MCP->>Upstream: POST /searches/organizations
    Upstream-->>MCP: [Org UUID 1, Org UUID 2]
    MCP-->>Claude: JSON Array of Orgs
    
    loop For Each Org
        Claude->>MCP: tools/call (crunchbase_organizations_get_card)
        MCP->>Upstream: GET /entities/organizations/{uuid}/cards/founders
        Upstream-->>MCP: Founder Data
        MCP-->>Claude: JSON Founder Object
    end
    
    Claude-->>User: Markdown Table Synthesis

Scenario 2: Executive Talent Sourcing

A venture capital firm wants to build a list of potential EIRs (Entrepreneurs in Residence) by finding executives from recently acquired startups.

"Search for acquisitions completed in the last 6 months in the enterprise software space. Identify the acquired companies, then get the list of their founders and current titles. Output a brief profile for each individual."

Execution Steps:

  1. Claude calls list_all_crunchbase_search_acquisitions with a predicate for completed_on within the last 6 months.
  2. Claude extracts the acquiree_identifier (the acquired company) from the results.
  3. Claude passes those identifiers into get_single_crunchbase_organization_by_id to retrieve industry categories, verifying the 'enterprise software' requirement.
  4. Claude calls crunchbase_organizations_get_card for the founders card on the validated companies to pull the executive names and titles.
  5. The final output is formatted as actionable profiles for the VC team.

Security and Access Control

Exposing B2B data ecosystems to autonomous agents requires strict governance. Truto's MCP architecture provides several layers of access control configured at the token level:

  • Method Filtering: Restrict the server to specific operation types. By configuring methods: ["read"], you guarantee the LLM can execute get and list operations but will be blocked at the server level from attempting create, update, or delete calls.
  • Tag Filtering: Scope the server to specific domains. Using tags: ["funding", "organizations"] ensures the agent only sees tools related to those specific integration resources, keeping its context window focused and preventing access to unrelated data.
  • Extra Authentication: Enable require_api_token_auth: true to force the MCP client to pass a valid Truto API token in the Authorization header. This ensures that possession of the MCP URL alone is not enough to execute tools.
  • Ephemeral Access: Set an expires_at timestamp when creating the server. Once the time is reached, scheduled cleanup alarms automatically destroy the token, neutralizing the endpoint. This is ideal for granting an agent temporary access to complete a specific analytical task.

Final Thoughts

Connecting Claude to Crunchbase transforms static firmographic data into a dynamic, conversational asset. By utilizing a managed MCP server, you eliminate the overhead of maintaining complex API logic, token refreshes, and schema mappings.

Your engineers do not need to write integration scripts to query predicates or parse nested entity cards. Truto handles the translation between the MCP standard and the upstream API, ensuring your LLM always has schema-aware, fully authenticated access to the tools it needs to execute complex market analysis.

FAQ

Does Truto automatically retry Crunchbase rate limit errors?
No. Truto does not retry, throttle, or apply backoff on rate limit errors. When Crunchbase returns an HTTP 429, Truto passes the error to the caller and normalizes the rate limit info into standardized headers (ratelimit-limit, ratelimit-remaining, ratelimit-reset) per the IETF spec. The MCP client is responsible for handling retries.
How do I filter which Crunchbase tools Claude can access?
When creating the MCP server in Truto, you can pass configuration filters for specific HTTP methods (e.g., 'read' only) or tool tags. The server dynamically derives its toolset based on your filters, ensuring Claude only sees permitted operations.
Can I connect this MCP server to other LLMs besides Claude?
Yes. The standard MCP protocol is supported by Claude Desktop, Cursor, and ChatGPT (via custom connectors in developer mode). You can use the same server URL across any compliant framework.

More from our Blog