# Desearch MCP server

AI, X and web search, page extraction, X data, People Search, and Company Search.

## At a glance

Desearch is an MCP server in the Dev Tools & Git category. It runs locally over stdio via `npx -y desearch-mcp-server`, and needs DESEARCH_API_KEY and x-api-key. It exposes 14 tools, including people-search, people-search-pause and youtube. It scores A (82/100) on the MCP Skills Hub health score as of Oct 28, 2026.

## Install

### How to install Desearch in Claude Code

1. Add the server

```bash
claude mcp add mcp-desearch -e 'DESEARCH_API_KEY=<DESEARCH_API_KEY>' -- npx -y desearch-mcp-server
```

2. Fill in your credentials

   Replace <DESEARCH_API_KEY>, <X-API-KEY> with your real values. Keep secrets out of any config file you commit.

3. Verify it's connected

```bash
claude mcp list
```

4. Sharing it with your team?

   Add `--scope project` to write it to .mcp.json in the repository root, which you can commit (with the secrets left as environment variables).

5. Use it in a session

   Ask Claude to use the tools this server exposes (e.g. people-search, people-search-pause, youtube). It discovers them automatically.

### How to install Desearch in Claude Desktop

1. Open your MCP config

   macOS: ~/Library/Application Support/Claude/claude_desktop_config.json · Windows: %APPDATA%\Claude\claude_desktop_config.json

2. Add this server

```json
{
  "mcpServers": {
    "mcp-desearch": {
      "command": "npx",
      "args": [
        "-y",
        "desearch-mcp-server"
      ],
      "env": {
        "DESEARCH_API_KEY": "<DESEARCH_API_KEY>"
      }
    }
  }
}
```

3. Fill in your credentials

   Replace <DESEARCH_API_KEY>, <X-API-KEY> with your real values. Keep secrets out of any config file you commit.

4. Restart Claude Desktop

   The tools appear under the 🔌 menu once the app reloads.

### How to install Desearch in Cursor

1. Create / edit .cursor/mcp.json in your project

```json
{
  "mcpServers": {
    "mcp-desearch": {
      "command": "npx",
      "args": [
        "-y",
        "desearch-mcp-server"
      ],
      "env": {
        "DESEARCH_API_KEY": "<DESEARCH_API_KEY>"
      }
    }
  }
}
```

2. Fill in your credentials

   Replace <DESEARCH_API_KEY>, <X-API-KEY> with your real values. Keep secrets out of any config file you commit.

3. Enable it

   Cursor Settings → MCP → toggle the server on. Tools become available to the Composer/Agent.

### How to install Desearch in Codex CLI

1. Add to ~/.codex/config.toml

```toml
[mcp_servers.mcp-desearch]
command = "npx"
args = ["-y", "desearch-mcp-server"]
env = { DESEARCH_API_KEY = "<DESEARCH_API_KEY>" }
```

2. Fill in your credentials

   Replace <DESEARCH_API_KEY>, <X-API-KEY> with your real values. Keep secrets out of any config file you commit.

3. Run Codex

   Codex loads MCP servers from config.toml on startup and exposes their tools to the agent.

### How to install Desearch in Windsurf

1. Edit ~/.codeium/windsurf/mcp_config.json

```json
{
  "mcpServers": {
    "mcp-desearch": {
      "command": "npx",
      "args": [
        "-y",
        "desearch-mcp-server"
      ],
      "env": {
        "DESEARCH_API_KEY": "<DESEARCH_API_KEY>"
      }
    }
  }
}
```

2. Fill in your credentials

   Replace <DESEARCH_API_KEY>, <X-API-KEY> with your real values. Keep secrets out of any config file you commit.

3. Reload

   Windsurf → Cascade → refresh MCP servers. Cascade can now call the tools.

### How to install Desearch in Cline

1. Open Cline → MCP Servers → Configure

   Adds to cline_mcp_settings.json.

2. Add the server

```json
{
  "mcpServers": {
    "mcp-desearch": {
      "command": "npx",
      "args": [
        "-y",
        "desearch-mcp-server"
      ],
      "env": {
        "DESEARCH_API_KEY": "<DESEARCH_API_KEY>"
      }
    }
  }
}
```

3. Fill in your credentials

   Replace <DESEARCH_API_KEY>, <X-API-KEY> with your real values. Keep secrets out of any config file you commit.

### How to install Desearch in VS Code

1. Create .vscode/mcp.json

```json
{
  "servers": {
    "mcp-desearch": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "desearch-mcp-server"
      ],
      "env": {
        "DESEARCH_API_KEY": "<DESEARCH_API_KEY>"
      }
    }
  }
}
```

2. Fill in your credentials

   Replace <DESEARCH_API_KEY>, <X-API-KEY> with your real values. Keep secrets out of any config file you commit.

3. Start it

   VS Code shows a ▶ Start action above the server entry. Agent mode (Copilot Chat) can then use the tools.

## Tools

- `people-search` — starts a paid job billed to the user's Desearch balance and returns a `task_id` at once. It is the only billed People Search call. It reserves `count` people at the platform's per-person price (`reserved_cost_usd`). When the search ends you
- `people-search-pause` — , `people-search-resume`, and `people-search-cancel` pause, resume, or cancel it. A cancelled search bills only the people it already delivered.
- `youtube` — `min_subscribers`, `max_subscribers`, `countries`, `require_contact`, `keywords`, `exclude_keywords`
- `linkedin` — `min_followers`, `max_followers`, `countries`, `keywords`, `exclude_keywords`
- `tiktok` — `min_followers`, `max_followers`, `require_contact`, `keywords`, `exclude_keywords`
- `completion_reason` — is one of `count_reached`, `rounds_exhausted`, `no_candidates`, `zero_qualified`, `candidate_budget`, `cost_limit`, `time_limit`, `cancelled`, or `failed`. It is left out while the search runs.
- `coverage_limited` — appears (as `true`) only when a budget stopped the search before it found `count` people. The status is still `completed`.
- `warnings` — lists what made part of the search less reliable. `partial_enrichment`: `failed` of `attempted` profiles could not be read after search, so those people were scored on the search hit and show `enrichment: "failed"` with `enrichment_error`.
- `fully_verified` — is `true` when every criterion is confirmed by the person's own profile or posts. `unverified_criteria` lists up to five that are not: `(unknown)`, `(not met)`, or a disqualifier that `(applies)`. Both are information only: the person still
- `company-search` — or `company-enrich` starts a paid job billed to the user's Desearch balance and returns a `task_id` at once. Company Search reserves `count` companies at its per-company price, Company Enrich one company per domain sent at its own price (pr
- `company-search-status` — returns the task's status, progress, cost, and a page of companies. Each company goes through stages: `profile` (its homepage, and the fit score), `contacts` (its contact, about, team, and imprint pages), `people` (its leaders), `email_patt
- `company-search-pause` — , `company-search-resume`, and `company-search-cancel` pause, resume, or cancel it. `company-search-tasks` lists your tasks, filtered by `type` (`search` or `enrich`), `status`, or `metadata`.
- `score` — is the fit score (0–100) for Company Search and `null` for Company Enrich. `why` and up to three `reasons` say why it matched; `fully_verified` and `unverified_criteria` say what the company's own pages confirm (information only: the compan
- `primary_email` — is never a `support`, `legal`, `careers`, `press`, or `other` address, and an inferred one only when `valid`. `primary_contact` is the leader to reach first, with why.

Source repository: https://github.com/Desearch-ai/mcp-desearch

---

Source: https://mcp-skills-hub.vercel.app/mcps/io-github-desearch-ai-mcp-desearch · MCP Skills Hub · data as of 2026-10-28T12:31:05Z
