> ## Documentation Index
> Fetch the complete documentation index at: https://docs.thehog.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP tools

> Reference the workflow and direct API tools exposed by The Hog MCP.

The MCP server exposes workflow tools for GTM jobs and API tools for direct control over a specific endpoint.

## Workflow tools

Use these first when your request maps to a GTM job rather than one API call:

| Tool | Use it for |
| - | - |
| `build_prospect_list` | Search target companies, find relevant people, and optionally enrich contacts. |
| `find_people_at_target_accounts` | Find contacts at a known list of company domains or names. |
| `enrich_prospect_list` | Enrich a batch of known prospects with requested contact fields or signals. |
| `research_company` | Crawl a company site, search recent web results, and run structured deep research. |
| `research_person` | Build a structured research dossier for a person or prospect. |
| `monitor_topic` | Create monitors for a topic, company, profile, or post, and optionally run them immediately. |
| `analyze_social_profile` | Fetch and summarize bounded public Instagram or TikTok profile data. |
| `scrape_and_extract` | Scrape one URL and optionally extract structured data with deep research. |

### Target account people search

`find_people_at_target_accounts` accepts company domains, company names, or company LinkedIn URLs. Prefer domains or names when you know the account. A LinkedIn URL is useful when you already know the exact company page, but the tool should not silently replace the requested account with a different company page.

When the workflow waits for the people-search operation to finish, the underlying result can include:

| Field | Meaning |
| - | - |
| `targetAccountSearchMode` | `linkedin_company_page`, `profile_current_company`, or `unavailable`. |
| `targetAccountOutcome` | The LinkedIn company-handle resolution outcome: supplied, verified, unavailable/conflicting, or unresolved. Use `targetAccountSearchMode` to see how people were matched. |
| `companyMatchEvidence` | Per-person evidence summary: `company_page` or `profile_current_job`. |

If the workflow returns an operation ID instead of final people, call `get_operation` with that ID and read the same fields from the operation result.

## API tools

Use these when you want direct control over a specific public API endpoint:

| Area | Tools |
| - | - |
| Companies and people | `search_companies`, `search_people` |
| Enrichment | `enrich_contact`, `enrich_contacts`, `get_enrichment` |
| Research and operations | `start_deep_research`, `get_operation` |
| Search | `submit_search`, `get_search_result`, `list_searches` |
| Web scraping | `search_web`, `crawl_website`, `scrape_web_page` |
| Social scraping | `get_instagram_profile`, `list_instagram_posts`, `get_instagram_post`, `list_instagram_post_comments`, `list_instagram_followers`, `list_instagram_following`, `get_tiktok_profile` |
| Monitors | `create_monitor`, `list_monitors`, `get_monitor`, `update_monitor`, `delete_monitor`, `run_monitor_now`, `list_monitor_events` |

## Example prompts

```text theme={null} theme={"theme":{"light":"github-light","dark":"github-dark"}}
Build a prospect list of 20 Series B fintech companies in the US and find Heads of Partnerships at each company.
```

```text theme={null} theme={"theme":{"light":"github-light","dark":"github-dark"}}
Research Acme Corp and return products, customers, competitors, recent signals, and sources.
```

```text theme={null} theme={"theme":{"light":"github-light","dark":"github-dark"}}
Create a weekly monitor for mentions of our brand on web search and run it once now.
```

## Async results

Many The Hog API calls run asynchronously. MCP tools may return an operation ID, poll URL, child operation IDs, warnings, and partial step results. If a tool returns an operation ID instead of final data, ask your client to call `get_operation` with that ID.

Deep-research-bearing tools (`research_company`, `research_person`, `scrape_and_extract`, `start_deep_research`) are **async-first**: because deep research runs for minutes, they return an operation ID immediately (status `queued`) rather than blocking. Poll `get_operation` until the status is `completed` to fetch the result. You may set `waitForResult: true` to wait inline, but the wait is capped at \~50s (below the \~60s MCP client/gateway ceiling); if it does not finish in time you still receive the operation ID to poll. Re-attaching with `get_operation` does not consume additional credits — do not re-issue the call to retry.

Slow LinkedIn profile post scrapes use the same pattern: `list_linkedin_profile_posts` queues work and returns an operation ID immediately. Poll `get_operation` until status is `succeeded` to fetch the posts.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.