Skip to main content
Glama
jared502

activate-top-candidates

by jared502

Activate Top Candidates

Search, shortlist, and pitch Activate Talent's pre-vetted Top Candidates from Grok Bot, Cursor, or Claude, without leaving your chat.

@activatetalent/top-candidates-mcp is a read-only Model Context Protocol server for recruiters and account managers. You describe the role and get back a ranked shortlist with profile links and a draft pitch you can review, built only from public data.

What it does

  • Searches Activate Talent's public Top Candidates by role, skill, or tool (Meta Ads, Klaviyo, Shopify, and more).

  • Matches a role brief to a ranked, deduped shortlist, with a why-fit line for each candidate.

  • Browses 22 categories, from Media Buyers to AI Specialists to Video Editors.

  • Drafts value-first pitches that lead with outcomes, never price, and never name clients.

  • Shares profile links for a human to open.

Related MCP server: QueryQuarry

What it never does

  • Never sends email, Slack, or messages. Every pitch is a draft for you to review.

  • Never reads private data: no surnames, contact details, LinkedIn, DOB, past employers, internal notes, or pay rates.

  • Never crawls profile pages or scrapes the site.

  • Never needs credentials. No API keys, no login, no database access.

Install

Requires Node.js ≥ 18.17. Transport: stdio. Auth: none.

Grok Bot

Ask Grok Bot:

Add an MCP server named activate-top-candidates with command npx -y @activatetalent/top-candidates-mcp.

Or install it from the Grok Bot plugin marketplace once the listing is live.

Cursor

  • Plugin: install Activate Top Candidates from the Cursor Marketplace. It bundles the MCP server and two skills, and runs node ${CURSOR_PLUGIN_ROOT}/index.js.

  • Manual: add to ~/.cursor/mcp.json:

{ "mcpServers": { "activate-top-candidates": { "command": "npx", "args": ["-y", "@activatetalent/top-candidates-mcp"] } } }

Claude Desktop

Add to claude_desktop_config.json:

{ "mcpServers": { "activate-top-candidates": { "command": "npx", "args": ["-y", "@activatetalent/top-candidates-mcp"] } } }

From source

git clone https://github.com/jared502/top-candidates-mcp && cd top-candidates-mcp
npm install && npm test && node index.js

Tools

Tool

Purpose

match_role(brief, category?, maxResults?)

Turns a role brief into a ranked shortlist (1–3 merged searches, why-fit lines from the public title and category). Start here.

search_top_candidates(query, category?, maxResults?)

Keyword search, up to 25 results, with an optional category filter. Never returns rates.

list_categories()

All 22 category slugs, names, and browse URLs.

get_candidate_link(id, from?)

Builds a profile URL and never fetches it.

draft_candidate_pitch(name, role, roleDescription, …)

Value-first pitch draft: no client names, no price unless asked.

get_top_candidate_profile_url(id, from?)

Deprecated alias of get_candidate_link.

Bundled skills (Cursor / Grok Bot plugin)

  • activate-sourcing-shortlists: brief → match_role → refine → ranked table with links.

  • activate-candidate-endorsements: candidate → link → draft_candidate_pitch → a draft you review.

Example prompts

  • "Find me 5 Meta + TikTok media buyers for a DTC skincare brand, as a table with profile links."

  • "Who does Activate have for a Shopify developer who knows Klaviyo?"

  • "List the categories, then show executive assistants."

  • "Draft a value-first pitch for the top media buyer for a performance marketing lead role."

  • "Shortlist video editors for short-form social content."

Privacy & data policy

  • Source: only the public endpoint https://topcandidates.activatetalent.app/api/top-candidates/search.

  • Fields returned: candidate id, first name + last initial (enforced even if the API returns more), role title, category, profile URL. Nothing else.

  • Never returned: full surname, email, phone, address, LinkedIn, DOB, past employers, internal notes, recruiter/owner, pay rates, or bill rates (stripped from every tool output).

  • No crawling: profile pages are never fetched. Opening one triggers an AI resume read, so links go to humans.

  • Storage: search results are cached in memory for 10 minutes and nothing is written to disk. No telemetry.

  • Outbound: nothing is sent anywhere. Pitches are drafts.

Support

Built and maintained by Activate Talent.

Development

npm test runs an end-to-end stdio smoke test against the live public API. It checks for field leaks, the category filter, match_role, links, and that pitches contain no price.

License

MIT © Activate Talent

Changelog

  • 1.0.0 (2026-10-15): Marketplace-ready release. Added list_categories, match_role, get_candidate_link, and draft_candidate_pitch; the category filter and maxResults; name and field sanitization; a 10-minute search cache; the Video Editors category; better role-phrase matching; two bundled skills; the Cursor plugin manifest; and polished docs and logo.

  • 0.1.0: Initial search and profile-URL tools.

Available Tools

6 tools
draft_candidate_pitchDraft Candidate PitchA

Draft a short, value-first candidate endorsement for the sender to review. Pass a generic roleDescription with no client name. The draft leads with outcomes tied to the public role title and never invents experience. It never includes pay or bill rates. Returns a DRAFT only; this tool sends nothing.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
urlNo
nameYesPublic name (first name + last initial)
roleYesPublic role title
categoryNoCategory slug or name
roleDescriptionYesGeneric role description (no client names)

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and does so well: it states the tool never invents experience, never includes pay/bill rates, and crucially that it 'Returns a DRAFT only; this tool sends nothing.' It does not cover permissions or rate limits, keeping it short of a 5.

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?

Six tight clauses, no waste, and the core purpose is front-loaded in the first sentence. Each subsequent sentence adds a distinct, non-redundant guardrail (input form, content constraints, output nature).

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?

With no output schema, the description correctly compensates by stating what is returned ('a DRAFT only; sends nothing'). It covers the key behavioral guardrails for a 6-param generation tool but omits how id/url/category influence the draft and any auth or rate-limit context.

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 67%, and the one parameter the description highlights (roleDescription as generic with no client name) is already documented in the schema itself, so it adds little. The other parameters (id, url, category) receive no explanation in either the schema or the description. Baseline 3 is appropriate.

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 names a specific verb (Draft) and resource (candidate endorsement/pitch) and immediately qualifies the output as 'short, value-first' and 'for the sender to review.' This clearly separates it from all siblings, which are retrieval/match tools (search_top_candidates, match_role, get_candidate_link), so there is no plausible tool confusion.

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?

It gives usage conditions ('Pass a generic roleDescription with no client name') and content guardrails, which implies when the tool is appropriate. However, it never explicitly states when to use this tool versus an alternative, nor names any sibling, leaving the routing decision to inference.

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

get_top_candidate_profile_urlGet Profile URL (legacy)A

Deprecated alias of get_candidate_link, kept for older configs. Prefer get_candidate_link. Returns the URL only and never fetches it.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
fromNo

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the burden, and it does disclose one important trait: it never fetches the URL, avoiding a costly side effect. However, it says nothing about permissions, error behavior, or how the alias differs functionally from its replacement, so it is only partially transparent for an unannotated 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?

Three short sentences, deprecation status front-loaded, followed by the routing guidance and the one behavioral note. No wasted words.

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?

Return shape is covered ('URL only'), but with no output schema, no annotations, and 0% parameter coverage, the definition leaves the parameter meanings and any auth/error characteristics undocumented. Adequate for a deprecated alias, but not complete.

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

Parameters2/5

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

Schema description coverage is 0% and neither 'id' nor 'from' is explained in the description. Since the schema provides no semantics, the description should compensate and does not, leaving the meaning of 'from' entirely unclear.

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 names the exact resource and behavior ('alias of get_candidate_link') and explicitly states what it returns ('the URL only'). It also distinguishes itself from the sibling get_candidate_link by framing itself as the deprecated alias, so an agent can tell them apart without reading schemas.

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

Usage Guidelines5/5

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

It gives an explicit routing instruction: 'Prefer get_candidate_link,' and scopes its own use to 'older configs.' That is a clear when-to-use/when-not-to-use statement naming the alternative.

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

list_categoriesList CategoriesA

List every Top Candidates category with its slug, display name, and browse URL. Call this first when you need a valid category filter or from value.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It discloses that the call returns *every* category (implying no pagination) and names the returned fields, but says nothing about auth requirements, rate limits, or whether the list can grow unbounded. Adequate but not rich.

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 with zero padding. The what-it-returns statement comes first and the guidance for when to call it is front-loaded immediately after.

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

Completeness5/5

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

With no annotations and no output schema, the description compensates well by naming the three returned fields and positioning the tool as a prerequisite for valid category/from values. Nothing an agent needs to invoke this zero-arg lookup is missing.

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 tool takes zero parameters, so there is nothing for the description to document beyond the empty schema; the baseline for a parameterless tool applies. The description does add value by stating the shape of the returned items.

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?

States a specific verb and resource ('List every Top Candidates category') and enumerates exactly what comes back (slug, display name, browse URL). This also routes the agent away from the search/profile siblings, since it is clearly a reference-listing operation rather than a search.

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?

Explicitly says to 'call this first when you need a valid `category` filter or `from` value,' which tells the agent the prerequisite context for the sibling search tools. No when-not conditions are given, but the tool has no real alternative, so the guidance is practically complete.

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

match_roleMatch Role to ShortlistA

Turn a role brief into a ranked shortlist. Pass a one-line brief with must-haves and no client names (e.g. 'Meta + TikTok media buyer for DTC skincare'). Runs 1–3 searches, merges and dedupes them, and returns candidates with why-fit lines based ONLY on the public role title and category. Use this first for sourcing requests; tell the recruiter to verify fit on the profile.

ParametersJSON Schema
NameRequiredDescriptionDefault
briefYesRole brief or must-haves
categoryNoOptional category slug to restrict to
maxResultsNoShortlist size, default 10

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose internal behavior: 1-3 searches, merge/dedupe, and a key limitation that why-fit lines are derived ONLY from the public role title and category. It omits auth requirements, rate limits, and latency characteristics, keeping it out of 5 territory.

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?

Three sentences, front-loaded with the core action, then input guidance, then behavior and caveat. Every sentence carries distinct information with no repetition of the title or schema.

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 exists, and the description does cover the return shape (candidates with why-fit lines) plus the limitation on those lines. It lacks error/failure behavior and pagination or result-truncation details for a 1-25 result tool.

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?

Schema coverage is 100%, so baseline is 3. The description adds real meaning beyond the schema's terse 'Role brief or must-haves' by specifying a single-line brief format and an important constraint ('no client names'), which the schema does not convey.

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?

States a concrete verb+resource transformation ('Turn a role brief into a ranked shortlist') that an agent can distinguish from siblings like search_top_candidates or list_categories. The example brief makes the input shape unambiguous.

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?

Explicitly routes the agent: 'Use this first for sourcing requests,' which positions it ahead of sibling search/list tools, and adds the recruiter-verification caveat. No named exclusions or explicit when-not-to-use conditions, so it falls short of a full 5.

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

search_top_candidatesSearch Top CandidatesA

Search Activate Talent's pre-vetted Top Candidates by role, skill, or tool (e.g. 'media buyer', 'Klaviyo', 'shopify developer'). Returns up to 25 results with public fields only: first name + last initial, role title, category, profile URL. Use category (a slug from list_categories) to narrow results. Report only returned candidates; never invent any.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch words: role, skill, or tool
categoryNoOptional category slug filter, e.g. media-buyers
maxResultsNo1–25, default 25

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the load and does meaningful work: it discloses a hard result cap (up to 25), states that only public fields are exposed (a data-privacy constraint), and enumerates the returned fields. It stops short of permissions/rate-limit/empty-result behavior, but the safety-relevant disclosure is unusually good for an annotation-free 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?

Three sentences, front-loaded with the core verb and resource, then filtering guidance, then the anti-hallucination rule. No redundant restatement of the name or schema, and each sentence earns its place.

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?

With no output schema, the description usefully enumerates the return fields (name + last initial, role title, category, profile URL) and the 25-item ceiling. It is close to complete; only ranking/relevance ordering and empty-result handling are left unspecified.

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?

Schema coverage is already 100%, so the baseline is 3, but the description adds real meaning beyond the schema: example query terms, and the constraint that `category` must be a slug sourced from the sibling list_categories rather than an arbitrary string. That cross-tool dependency is not captured 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?

States a specific verb (Search) and a precisely scoped resource (Activate Talent's pre-vetted Top Candidates) with the queryable dimensions (role, skill, tool). It is clearly distinguishable from siblings like get_top_candidate_profile_url and list_categories, which the description even references for filtering.

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?

Explains how to narrow results by pointing at the `category` slug from list_categories, and adds a behavioral rule ('Report only returned candidates; never invent any'). It does not, however, state when to prefer this over siblings such as match_role or get_candidate_link, so routing between search-like tools remains implicit.

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.

  1. 6 tool updatesv1.0.0
    • First observeddraft_candidate_pitch
    • First observedget_candidate_link
    • First observedget_top_candidate_profile_url
    • First observedlist_categories
    • First observedmatch_role
    • First observedsearch_top_candidates

TDQS

A4.2/5.0

Scored across 6 tools

Disambiguation3/5

get_top_candidate_profile_url is explicitly a deprecated alias of get_candidate_link, giving two tools nearly identical purposes. search_top_candidates and match_role also overlap, both returning candidate shortlists, though match_role is clearly positioned as the higher-level sourcing entry point.

Naming Consistency5/5

All six names follow a consistent snake_case verb_noun pattern (get_, list_, search_, match_, draft_). Verb choices map predictably to the action performed, with no mixed conventions.

Tool Count5/5

Six tools is well-scoped for a candidate-sourcing workflow: discover categories, search/match candidates, build profile links, and draft a pitch. Each tool has a plausible role, aside from one deprecated alias.

Completeness4/5

The surface covers the core sourcing lifecycle: category discovery, search, ranked matching, link generation, and pitch drafting. The absence of a candidate-detail fetch appears deliberate (fetching triggers an AI resume read), so it is a minor, documented gap rather than a dead end.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Turns a recruitment database into an AI-queryable pipeline, enabling natural language queries to search contractors, build shortlists, draft outreach, and book engagements.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Consent-based, double-blind talent marketplace. Recruiters' AI assistants search an anonymous corpus of opted-in candidates in natural language, evaluate match cards, and request contact — identity is revealed only when the candidate chooses to respond. Hosted remote server (streamable HTTP + OAuth) at queryquarry.com/api/mcp.
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Provides MCP tools for job search, inbound recruiter activity triage, conversation inbox access, and guarded profile updates.
    -