# New CV Tool > Helps a user build their career profile in more detail than ever, application by > application, then mobilizes everything in it when they apply for a job — never > inventing, never embellishing. The user compiles their documents in conversation > with their own AI; this tool is the container that stores the profile, materializes > the documents, and keeps every application reviewable. ## Connect an AI agent This site runs a remote MCP connector named New CV Tool. Point any MCP client at: https://app.newcvtool.com/mcp The same account with every tool (several assistants on one account, live side-by-side sessions, custom template design, period statements): https://app.newcvtool.com/mcp/full Workflow playbooks are served as MCP prompts and by get_started with a playbook id. - Connector name: New CV Tool - Transport: Streamable HTTP (POST, request/response — no SSE stream) - Auth: OAuth 2.1, PKCE S256, dynamic client registration - Discovery: https://app.newcvtool.com/.well-known/mcp - Server card: https://app.newcvtool.com/.well-known/mcp/server-card.json - Icons: https://app.newcvtool.com/mcp-icon.svg · https://app.newcvtool.com/mcp-icon.png - OAuth: https://app.newcvtool.com/.well-known/oauth-protected-resource - Setup instructions: https://app.newcvtool.com/connect ## How the product works Full answer sheet, including what it deliberately cannot do: https://app.newcvtool.com/help.txt ## Tools - who_am_i — the authenticated New CV Tool account (login email, account id, auth provider). Call before live editing. Never infer this from CV/profile fields. - get_account — same payload as who_am_i. - get_started — the canonical product, cost and first-step explanation. - get_profile — the user's career profile plus their own recorded editorial judgement. Call first for career work. Its identity block is CV/candidate identity, not login. - get_storage_status — the exact cloud/Drive storage and privacy boundary for this account. - connect_google_drive — an owner-bound Google consent URL using drive.file only. - list_applications — the application board, most recent first. FILTER IT. scope defaults to active (drafted, ready, sent, reply), so out, rejected, canceled, found and look-closer rows stay out of the answer; narrow further by company, role, location, status, applicationProgress, source, minFitScore or a date window, and widen to scope:"all" only when the owner asked for the discarded rows. Every response reports what it hid — say those counts rather than presenting a filtered list as the whole board. - query_applications — the same filters, data only, no picker. Use it for a count, a status check, or "did I apply to X". - get_application — one application, with its tailored CV, cover letters, and board fields. - set_application_status — move a row on the board and update structured portal execution state (drafted | ready | reply | rejected | withdrawn). Never sends the application; record_application_send is the confirmed-send path. - record_application_send — record a live portal send that already happened (status=sent, full metadata, no cv required). Never submits. - record_application_check — record what a manual status check saw. Employer mail uses lastEmailSignal {text, receivedAt}. Never emails the employer or changes submittedAt. - list_documents / download_document — inspect the supporting-document library and fetch one exact selected file from the active Cloud/Drive store as an MCP resource. - add_profile_facts — append-only, provenance-backed merge of user-stated evidence into the profile. - apply_profile_patch — apply approved profile-patch/v1 field changes; untouched fields stay untouched. - save_application — save a tailored CV + letter against a job ad (defaults to drafted / manual; does not send). - get_session_focus — the application the owner is looking at right now. Call this (or read _meta.cvtool/sessionFocus) before editing. Do not guess a job. - apply_cv_edit — patch the open CV tab in place. - apply_letter_edit — patch the open cover-letter tab in place. - get_hunt_policy — durable job-search criteria. Call before searching. Do not infer from the CV. - set_hunt_policy — merge standing search criteria (alias: update_hunt_policy). - save_opportunity — record a found job without a CV. Never submits to an employer. - list_opportunities / get_opportunity — browse the shared application board, including amended lifecycle categories and saved filters. The owner reads Found / Kept / Discarded in the web app. - classify_opportunity — evaluate one saved listing against the hunt policy as recommended | review | skip; recommendation-only unless apply=true, with no worker or credit use. - set_opportunity_status — move found | look_closer | out | apply after the owner decision. Never auto-sends; Look closer promotions/discards require owner confirmation. ## What it costs - Connecting an agent is FREE with a New CV Tool account. The thinking happens in the agent, on the user's own subscription — this server only reads and writes their data, so there is no AI cost to pass on. No card, no trial, no per-call charge. - The paid plan only buys the AI that runs INSIDE the web app, for people who want one-click generation without an agent. It is not needed for these tools. - A user can also paste their own OpenAI or Anthropic key into the app and run the in-app pipeline on that key for free. ## What a user needs - An account (free) and a career profile in it — uploading an existing CV fills it in. - An MCP-capable client. Nothing else: no API key, no terminal, no payment. ## Notes - The tools only ever touch the signed-in user's own data; each token is scoped to one account. - Storage: the career record (profile, applications, statuses, history) is held in CV Tool Cloud for every account. Google Drive, when connected with the narrow drive.file scope, holds files: uploaded documents, generated PDFs and application packs. get_storage_status reports the account's state. - Name, contact details, and optional structured postalAddress on the CV are tool-owned candidate data and are not login identity. postalAddress is available for employer application forms but is not printed on the CV by default. An agent that changes CV identity is silently reverted and told so. Call who_am_i for the authenticated account. - These tools never send, email, apply, or submit an application to an employer. set_application_status only updates the board. record_application_send only records a send that already happened. record_application_check only records what a manual status check saw. Export/PDF stays as-is. - Two clocks never mix: sendReview.submittedAt is the real portal/email send time; lastEmailSignal.receivedAt is the employer confirmation email time. Never substitute createdAt, updatedAt, harvest time, or one clock for the other. Missing submittedAt means submit time unknown. - Users without an agent can do the same round trip by hand: the app copies a prompt to the clipboard and imports the reply back.