Skip to main content
FreshTalent’s MCP server is eight tools on purpose. A REST mirror with forty endpoints makes agents stall. The test sentence:
Start a Target for Palantir FDEs who left at least 18 months ago. When they go Open to work, put them on my hot list.
That should become searchwatchcollectevents / subscribe. Tool names stay watch / collect; the dashboard calls those Targets and Lists.
This page is the product MCP. It uses your API key and mutates Lists and Targets. The Connect to Cursor / VS Code control in the docs header is a different server — a read-only docs assistant at https://docs.freshtalent.ai/mcp. Do not mix them up.
There is no npm package and no local process to start. The host opens that URL with your key.
Hosts that can send a header — Cursor, Claude Code, VS Code, Codex — take the key as-is. Claude’s web and Desktop connectors and ChatGPT apps only speak OAuth, so they cannot carry a static key. Claude Desktop works through the mcp-remote bridge below; ChatGPT has no supported path yet.

1. Get a key

Create a key in the dashboard under API Keys. It is shown once.
Keep the key in the host’s secret store or mcp.json. Do not paste a live key into chat, a ticket, or a public repo.

2. Pick a host

Cursor

Remote URL in mcp.json, or the one-click install then add the Bearer header.

Claude Code

claude mcp add --transport http with the URL and Authorization header.

Claude

Connectors are OAuth-only. Bridge Desktop with mcp-remote.

ChatGPT

No static-key path yet. Apps take OAuth or no auth.

VS Code

.vscode/mcp.json with type: "http".

Codex

codex mcp add with --url and a bearer-token env var.
One-click adds the URL. Then open Customize → MCPs, edit freshtalent, and set the header.Install in CursorSome builds since the Customize migration swallow that deeplink and never show the install card. If nothing happens, write the JSON yourself.Or add this to ~/.cursor/mcp.json / .cursor/mcp.json:
Reload Cursor. Ask whoami on FreshTalent — you should see org, plan, search: "ok", and watch.remaining (slots for new Targets). ls / members still work at the cap.

Any other MCP host

If the host speaks Streamable HTTP (most current agents do), give it the same URL and Bearer header:
Reload, then confirm the eight tools appear. If the host only accepts a local stdio command, bridge it with mcp-remote the way the Claude tab does. If it only does OAuth, it cannot carry a FreshTalent key yet.

3. Prompt that actually works

Paste this after install:

Tools

The eight tools are the same four product families as the dashboard.

Search

search, get, expand — people, one object, coworkers / similar / company orbit.

Lists

collectls, create, show, add, stage, remove, delete.

Targets

watchls, company, query, show, members, admit.

Monitoring

events and subscribe — firehose plus email / Slack destinations.

What comes back

Collection reads are minified JSON, not pretty-printed REST envelopes:
Writes return a receipt ({"ok":true,"added":5}), not the resource. Page with offset until has_more is false, or stop when you have enough to act.

Example: search tool call

What the host should send:
Optional structured fields on the same tool (or any other people-search filter — extra properties are allowed): company, role_family (forward-deployed-engineer | founding-engineer | software-engineer | deployment-strategist), company_left_min_months_ago, open_to_work, between_roles, exploring, github_hireable, location, skills, languages, certifications (JSON array string of up to 10 distinct trimmed terms). Certification filters apply to graph people search. People Target discovery does not support them, so a watch request adapted from a certification-filtered search is rejected; save and replay that query through Search instead.

If it does not connect

Connect an ATS or CRM

For Greenhouse / Ashby / HubSpot, skip the agent and poll events: ATS & CRM.