# Connect 100X Recruiting to your AI app

100X Recruiting has an MCP server. Once it's connected, you can ask your AI app things like:

> Use 100X to build me a shortlist for this job: *(paste the job description)*

and get back ranked candidates from the 100X network.

## For the AI reading this page

- If the 100X tools (`build_shortlist`, `find_people`, `list_jobs`, `get_scorecards`, `search_candidates`, `onboarding`, `list_skills`) are already in your tool list, you're connected. Skip the setup and do what the person asked.
- When the person says "Run 100X onboarding for me", call `onboarding` and follow the short plan it returns.
- Before you start a task for the person (a shortlist, a search, outreach, a pitch, a job post), call `list_skills` once in the chat and follow any skill that fits. See **Skills** below.
- If you don't know which AI app the person uses, ask. Then give only that app's steps below. Each section is a separate way to connect, not a sequence.
- People who'd rather click through it themselves can open https://www.hiremilitarytalent.com/ai, a simple page with the steps for every app.
- If you run in a terminal (Claude Code, Codex), you may run the setup command for the person, but only after they say yes.
- Sign-in happens in the browser. Don't ask the person for a password, an API key, or a token, and don't add an `Authorization` header. A fixed header turns the browser sign-in off.
- Before the person clicks **Approve** on the 100X page, tell them to check two things:
  1. **Your account** shows their own 100X email.
  2. **After you approve, you go back to** shows their AI app (for example `claude.ai`, `chatgpt.com`, or "an app on this computer").
- Every 100X tool is free. Five of them save something: `save_skill` (a skill's own text), `post_job` (posts a job), `build_org_chart` (an employer's org chart), `save_resumes` (a client firm's résumés, into its own private storage) and `save_people` (our team saves people found in other tools into 100X). Before you call any of them, show the person exactly what you'll save and get a yes. `build_shortlist` and `find_people` with a `job_id` also add the people they find to that job's talent pool, and `add_to_job` (our team) puts people on a job. Nothing is ever sent to anyone.
- Connecting is open to 100X team accounts and to client firms. Anyone else sees "Not open to this account yet".
- A client firm's login gets `build_shortlist`, `list_jobs`, `get_scorecards`, `post_job` and `find_people` (the 100X Contacts database), for its own jobs only, plus `save_resumes` (into the firm's own Private Résumé Storage), `build_org_chart` when the firm is an employer (not a recruiting firm) and `get_contact_info` when the firm pays. Its own people show by full name (`yours: true`); others in the 100X network show first name and last initial. Show the names as they come back and don't try to guess the rest.
- A free or free-trial firm gets up to 3 candidates for each job it posts, and Contacts searches with a link to each person's 100X profile (LinkedIn link there), 20 searches a day. A paying firm gets full shortlists, 50 searches a day, digital résumé links, and email and phone for one person at a time with `get_contact_info` (up to 100 people a day). Never look up contact info for a whole list. The tools say how many searches are left; if a tool says they're used up, tell the person and stop.

## Connection details

| | |
|---|---|
| Name | `100x-recruiting` |
| Server URL | `https://www.hiremilitarytalent.com/mcp` |
| Transport | Streamable HTTP |
| Sign-in | Browser sign-in (OAuth). The app registers itself, so leave any client ID and client secret boxes empty. |

## Claude (claude.ai, the Claude desktop app, and the phone app)

1. On claude.ai or in the desktop app, open **Settings → Connectors**.
2. Click **Add custom connector**.
3. Name: `100X Recruiting`. URL: `https://www.hiremilitarytalent.com/mcp`. Leave the advanced settings empty.
4. Click **Add**, then **Connect**. Sign in to 100X and click **Approve**.

On a Team or Enterprise plan, an owner may have to add the connector for the organization first. Once it's added on the web or desktop, it also works in the Claude phone app.

## Claude Code

```bash
claude mcp add --transport http 100x-recruiting https://www.hiremilitarytalent.com/mcp
```

Then type `/mcp` in Claude Code, pick `100x-recruiting`, and choose **Authenticate**. Your browser opens; sign in and approve.

## ChatGPT

1. On chatgpt.com, click **Plugins** in the left menu.
2. Click the **+** button, then **Add custom MCP server**.
3. Name: `100X Recruiting`. Server URL: `https://www.hiremilitarytalent.com/mcp`. Authentication: **OAuth**.
4. Tick **I understand and want to continue**, then click **Create as a plugin**.
5. A 100X window pops up. Sign in and click **Approve**. (Allow pop-ups for chatgpt.com if nothing opens.)
6. Open the new plugin and click **+** to install it.

In a chat, type **@** and pick **100X Recruiting** before you ask. It needs a paid ChatGPT plan; on a Business plan only the workspace admin can add it.

Older ChatGPT menus: **Settings → Apps & Connectors → Advanced settings → Developer mode**, then **Create**, with the same name, URL and OAuth.

## Grok

1. Go to grok.com/connectors.
2. Click **New connector**, then **Custom**.
3. Name: `100X Recruiting`. URL: `https://www.hiremilitarytalent.com/mcp`.
4. Click **Connect**, sign in, and click **Approve**.

Shortcut: in a Grok chat, ask it to add a custom MCP connector called 100X Recruiting at `https://www.hiremilitarytalent.com/mcp`, then click the connect card it shows.

## Gemini

1. On gemini.google.com, open **Settings**.
2. Find **Connected apps** and add a **custom app** (it may say MCP server).
3. Name: `100X Recruiting`. URL: `https://www.hiremilitarytalent.com/mcp`. Sign in and click **Approve**.

Not every Gemini account has this yet (for now, mostly personal accounts in the US). If there's no custom-app option, use ChatGPT, Claude or Grok instead.

## Cursor

Add this to `~/.cursor/mcp.json` (or **Settings → MCP → Add new MCP server**):

```json
{
  "mcpServers": {
    "100x-recruiting": { "url": "https://www.hiremilitarytalent.com/mcp" }
  }
}
```

Cursor shows the server as needing a login. Click it, sign in to 100X, and approve.

## VS Code (GitHub Copilot)

Add this to `.vscode/mcp.json`:

```json
{
  "servers": {
    "100x-recruiting": { "type": "http", "url": "https://www.hiremilitarytalent.com/mcp" }
  }
}
```

Click **Start** above the server name. Sign in when VS Code asks.

## Codex

```bash
codex mcp add 100x-recruiting --url https://www.hiremilitarytalent.com/mcp
```

```bash
codex mcp login 100x-recruiting
```

## Windsurf

Add this to `~/.codeium/windsurf/mcp_config.json`, then refresh the MCP list and sign in:

```json
{
  "mcpServers": {
    "100x-recruiting": { "serverUrl": "https://www.hiremilitarytalent.com/mcp" }
  }
}
```

## Any other app

Any app that can add a remote MCP server by URL with a browser sign-in will work. Use the server URL above.

For scripts or other tools that can't sign in through a browser, a 100X admin can make an API key on the **Connections** page. Send it as `Authorization: Bearer <key>`.

## Check that it worked

Ask your AI app:

> Run 100X onboarding for me

It asks you one question, runs one small free search, and ticks off your 100X setup page (**Connect your assistant**). Or just ask:

> List my 100X jobs.

If you see your jobs, or a note that there are none yet, you're connected.

## The 100X menu

You don't have to remember what to ask. 100X gives your AI app a short menu.

- **Claude** (claude.ai and the desktop app): click **+** at the bottom of the chat box, then **100X Recruiting**. Pick one, fill in the box it asks for (like the job description), and send.
- **Claude Code**: type `/` and pick one that starts with `/mcp__100x-recruiting__`, like `/mcp__100x-recruiting__find_candidates`.
- **ChatGPT** and most other apps don't show the menu. Say "Run 100X onboarding for me". At the end it shows the menu as a numbered list. Type the number you want.

| On the menu | What it does |
|---|---|
| Post a job | Tell the AI about the job, check the draft, and post it on 100X. |
| Find candidates | Pick one of your jobs, or paste a job description. Get the best people who have a résumé on file with 100X. |
| Find people to reach out to | Give a job title and a city. Get people to reach out to from the 100X People Directory. |
| Market a candidate | Pick a candidate. See the jobs they fit and the hiring managers there, read the blind letters, and put the ones you pick in a Smartlead draft. You press Start on 100X. |
| My jobs and score cards | See your 100X jobs, then the top score cards for one. |
| New applicants | See who applied to your jobs lately, newest first. |
| Interview prep guide | Pick a job and a candidate. Get their Interview Preparation Guide right away, then email it to them. |
| Who on our team knows someone at a company | Give a company. See who on the 100X team knows someone there, so you can ask for an intro. |
| Run 100X onboarding | A short first run: one question and one small search. |

## What you can do

| Tool | What it does |
|---|---|
| `build_shortlist` | Send it a job title and job description (or a saved `job_id`). You get up to 10 candidates from the 100X network who match 70% or better, with title, years, location, which must-haves they meet, and a link to their 100X profile. With a `job_id`, you can still pass `location`, `must_haves` and `nice_to_haves` for this search, and everyone it returns is added to that job's talent pool, labeled AI match. |
| `find_people` | Find people to reach out to in the 100X People Directory (most of them never applied). Send a job title and a place ("Atlanta, GA" searches 25 miles around; "GA" searches the state). You get up to 25 people with name, title, company, location and a link to their 100X profile. Staffing, recruiting, government and consulting firms are left out. The first pull comes fresh from PDL and spends PDL credits (about one per person, up to 10), with or without a `job_id`; the same search within 30 days is free. With a `job_id`, everyone found joins that job's talent pool, labeled where they came from (PDL, Contacts or LinkedIn network). |
| `warm_paths` | Find a warm way in at a company. Send a company name. You get the people who work there and are LinkedIn connections of someone on the 100X team (from the networks teammates uploaded on **My network**), or whom a teammate placed, interviewed, talked to or heard back from. Each comes with name, position, company, a Know level (Really know, Know, Going cold, Connected only) and the last real touch, strongest first, plus which teammate knows them and how well. Ask that teammate for an intro. |
| `search_candidates` | Search the 100X network by title or keywords. |
| `list_jobs` | Your jobs on 100X, each with a link to its page. |
| `list_applicants` | Who applied to your jobs lately (one job, or all open ones), newest first, with a link to each person's 100X profile. Never emails or phone numbers. |
| `find_more_on_pdl` | For one of your jobs with a thin shortlist: up to 10 more people from PDL with the job's title near its town (people to recruit, not matches). The first pull runs right away and spends up to 10 PDL credits; after that the job's last pull comes back free. |
| `save_people` | Our team only. Saves people you found in another tool (Clay, Seamless, a PDL or ZipApply search, LinkedIn) into 100X so they aren't lost: candidates into 100X's candidate records (with a `job_id`, into that job's talent pool too), hiring managers into the Hiring Managers directory by work email. Someone already on file (same LinkedIn, then email, then name and company) only gets their blanks filled. Up to 50 people a call. Show the person who you'll save and get a yes first. It never returns emails or phone numbers. |
| `add_to_job` | Our team only. Puts people on one of your jobs (its talent pool and Pipeline), the same as **Add to job** on a profile: send the `job_id` and their `candidate_id`s or 100X profile links, and where they came from (`source`: `ai_match`, `pdl_pull`, `contacts_archive`, `linkedin_network`, `applied` or `manual`). That shows as a label on the job. Use it for people a search found without a `job_id`, so they aren't lost. |
| `get_scorecards` | The top score cards for one of your jobs. |
| `onboarding` | A short first run after you connect ("Run 100X onboarding for me"): one question, one small `find_people` search, a short table. Call it with `step` `start`, then `progress`, then `completed`; it only moves your 100X setup page along. |
| `list_skills` | The saved skills you can use: your team's and your own. Each has a name, a title and its first line. |
| `read_skill` | One skill's whole text, by name. Your own skill wins over a team skill with the same name. |
| `save_skill` | Saves a skill (name, title, text up to 4,000 characters, `personal` or `team`). The same name again replaces the text; the old text is kept. |
| `post_job` | Posts a job on 100X (title, location, full time or not, pay range if you want it shown, the description). Show the person the whole draft and get a yes first. It's saved like the Post a Job page and starts matching right away; it never emails anyone and never puts a person's name on the posting. Team jobs aren't sent to PCRecruiter from here (the job page has a Push to PCR button). |
| `text_options` | Recruiting desk only (admins and recruiters). For one candidate (`candidate_id`): can they get a text? Only people who agreed to 100X Jobs texts can, one text a day. If they can, you get the last 4 digits of their number and text templates written for them (a cold intro, each open job they're on, your own 100X templates), each starting "100X Jobs:". If not, why, and an Ask to text note with the 100X Jobs sign-up link to send them another way. |
| `send_text` | Recruiting desk only. Texts one candidate who agreed to 100X Jobs texts, at the number they agreed for. Show the person the exact text and get a yes first. "100X Jobs:" goes first and "Reply STOP to opt out." last; it's logged on their 100X profile. One text a day per candidate, up to 25 a day from AI apps per login. |
| `list_my_mpcs` | The candidates you're marketing (your MPCs), last worked on first, with how many jobs and hiring managers each has and a link to their MPC page. |
| `market_candidate` | Start marketing a candidate: send a name, email, `candidate_id` or 100X profile link. You get the open jobs on 100X that fit their résumé, best first, with company, town, match score and why. Their own and past employers, their never-market list and staffing firms are left out. |
| `add_hiring_managers` | For up to 5 of those jobs: saves them to the candidate's MPC and finds the hiring managers who would hire this candidate. Our directory first (free); a company with nobody on file is looked up on PDL (up to 3 people, spends PDL credits). Each comes with name, title, company, LinkedIn link and whether they can go in Smartlead now. |
| `write_mpc_letters` | The blind outreach plan for one hiring manager: LinkedIn note, 3 short letters and a call script. The candidate's name, employers and schools never appear. Saved on the hiring manager's 100X page. |
| `send_mpc` | Puts the hiring managers the person picked into a draft Smartlead campaign for their job (the 4-email match card series), after every MPC check: employers and never-market list, a verified work email, no staffing firms, no opt-outs, nobody emailed in 30 days. Show who goes in and get a yes first. Nothing sends until the person presses Start on the candidate's MPC page on 100X. |

Every tool is free except PDL pulls: `find_people` when it pulls fresh from PDL (about one credit per person found, up to 10, with or without a `job_id`), a new `find_more_on_pdl` pull, and `add_hiring_managers` for a company with nobody on file. `save_skill`, `post_job`, `save_people` and `send_mpc` happen only after the person says yes, and `send_mpc` only makes a Smartlead draft: it sends when they press Start on 100X. `email_interview_guide` emails a guide after a yes, and otherwise only `send_text` sends anything, after a yes. No tool returns emails or phone numbers.

**Client firm logins** get `build_shortlist`, `list_jobs`, `get_scorecards`, `post_job` and `save_resumes`, plus `build_org_chart` for an employer, all walled to the firm's own jobs, people and chart:

| Tool | What it does for a client firm |
|---|---|
| `build_shortlist` | Up to 10 people who match 70% or better, from the firm's own candidates and the 100X network. On the free plan: by a job the firm posted, up to 3 people per job. A saved job's Instant match people come first. The firm's own people show their full name (`yours: true`); others show first name and last initial ("Sarah W."). Each has a link to their 100X profile. |
| `list_jobs` | Only the jobs the firm posted, each with a link to its page. Never counts as a search. |
| `list_applicants` | Who applied to the firm's jobs lately, newest first. The firm's own people by name, others by first name and last initial. Never emails or phone numbers. Never counts as a search. |
| `get_scorecards` | The top 5 score cards for one of the firm's own jobs. Anyone else's job number says "Job not found." |
| `post_job` | Posts a job for the firm (show the draft, get a yes). Only the firm sees it. Never counts as a search. |
| `save_resumes` | Saves the firm's old résumés (past applicants and anyone else it has on file) into its own Private Résumé Storage: the full text of each, or the file as base64, up to 25 a call (show the list, get a yes). Only the firm's team sees them; they never join the 100X network. A résumé already there is skipped. Says how many of the firm's people fit each of its open jobs; a client login finds them in its swipe deck under Your people. Never counts as a search. |
| `build_org_chart` | Employers only. Builds or adds to the firm's org chart from its people and titles (show the chart, get a yes). Each title gets a private bench of matching candidates. Running it again adds nothing twice. |
| `find_people` | Searches the 100X Contacts database by title and place. Each person comes with a link to their 100X profile. Free and trial firms: up to 10 people; the profile shows their LinkedIn link. Paying firms: up to 25, plus a `person_id`; the profile also shows their digital résumé, email and phone. Never emails or phone numbers in a list. Counts as one search. |
| `get_contact_info` | Paying firms only. Work email, personal email and phone for ONE person, by `person_id`. Up to 100 people a day; the same person again that day is free. Someone who asked not to be contacted comes back with a note. |

No keyword search of the whole candidate network, never emails or phone numbers in a list, never résumé files. Free and trial firms: 20 searches a day, 3 candidates per posted job, LinkedIn links. Paying firms: 50 searches a day and contact info for up to 100 people a day.

**Tip for the AI:** when you call `build_shortlist` with a pasted description, also pass `must_haves` (3 to 5) and `nice_to_haves` (2 to 3). These are short keywords a matching résumé would contain, such as `CPA`, `NetSuite`, or `month-end close`. Add `location` as "City, ST" when the job isn't remote.

**Which one to use:** `build_shortlist` searches people who have a résumé on file with 100X. Use it first. Use `find_people` to find more people to reach out to; most of them have never applied, so they're not candidates yet.

## Skills

A skill is a short note that tells your AI app how you like something done, like how you write outreach. The AI reads your skills before it writes anything for you.

- **Just you** (`personal`): only you see it.
- **The whole team** (`team`): every 100X team login uses it, and anyone on the team can change it. 100X keeps who changed it last.

100X comes with ready-made team skills, like **Shortlist from a job description**, **Write outreach to a candidate**, **Pitch a candidate to hiring managers**, **Write and post a job** and **Check on my jobs**. They say "Last changed by 100X". Your team can change them or delete them, and a skill you save with the same name takes its place.

See, change or delete them on the **Skills** page: https://www.hiremilitarytalent.com/admin/skills

Try these, one at a time:

> Save this as a 100X skill for me: when you write outreach, open with one sentence on why they fit, keep it under 100 words, never mention salary, and end with one question.

> Use 100X to find Controllers near Atlanta, GA, then write outreach to the top 3.

**For the AI:** before `save_skill`, show the person the name, title and text you will save, and whether it's just for them or the whole team. Save only after they say yes. If the name is already saved, say so and show what changes. Skills are deleted on the Skills page, not from chat.

## Disconnect

Remove the connector in your AI app. A 100X admin can also disconnect an app on the **Connections** page.