# CareerProAI

> Tailor your resume to any job, score it against the ATS, and practice interviews. 7-day free trial; 

- name: tech.careerpro/careerpro
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 82/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/tech.careerpro%2Fcareerpro
- tools: https://api.protogrid.dev/v1/servers/tech.careerpro%2Fcareerpro/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "careerpro": {
      "type": "http",
      "url": "https://careerpro.tech/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% +updated-4d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 82/100 (new)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-03-26; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 88 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 16 of 16 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: careerpro_pricing (openWorldHint); careerpro_jobs_list (openWorldHint); careerpro_pack_get (openWorldHint); …
- pass `tools.token_cost`: about 1,855 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump
- pass `tools.hidden_text`: no hidden text in tool names, descriptions, schemas or annotations

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`, `stability.new_links`: tool history recorded for 4 of the 7 days needed

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 16, about 1,855 tokens to load them all
- tool set hash: 9c2b48186d9fa44e33aa274721326b70
- tools last changed: 2026-11-12T18:59:21.773Z
- badge: [![protogrid quality](https://protogrid.dev/badge/tech.careerpro/careerpro.svg)](https://protogrid.dev/servers/tech.careerpro/careerpro)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-11-12 `search_site` added
  - Find pages on this site by keyword; returns url, title and summary.
- 2026-11-12 `get_checkout_link` added
  - Public URL a human opens to choose and pay for a plan. Read-only: creates no charge and needs no card.
- 2026-11-12 `list_pricing` added
  - Current plans and prices in USD: plan, interval, amount_usd, currency, what_you_get. No account needed.
- 2026-11-12 `get_company_info` added
  - What this company sells, who it is for, and every agent/API entry point. No account needed.

Full history: https://api.protogrid.dev/v1/servers/tech.careerpro%2Fcareerpro/changes

## Remotes

- https://careerpro.tech/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (16)

- `careerpro_about`: What CareerPro does and what is free Pricing: {"unit": "call", "price_usd": 0, "free_quota": "200 per day per IP", "note": "Keyed volume pricing is published at https://careerpro.tech/pricing.json"}.
- `careerpro_ats_score`: Returns a 0 to 100 keyword match, the terms you matched and the ones missing. Pricing: {"unit": "call", "price_usd": 0, "free_quota": "200 per day per IP", "note": "Keyed volume pricing is published at https://careerpro.tech/pricing.json"}.
- `careerpro_bank_get`: Returns base.json rules, visa rules and the profile block the desktop helper writes next to the runners. Only an approved bank is returned; approval happens once on careerpro.tech/auto-apply. Pricing: {"unit": "call", "price_usd": 0, "free_quota": "200 per day per IP", "note": "Keyed volume pricing is published at https://careerpro.tech/pricing.json"}.
- `careerpro_jobs_list`: Openings gathered from the employer boards you watch, ranked by keyword fit, with the screen verdict for each. Key from careerpro.tech/auto-apply. Scope read. Pricing: {"unit": "call", "price_usd": 0, "free_quota": "200 per day per IP", "note": "Keyed volume pricing is published at https://careerpro.tech/pricing.json"}.
- `careerpro_letter_get`: Cover letter for one opening as text and PDF (base64) Pricing: {"unit": "call", "price_usd": 0, "free_quota": "200 per day per IP", "note": "Keyed volume pricing is published at https://careerpro.tech/pricing.json"}.
- `careerpro_pack_get`: Everything needed to apply: posting text, screen verdict with evidence, tailored resume text, cover letter, pre-mapped answers from your approved answer bank, unanswered questions, dedupe receipt and the per-ATS mode (submit, fill_only, headed, skip). Builds the pack when it does not exist yet; tailoring uses only facts from your own resume. Pricing: {"unit": "call", "price_usd": 0, "free_quota": "200 per day per IP", "note": "Keyed volume pricing is published at https://careerpro.tech/pricing.json"}.
- `careerpro_pricing`: Where prices live and what costs nothing Pricing: {"unit": "call", "price_usd": 0, "free_quota": "200 per day per IP", "note": "Keyed volume pricing is published at https://careerpro.tech/pricing.json"}.
- `careerpro_queue_get`: FIT packs with an approved answer bank, ordered, with the per-ATS mode. The submit step never runs on our servers: your desktop helper or your own agent executes it in your browser, with your logins. LinkedIn Easy Apply, CAPTCHA solving and attestation checkboxes are never automated. Pricing: {"unit": "call", "price_usd": 0, "free_quota": "200 per day per IP", "note": "Keyed volume pricing is published at https://careerpro.tech/pricing.json"}.
- `careerpro_refresh`: Reads each watched employer board's own public ATS feed (Greenhouse, Lever, Ashby, Workable) and files new matches. An account that watches no boards yet is first given the top 20 registry boards for its target titles (a shared registry of employers' public feeds; LinkedIn, Indeed and similar sites are never used). Returns seeded, fetched, matched, new and packs_built. Pricing: {"unit": "call", "price_usd": 0, "free_quota": "200 per day per IP", "note": "Keyed volume pricing is published at https://careerpro.tech/pricing.json"}.
- `careerpro_resume_get`: Tailored resume for one opening as PDF (base64) and text Pricing: {"unit": "call", "price_usd": 0, "free_quota": "200 per day per IP", "note": "Keyed volume pricing is published at https://careerpro.tech/pricing.json"}.
- `careerpro_submission_report`: Logs the exact answers that were filled and the outcome (applied, dry_run_ready, owner_required, submission_unconfirmed, duplicate_refused, error). 'applied' with submitted=true moves the opening to Applied and sets a follow-up date. Unconfirmed results are never retried automatically. Pricing: {"unit": "call", "price_usd": 0, "free_quota": "200 per day per IP", "note": "Keyed volume pricing is published at https://careerpro.tech/pricing.json"}.
- `get_checkout_link`: Public URL a human opens to choose and pay for a plan. Read-only: creates no charge and needs no card.
- `get_company_info`: What this company sells, who it is for, and every agent/API entry point. No account needed.
- `list_pricing`: Current plans and prices in USD: plan, interval, amount_usd, currency, what_you_get. No account needed.
- `search_site`: Find pages on this site by keyword; returns url, title and summary.
- `usage_get`: Usage for the calling key (last 30 days)
