Descovo

// DOCUMENTATION

Descovo MCP Documentation

Descovo is a B2B data API and MCP server that gives AI agents direct access to 700M+ professional profiles, verified work emails, and direct phone numbers. Search people, companies, and jobs for free — reveals cost 1 credit each, with email and phone bundled together. No seats, no minimums, no contracts.

New to MCP? Read our guide to the Model Context Protocol.

// QUICK START

Quick Start: Connect the B2B Data API in Three Steps

01

Create an API key

Sign up at descovo.com (no credit card required). Go to your dashboard and generate an API key. It starts with sk_live_.

02

Add to your MCP client

Paste the config below into Claude Desktop, Claude Code, Cursor, or any MCP client. Replace the placeholder with your API key.

03

Ask your agent

Tell your agent what you need: "Find VPs of Engineering at fintech companies in NYC with verified emails." The agent calls Descovo and returns structured results.

// CLIENT SETUP

Connect your MCP client

Descovo uses Streamable HTTP transport. No local installation, no Docker, no npm package. Just a URL and your API key.

claude_desktop_config.json
{
  "mcpServers": {
    "descovo": {
      "url": "https://mcp.descovo.com/mcp",
      "headers": {
        "x-api-key": "sk_live_••••••••••••••••"
      }
    }
  }
}

Connection details

Endpoint: https://mcp.descovo.com/mcp

Transport: Streamable HTTP

Auth header: x-api-key: sk_live_...

// MCP TOOLS

MCP Server Tools and API Coverage

The MCP server exposes five tools. Your AI agent discovers them automatically and decides which to call based on your prompt.

search_endpoints

Find the right API operation for your intent. Describe what you want to do in natural language and the server returns matching operations.

When to use: You know what you want to do but not which operation to call.

list_all_endpoints

Browse every available API operation with a short summary of each.

When to use: You want to explore everything Descovo can do.

list_tag_packs

Browse operations grouped by category (people, companies, jobs, credits, etc.).

When to use: You want to see operations organized by domain.

get_endpoint_details_full

Get the full JSON schema for a specific operation, including all request parameters and response fields.

When to use: You found the operation you need and want exact parameter details before calling it.

call_operation

Execute any allowed operation. Pass the operation ID and its parameters. The MCP server handles authentication and routing.

When to use: You're ready to run a search, reveal contacts, or check credits.

In practice, most workflows follow this pattern: search_endpoints or list_tag_packs to find the right operation, then get_endpoint_details_full to get the schema, then call_operation to execute it. Your agent handles this automatically.

// SEARCH OPERATIONS

People Search API — Free, Unlimited Queries

All search operations cost zero credits. Run as many searches as you need to find the right people before committing a credit on a reveal. Count variants (e.g. peopleSearchCount) are also free.

peopleSearch

People Search

Search 700M+ professionals by name, title, seniority, company, industry, location, and keywords.

companySearch

Company Search

Search companies by name, domain, industry, headcount, location, and technology stack.

combinedSearch

Combined Search

Search people and companies in a single call with unified filters.

investorSearch

Investor Search

Search investors by fund name, investment stage, and sector.

investmentSearch

Investment Search

Search funding rounds by company, amount, date, and investor.

jobSearch

Job Search

Search open job postings by title, company, location, and keywords.

People search filters

The peopleSearch operation is the most powerful. Here are the available filters:

name

Filter by firstName and/or lastName.

jobTitleV3

Filter by function and seniority. Uses allOf/anyOf/noneOf arrays containing {type: "functional", seniority: [...], keywords: [...]}. Seniority values: vp, director, cxo, manager, entry, senior, owner, partner, training.

industry

Filter by LinkedIn industry enum. Uses anyOf/noneOf arrays. Values like "Financial Services", "Software Development", "Banking", "Information Technology & Services".

location

Filter by geography. Uses include/exclude arrays of city, state, or country strings.

currentCompanies

Filter by current employer. Pass company names or domains.

headcount

Filter by company size. Pass min and/or max values.

keywordsV2

Boolean keyword search across profiles.

jobStatus

Filter by employment status (e.g. "currently-employed").

limit / pageSize

Control pagination. Default varies by plan.

Example queries

These are the MCP tool call payloads your agent constructs automatically when you ask in natural language. Shown here for reference. See real-world examples in our AI sales prospecting guide.

// VPs of Engineering at fintech companies

call_operation
// Find VPs of Engineering at fintech companies
{
  "tool": "call_operation",
  "arguments": {
    "operationId": "peopleSearch",
    "parameters": {
      "jobTitleV3": {
        "allOf": [
          {
            "type": "functional",
            "seniority": ["vp"],
            "keywords": ["engineering"]
          }
        ]
      },
      "industry": {
        "anyOf": ["Financial Services"]
      },
      "limit": 25
    }
  }
}

// Sales directors in New York

call_operation
// Find sales directors in New York
{
  "tool": "call_operation",
  "arguments": {
    "operationId": "peopleSearch",
    "parameters": {
      "jobTitleV3": {
        "allOf": [
          {
            "type": "functional",
            "seniority": ["director"],
            "keywords": ["sales"]
          }
        ]
      },
      "location": {
        "include": ["New York"]
      },
      "limit": 25
    }
  }
}

// CTOs at companies with 50-200 employees

call_operation
// Find CTOs at companies with 50-200 employees
{
  "tool": "call_operation",
  "arguments": {
    "operationId": "peopleSearch",
    "parameters": {
      "jobTitleV3": {
        "allOf": [
          {
            "type": "functional",
            "seniority": ["cxo"],
            "keywords": ["technology"]
          }
        ]
      },
      "headcount": {
        "min": 50,
        "max": 200
      },
      "limit": 25
    }
  }
}

// Keyword search across profiles

call_operation
// Search by keywords across profiles
{
  "tool": "call_operation",
  "arguments": {
    "operationId": "peopleSearch",
    "parameters": {
      "keywordsV2": "machine learning infrastructure",
      "jobTitleV3": {
        "allOf": [
          {
            "type": "functional",
            "seniority": ["senior", "manager", "director"]
          }
        ]
      },
      "limit": 25
    }
  }
}

// Company search by domain

call_operation
// Search companies by domain
{
  "tool": "call_operation",
  "arguments": {
    "operationId": "companySearch",
    "parameters": {
      "domain": "ramp.com"
    }
  }
}

// REVEAL OPERATIONS

Reveal verified emails and phone numbers

Each reveal costs 1 credit and returns both the verified work email and direct phone number together. Contact data is validated live at the moment of the request.

syncQuickContactReveal

Quick Reveal

Fastest option. Returns cached email and phone if available. Use when speed matters more than exhaustive coverage.

syncContactEnrichment

Standard Reveal

Balanced speed and coverage. Checks multiple data sources synchronously. The default choice for most use cases.

syncTurboContactEnrichment

Turbo Reveal

Checks more sources than Standard with optimized parallelism. Good for high-value targets where you want better coverage without waiting for Exhaustive.

triggerExhaustiveContactEnrichment

Exhaustive Reveal

Checks every available data source. Slower, but maximizes the chance of finding contact data. Use for hard-to-find contacts.

// Example: reveal a contact

call_operation
// Reveal a contact's email and phone
{
  "tool": "call_operation",
  "arguments": {
    "operationId": "syncContactEnrichment",
    "parameters": {
      "personId": "the-person-id-from-search"
    }
  }
}

What if no data is found?

You are still charged 1 credit for the reveal attempt. The system processed the request and checked multiple data sources — a “not found” result is still a verified answer. This is consistent with how other data providers work. To minimize wasted credits, use search to verify a person exists in the database before revealing.

// CREDITS

Credit System and Usage-Based Pricing

Credits are the single unit of consumption. One credit = one contact reveal (email and phone bundled). Searching is always free.

Free (0 credits)

  • +peopleSearch / peopleSearchCount
  • +companySearch / companySearchCount
  • +combinedSearch
  • +investorSearch / investmentSearch
  • +jobSearch / jobSearchCount
  • +getOrgCredits

1 credit per call

  • +syncContactEnrichment
  • +syncQuickContactReveal
  • +syncTurboContactEnrichment
  • +triggerExhaustiveContactEnrichment

Check your balance

Ask your agent “How many credits do I have left?” or call getOrgCredits directly:

call_operation
// Check your remaining credit balance
{
  "tool": "call_operation",
  "arguments": {
    "operationId": "getOrgCredits",
    "parameters": {}
  }
}

Pricing tiers

PlanPriceCredits
Free$0500 / mo
Starter$99 / mo5,000 / mo
Pro$249 / mo15,000 / mo
Growth$699 / mo50,000 / mo
Enterprise$1,799 / mo150,000 / mo

Search is free on all plans. See full pricing for details including launch offers and annual discounts.

// AUTHENTICATION

API key authentication

Getting your API key

  1. Create an account at descovo.com (free, no card required).
  2. Go to your dashboard and click “Create API Key”.
  3. Copy the key. It starts with sk_live_ and is shown only once.

How auth works

Your API key is passed in the x-api-key HTTP header. When you configure the MCP server in your client, the header is set once in your config file and automatically included with every request. You never need to pass it manually in your prompts.

Security best practices

  • Never share your API key publicly or commit it to version control.
  • Use environment variables or your OS keychain when possible.
  • Rotate your key immediately if you suspect it has been compromised. Generate a new key from your dashboard.
  • Each key is scoped to your organization. All team members can share one key, or you can create separate keys per environment.

// BEST PRACTICES

Best Practices for B2B Data Queries

SEARCH FIRST

Search before revealing

Search is free. Always search to verify a person exists and matches your criteria before spending a credit on a reveal. This avoids wasting credits on mismatches or non-existent profiles.

FILTERS

Use specific filters

The more specific your filters (seniority + function + industry + location), the better your results. Broad searches return more noise. Stack filters to narrow down to exactly the people you need.

CREDITS

Check balance before bulk

Before running a batch of reveals, check your credit balance with getOrgCredits. This prevents your workflow from failing mid-batch when credits run out.

QUICK VS EXHAUSTIVE

Choose the right reveal

Use Quick Reveal for speed, Standard for most cases, and Exhaustive only for hard-to-find contacts. Each costs 1 credit regardless, so pick based on your coverage needs.

PAGINATION

Use limit and pageSize

Set a reasonable limit (25-50) on searches. Large result sets take longer and you probably only need the top matches. Paginate if you need more.

AGENT TIPS

Let your agent figure it out

You don't need to know the exact parameter names. Describe what you want in natural language and your agent will construct the right call. The MCP tools guide the agent automatically. For inspiration, explore 5 agentic AI workflows you can build today.

// FAQ

MCP Server FAQ

For the full list, see the FAQ page. Here are the most common questions about the MCP server:

Do I need to install anything?+

No. Descovo runs as a hosted MCP server. You configure your MCP client to connect to https://mcp.descovo.com/mcp with your API key in the x-api-key header. No npm package, no Docker, no local process.

Can I use Descovo without MCP, via a regular API?+

Yes. Every operation available through MCP is also available as a REST API endpoint. The MCP server is a convenience layer on top of the same API. You can call the API directly with your sk_live_ key in the x-api-key header.

What MCP clients are supported?+

Any client that supports the MCP streamable HTTP transport: Claude Desktop, Claude Code (CLI), Cursor, Windsurf, and custom MCP integrations.

What happens if a reveal finds no data?+

You are still charged 1 credit. The system processed the request and checked multiple data sources. A "not found" result is still a verified answer.

Is there a rate limit?+

Yes, but limits are generous for normal usage. Higher-tier plans get higher rate limits. If you hit a limit, the server returns a standard 429 response and your agent will retry automatically.

Ready to connect?

Get your API key and start searching in under a minute. Free to start, no credit card required. Learn more about the platform overview or browse solutions built on Descovo.