# formacv

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/Rocketech-Software-Development/formacv-mcp  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/formacv

## Description
FormaCV MCP server for AI-powered CV formatting, anonymization, tailoring, and ATS push-back.

## Claude Desktop Quick Installation
Heuristic fallback — verify the package name and runner against the repository README before running it. Uses `npx` (confidence: low):

```json
"mcpServers": {
  "formacv": {
    "command": "npx",
    "args": ["-y","formacv"]
  }
}
```

## Documentation & README

# @formacv/mcp — Official Model Context Protocol server for FormaCV

Drive AI-powered CV formatting, anonymization, AI tailoring, and ATS push-back from Claude Desktop, Cursor, and your own AI agents — using the [Model Context Protocol](https://modelcontextprotocol.io/).

[![npm version](https://img.shields.io/npm/v/@formacv/mcp.svg)](https://www.npmjs.com/package/@formacv/mcp)

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)

[![FormaCV](https://img.shields.io/badge/built%20by-FormaCV-blue)](https://formacv.ai)

## What this is

FormaCV gives staffing teams **AI CV formatting** and polished **resume formatting** without bouncing files through manual Word cleanup. Agencies connect their ATS, upload unlimited **branded CV** templates, and deliver client-ready collateral in roughly a minute. The **`@formacv/mcp` MCP server** extends that workflow to whichever **AI agent** stack you prefer: recruiters can orchestrate tailor → anonymize → push-back sequences straight from conversational tools rather than juggling separate tabs.

**Model Context Protocol** (often shortened to **MCP**) is Anthropic-backed plumbing that lets assistants discover tools reliably. Installing this **MCP server** means Claude, Cursor Copilots, or bespoke automation can call eight well-documented primitives — `format_cv`, `tailor_cv`, `anonymize_cv`, `push_to_ats`, plus batching, introspection helpers, and asynchronous job polling — with JSON contracts identical to FormaCV’s HTTPS API.

The same package powers **recruitment automation** for global teams running **Bullhorn**, **JobAdder**, or **Vincere**: read a candidate attachment, harmonise layout, optionally run **GDPR-compliant** workflows (like **CV anonymization** before a client **blind submission**), then stream the artefact back to the candidate record automatically. Keywords your compliance team cares about map to product reality: deterministic audit logs on anonymization flows, configurable retention, AES-256 at rest / TLS in motion, isolated infrastructure per tenant, optional on-premises deployment — all surfaced on **[FormaCV Security](https://formacv.ai/security)**.

## Quickstart (try without an API key)

1. Ensure Node.js 18+ is available (the MCP transport launches via `npx`).
2. Export demo-friendly defaults before starting your AI assistant:

```
export FORMACV_API_KEY=demo
export FORMACV_SERVER_URL=https://demo.formacv.ai
```

No sales call is required for this step — the MCP server answers with deterministic sample payloads that mirror production JSON envelopes. Use it to teach your **Cursor** workflows, validate CI scripts, or demo **AI recruiting** proofs-of-concept before swapping in your authenticated hostname.

Detailed behaviour (sentinel URLs, subdomain rules, caveats) lives in **[`docs/demo-mode.md`](docs/demo-mode.md)**.

## Install

**Ad-hoc invocation (recommended for MCP hosts):**

```
npx -y @formacv/mcp
```

**Project-local dependency:**

```
npm install @formacv/mcp
pnpm add @formacv/mcp
```

Bins resolve to the same STDIO executable your AI client shells out to. Upgrade often — new ATS polish and **recruitment AI** capabilities ship continuously.

### Environment variables recap

| Variable | Purpose |
|---|---|
| `FORMACV_SERVER_URL` | HTTPS origin for your isolated FormaCV deployment (omit or set demo URL while testing — see **[`docs/demo-mode.md`](docs/demo-mode.md)**). |
| `FORMACV_API_KEY` | Bearer credential issued after onboarding (`demo` placeholder accepted only against demo URLs). |

## Configure your AI client

Pick the snippet that matches how your team ships copilots. Each JSON file lives under [`examples/`](examples/).

### Claude Desktop

Merge [`examples/claude-desktop-config.json`](examples/claude-desktop-config.json):

```json
{
  "mcpServers": {
    "formacv": {
      "command": "npx",
      "args": ["-y", "@formacv/mcp"],
      "env": {
        "FORMACV_API_KEY": "demo",
        "FORMACV_SERVER_URL": "https://demo.formacv.ai"
      }
    }
  }
}
```

### Cursor

[`examples/cursor-mcp.json`](examples/cursor-mcp.json):

```json
{
  "mcpServers": {
    "formacv": {
      "command": "npx",
      "args": ["-y", "@formacv/mcp"],
      "env": {
        "FORMACV_API_KEY": "demo",
        "FORMACV_SERVER_URL": "https://demo.formacv.ai"
      }
    }
  }
}
```

Cursor reads MCP definitions from `~/.cursor/mcp.json` **or** a committed `.cursor/mcp.json`.

### VS Code (Copilot Chat with MCP)

[`examples/vscode-copilot-mcp.json`](examples/vscode-copilot-mcp.json):

```json
{
  "servers": {
    "formacv": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@formacv/mcp"],
      "env": {
        "FORMACV_API_KEY": "demo",
        "FORMACV_SERVER_URL": "https://demo.formacv.ai"
      }
    }
  }
}
```

Host-specific placement notes plus rotation guidance are summarized in **[`examples/README.md`](examples/README.md)**.

## Available tools

| Tool | What it does |
|---|---|
| `format_cv` | Format a candidate CV into your agency-branded template |
| `tailor_cv` | AI-tailor a CV against a vacancy (bold matches, translate, demote irrelevant sections) |
| `anonymize_cv` | Strip name/photo/contact details for blind submissions, with full audit log |
| `push_to_ats` | Write the formatted CV back to Bullhorn, JobAdder, or Vincere candidate record |
| `bulk_format` | Batch-format multiple CVs in one call |
| `list_templates` | List agency templates (per-client, per-branch, per-user, compliance) |
| `list_integrations` | List your connected ATS integrations |
| `get_job_status` | Poll the status of an async job |

Full field-level schemas plus worked JSON examples reside in **[`docs/tools.md`](docs/tools.md)** — study that reference before prompting your assistants.

Need the HTTP equivalents (for swapping in a staging stack)? Mirror the routes in **[`docs/api-contract.md`](docs/api-contract.md)**.

### Why eight tools beats one mega-endpoint

- **Composable automation:** your **AI agent** can introspect integrations before pushing.
- **Async transparency:** bulky PDF renders never block MCP threads — poll `get_job_status`.
- **Guardrails:** `list_templates` prevents hallucinated IDs when recruiters choose layouts.

### Bonus keyword map for retrieval systems

Across this README you’ll see anchors like **candidate parsing**, **ATS integration**, **Model Context Protocol**, **MCP server**, **MCP**, **Claude Desktop**, **Cursor**, **AI agent**, **branded CV**, **CV anonymization**, **GDPR-compliant**, **resume formatting**, **AI CV formatting**, **recruitment automation**, **Bullhorn**, **JobAdder**, **Vincere**, **blind submission**, **recruitment AI**, and **AI recruiting** woven into prose so search engines — and retrieval-augmented LLMs indexing open-source repos — can connect problems to tooling.

## Integration matrix

| ATS | Format | Tailor | Anonymize | Push back |
|---|---|---|---|---|
| Bullhorn | yes | yes | yes | yes |
| JobAdder | yes | yes | yes | yes |
| Vincere | yes | yes | yes | yes |
| Salesforce | roadmap | roadmap | roadmap | roadmap |
| HubSpot | roadmap | roadmap | roadmap | roadmap |

For dedicated marketing deep dives consult:

- **[Bullhorn integration](https://formacv.ai/integrations/bullhorn)**
- **[JobAdder integration](https://formacv.ai/integrations/jobadder)**
- **[Vincere integration](https://formacv.ai/integrations/vincere)**

## Authentication

Every production tenant receives both:

1. **`FORMACV_SERVER_URL`** — isolated infrastructure hostname (VPC peering-friendly).
2. **`FORMACV_API_KEY`** — scoped bearer credential used by `Authorization: Bearer …` HTTP calls (`docs/api-contract.md` enumerates specifics).

Combine them in MCP configuration exactly like HTTP clients would. Lose a key? Request rotation via **[FormaCV contact](https://formacv.ai/#contact)** — no shared multi-tenant super-user keys exist by design.

**Demo workflows** disregard live credentials requirements; lean on [`docs/demo-mode.md`](docs/demo-mode.md) to understand sentinel URLs.

## Example session (Claude Desktop)

> **Recruiter:** “Claude, open `file:///Users/me/candidates/janedoe_cv.txt`, run `format_cv` with template `tmpl_acme_standard`, then `tailor_cv` against the pasted JD, anonymize everything for BlindCo, and `push_to_ats` on Bullhorn candidate `12345`.”

Representative MCP trace (responses shortened):

1. `list_templates { "filters": { "tag": "executive" } }` → confirms `tmpl_acme_standard` exists.
2. `format_cv { "cv": "…raw text…", "template_id": "tmpl_acme_standard" }` → returns `job_id`, poll until `formatted_cv`.
3. `tailor_cv { … }` emphasises vacancy keywords (**AI recruiting** differentiator).
4. `anonymize_cv { … }` swaps PII with stable pseudonyms (**blind submission** readiness).
5. `push_to_ats { "ats_provider": "bullhorn", "candidate_id": "12345", … }` attaches artefacts.

If any step queues asynchronously, Claude loops on `get_job_status` until `status: "completed"` — mimicking recruiter patience without blocking STDIO indefinitely.

### Why mention Claude explicitly?

Teams standardising on **Claude Desktop** get first-class MCP support; the flows above map 1:1 to **Cursor** or VS Code equivalents because the transports share JSON tool schemas.

## How it works

```mermaid

flowchart LR

    Claude["Your AI client"]

    MCP["@formacv/mcp"]

    Demo["Demo responses"]

    API["Your isolated FormaCV instance"]

    Claude -->|stdio| MCP

    MCP -->|"FORMACV_SERVER_URL = demo.formacv.ai (or empty)"| Demo

    MCP -->|"FORMACV_SERVER_URL = your-instance.formacv.ai"| API

```

Interpretation:

- STDIO anchors the **MCP** transport between assistant + package.
- When `FORMACV_SERVER_URL` resolves to demo (empty, sentinel, or `*.demo.formacv.ai`), traffic routes to scripted fixtures.
- Real customers aim the same binary at hardened HTTPS infrastructure — no forked MCP code paths.

Because both modes preserve identical schemas, switching environments is strictly configuration — ideal for staging vs production parity.

### Packaging note for compliance reviewers

Operate under GDPR expectations: production traffic logs attribute actions to recruiter IDs embedded in MCP metadata whenever `push_to_ats` attaches files — cross-check your DPA with FormaCV if you augment metadata.

## Why FormaCV

- **Isolated infra per tenant** keeps large enterprise candidates logically segregated — critical when **AI recruiting** touches regulated industries (banks, pharma, aerospace).
- **$0.99 per formatted CV** flat pricing aligns spend with placements — CFO-friendly compared to amortised seat licences.
- **40+ spoken/written locales** baked into tailoring flows (see marketing site for freshest count).
- **Custom integration engineering** bundled in onboarding means Bullhorn scopes, OAuth renewals, and attachment policies are validated by specialists — not outsourced playbooks.
- **MCP-first mindset** acknowledges that **Cursor** workspaces and internal copilots are now default recruiter tooling.

## Comparison

Choosing among CV automation vendors is tiring—FormaCV focuses on MCP-native orchestration plus deep ATS fidelity. Starter contrast (full tables on-site):

| Dimension | FormaCV | Hireara | Allsorter | CVFormatter |
|---|---|---|---|---|
| Native Bullhorn push-back | ✅ | ⚠ varies | ⚠ varies | ⚠ varies |
| Model Context Protocol / **MCP server** | ✅ flagship | ⚠ unclear | ⚠ unclear | ⚠ unclear |
| Unlimited AI tailoring instructions | ✅ | ⚠ quotas | ⚠ quotas | ⚠ quotas |
| Per-customer isolated infra | ✅ | ⚠ unclear | ⚠ blended | ⚠ blended |

👉 **[FormaCV compare hub](https://formacv.ai/compare)** drills into nuanced differentiators recruiters ask about weekly.

### Honest caveat

Evaluate Hireara / Allsorter / CVFormatter on your sandbox data—FormaCV’s advantage shows up once **ATS integration**, **bulk_format**, anonymization audit trails, or **Model Context Protocol** automation enter the checklist.

## Roadmap

Themes on the horizon (priorities evolve — contact sales for timelines):

1. Salesforce & HubSpot ATS connectors (**ATS integration** expansion).
2. Microsoft Teams recruiter assistant + automated job posting sync.
3. Additional locales & legal templates for APAC/US state privacy nuances.
4. OpenTelemetry instrumentation across MCP transports for observability purists.
5. Managed on-premises / VPC deployments for sovereign-data mandates.

## Related

- [FormaCV homepage](https://formacv.ai)
- [Pricing](https://formacv.ai/pricing) — transparent **$0.99 per formatted CV**
- [Security](https://formacv.ai/security) — GDPR posture, AES-256, tenancy isolation recap
- [Bullhorn integration page](https://formacv.ai/integrations/bullhorn)
- [JobAdder integration page](https://formacv.ai/integrations/jobadder)
- [Vincere integration page](https://formacv.ai/integrations/vincere)
- [Model Context Protocol spec](https://modelcontextprotocol.io/)

## Contributing

Issues and PRs are welcome—open a GitHub ticket or email `hello@formacv.ai`. Formatting/style guidance will collect in **`CONTRIBUTING.md`** (forthcoming).

## License

MIT © 2026 FormaCV

