Skip to main content
Glama
herohunt-ai

herohunt-mcp

Official
by herohunt-ai

herohunt-mcp

MCP server for the HeroHunt People Search API. Search for talent across LinkedIn, GitHub, and StackOverflow from any MCP-compatible AI agent.

Quick Start

Claude Desktop, Cursor, and most modern MCP clients support remote HTTP endpoints directly. No package installation needed.

Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "herohunt-people-search": {
      "url": "https://api.herohunt.ai/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Cursor (~/.cursor/mcp.json):

{
  "mcpServers": {
    "herohunt-people-search": {
      "url": "https://api.herohunt.ai/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Option 2: stdio (via npx)

For MCP clients that only support stdio transport:

{
  "mcpServers": {
    "herohunt-people-search": {
      "command": "npx",
      "args": ["-y", "herohunt-mcp"],
      "env": {
        "HEROHUNT_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

Related MCP server: candidate-mcp-server

Get Your API Key

Sign up at herohunt.ai/app/api/sign-up to get your API key.

Tools

Tool

Type

Description

people_search

Write

Search for people profiles using natural language. 1 credit per reserved slot.

people_search_paginate

Read

Fetch more results for an existing search. Free unless enrichment is on.

account_usage_get

Read

Get plan, credits, rate limit info. Free.

account_searches_list

Read

List past searches. Free.

account_upgrade_link

Read

Get plan upgrade URL. Free.

account_billing_portal_link

Read

Get Stripe billing portal URL. Free.

api_keys_list

Read

List API key prefixes and scopes. Free.

api_keys_create

Write

Create a new API key.

api_keys_rotate

Write

Rotate an existing API key.

api_keys_revoke

Write

Permanently revoke an API key.

Example

After connecting, ask your AI agent:

"Use HeroHunt to find me 5 senior Go engineers in Berlin and summarise the top 3."

The agent will call people_search with a natural language query, receive structured profile data (name, title, company, location, skills, platform links), and summarize the results.

To get contact info, ask:

"Enrich the results with emails and phone numbers."

The agent will call people_search_paginate with enrich: true.

Environment Variables

Variable

Required

Default

Description

HEROHUNT_API_KEY

Yes

-

Your People Search API key

HEROHUNT_MCP_URL

No

https://api.herohunt.ai/api/v1/mcp

Override the MCP endpoint URL

License

MIT

Available Tools

10 tools
account_searches_listC

List past searches with first-page profiles. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoHistory page.
limitNoNumber of past searches (default 20).
includeLogsNoInclude pipeline logs.
per_search_pageNoProfiles per past search (default 10).
returnAllProfilesNoInclude all profiles per search.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It mentions 'Free' but does not describe rate limits, whether it is read-only, or what happens if no searches exist. The listing nature is implied but not explicitly stated as safe.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise with two short sentences. It front-loads the core action. The word 'Free' is arguably unnecessary but does not harm conciseness. However, it could be slightly more informative without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters and no output schema, the description should explain return values, pagination behavior, and how it relates to sibling tools like 'people_search'. It lacks sufficient context for an agent to use it correctly without guessing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with descriptions for all 5 parameters. The description adds no additional meaning beyond the schema. Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List past searches with first-page profiles,' using a specific verb and resource. It distinguishes from sibling tools like 'people_search' which search people, not list past searches. However, it could be more precise about what 'first-page profiles' means.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as 'people_search_paginate' or 'account_usage_get'. There is no mention of prerequisites or scenarios where this tool is preferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

account_usage_getB

Get plan, total/used/remaining credits, rate limit, and next credit reset date. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must disclose behavior. It says 'Free' (likely no credit cost), but does not state authentication requirements, read-only nature, or any limitations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no redundant words. Lists specific data items efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, so description must explain return values. It covers the main elements but lacks detail on data types or structure. Adequate for a simple read operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so schema coverage is 100%. Description adds value by listing the output fields (plan, credits, rate limit, reset date) beyond the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it retrieves plan, credits, rate limit, and reset date. Implicitly distinguishes from sibling tools like account_upgrade_link and account_billing_portal_link by listing specific data fields, but no explicit differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. For example, no mention of whether this is a quick check or a prerequisite for other account actions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

api_keys_createA

Create a new API key. Full key is returned only once. Store it immediately.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesFriendly name for the key (e.g. "CI Bot").
scopesNoPermission scopes. Defaults to people:search.
expiresAtNoISO-8601 expiry date (optional).

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; the description discloses a key behavioral trait (key returned once, store immediately) but omits other details like authentication requirements or error handling, which are expected for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, each critical: the first states the action, the second provides essential warning. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description explains the critical return behavior. It covers the core purpose and warning, though it could mention error scenarios or idempotency.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents parameters. The description adds no additional meaning beyond what is in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates an API key and adds critical context about the key being returned only once and needing immediate storage, distinguishing it from siblings like api_keys_list, rotate, and revoke.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use (when a new API key is needed) and includes a storage warning, but does not explicitly mention when not to use or compare with alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

api_keys_listA

List API key prefixes, scopes, and last-used timestamps.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It implies a read-only operation (listing), but does not explicitly state it is non-destructive, idempotent, or any other behavioral traits (e.g., rate limits, auth needs). Minimal transparency beyond the core purpose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that is front-loaded with the verb 'List' and describes the resource and returned fields. Every word contributes meaning; no wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters, no output schema, and minimal annotations, the description is adequate but has gaps. It lists returned fields but does not explain return format, pagination, or ordering. Suitable for a simple list, but could be more complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so the baseline is 4. The description adds no parameter information, but none is needed. It does not enrich beyond the schema but meets the baseline for parameterless tools.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies the verb 'List' and the resource 'API keys' with specific fields (prefixes, scopes, timestamps). It clearly differentiates from sibling tools like api_keys_create and api_keys_revoke by indicating a read-only listing operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. The description only states what it does, lacking explicit context for when-not-to-use or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

api_keys_revokeB

Permanently revoke an API key. Irreversible.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyIdYesID of the key to revoke.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, description must disclose behavior. It clearly states 'Permanently revoke' and 'Irreversible', highlighting destructive nature. However, it omits details like required authentication, error handling if key not found, or side effects on active sessions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise with two short sentences. Front-loaded with the core action. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the irreversible nature and no output schema or annotations, the description is too brief. It lacks information about success/failure responses, error conditions, or confirmation steps. Leaves gaps for a critical operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers the single required parameter 'keyId' with description. The tool description adds emphasis on irreversibility but no additional semantic context for the parameter beyond what schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action (revoke) and resource (API key), distinguishing it from sibling tools like api_keys_list, api_keys_create, and api_keys_rotate. The word 'Permanently' and 'Irreversible' add specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives (e.g., rotate vs revoke). No prerequisites or conditions like key must exist or be active.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

api_keys_rotateA

Rotate an API key: deactivate old, issue new with same scopes.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyIdYesID of the key to rotate.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It accurately states that the old key is deactivated and a new one is issued with the same scopes, but it does not detail consequences (e.g., immediate invalidation of the old key, whether the new key's secret is returned) or any authorization requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, consisting of a single sentence with a colon to separate purpose and behavior. Every word contributes meaning, and the structure is front-loaded and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema, no annotations), the description covers the core action adequately. However, it could be improved by mentioning what is returned (e.g., new key details) or any side effects like old key immediate expiration.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description adds no extra meaning beyond the schema's parameter description ('ID of the key to rotate'). The tool has a single parameter, and the description does not enhance understanding of its usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Rotate an API key') and specifies the outcome ('deactivate old, issue new with same scopes'). It uniquely identifies the tool's purpose and distinguishes it from sibling tools like api_keys_create and api_keys_revoke.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for rotating keys while preserving scopes, but it does not provide explicit guidance on when to use it versus alternatives (e.g., when to rotate vs. revoke and recreate). No exclusions or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

people_search_paginateC

Fetch additional pages for an existing search. Free unless enrich is enabled.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number.
enrichNoRequest enrichment (+1 credit per enriched profile).
per_pageNoResults per page.
searchIdYesID of existing search to paginate.
includeLogsNoInclude pipeline logs.
returnAllProfilesNoReturn all matched profiles.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The only behavioral trait disclosed is cost ('Free unless enrich is enabled'). No mention of idempotency, error handling, rate limits, or what happens if searchId is invalid. Given no annotations, the description carries full burden but fails to provide sufficient transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one sentence, front-loaded with the action. It is concise and no extra fluff, though a bit more structure (e.g., requirements) would be beneficial.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 6 parameters, no output schema, and no annotations. The description covers only the basic purpose and cost. It lacks context on how pagination works, relationship to searchId, and parameter defaults, leaving gaps for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds only the cost note related to the 'enrich' parameter, but otherwise does not add meaning beyond what is in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Fetch additional pages for an existing search', which is a specific verb and resource. It distinguishes from the sibling tool 'people_search' by emphasizing pagination of an existing search, though it does not explicitly differentiate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, no prerequisites or when-not-to-use conditions. Only a vague implication that it is for additional pages after an initial search.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 10 tool updatesv1.0.2
    • First observedaccount_billing_portal_link
    • First observedaccount_searches_list
    • First observedaccount_upgrade_link
    • First observedaccount_usage_get
    • First observedapi_keys_create
    • First observedapi_keys_list
    • First observedapi_keys_revoke
    • First observedapi_keys_rotate
    • First observedpeople_search
    • First observedpeople_search_paginate

TDQS

A3.7/5.0

Scored across 10 tools

Disambiguation5/5

Tools are cleanly separated across three domains: people search, account management, and API keys. The two search tools are distinct (initial search vs. pagination), and account and API key tools have clearly different purposes. No overlapping or ambiguous functions.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern in snake_case, e.g., people_search, account_usage_get, api_keys_create. The naming style is uniform and predictable, with minor but acceptable variation in verbs (get, list, create, etc.).

Tool Count5/5

10 tools is well-scoped for a server combining people search, account management, and API key management. Each tool serves a distinct and necessary function, with no redundancy or excessive granularity.

Completeness4/5

The set covers core workflows: search with pagination, account usage and history, billing and upgrade links, and full CRUD for API keys. Minor gaps include no direct profile detail retrieval (beyond search results) and no API key scope update (rotate reuses same scopes).

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to search job vacancies, manage resumes, and apply to jobs on HeadHunter (hh.ru), Russia's largest job search platform. Includes OAuth 2.0 integration for secure job applications and an automated vacancy hunter agent with intelligent matching.
    29
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables LLMs to access candidate information including resume, LinkedIn, GitHub, and contact via email.
    32
    81
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to pull live job listings from major ATS platforms (Greenhouse, Lever, Ashby, Workable), Hacker News hiring threads, and detect hiring signals on company career pages.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Integrates with Orca AI's HUNT Platform API to search for information about people, companies, and entities, enabling AI assistants to access investigative intelligence and due diligence data.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/herohunt-ai/herohunt-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server