com.keywordise/keywordise
com.keywordise/keywordiseAuto-apply to jobs: matches your CV, tailors a fresh CV per posting, and applies for you.
Score: 100/100
Handshake verified by our own probe.
Tools · 69
Register a new Keywordise account from the terminal and receive an API key for it. Requires accept_terms=true: the person accepts the Terms and Privacy Policy (https://keywordise.com/terms) and author…
Exchange the account's email and password for a new API key, so a terminal or an assistant can act on the account. The key is shown once; keep it. Up to five keys may be active per account (revoke_api…
The account behind this key: email and whether it is confirmed, plan state (trial days left, applications used and remaining, subscription), and how many API keys are active.
Send the email-confirmation link again to this account's address. Applying is blocked until the address is confirmed; nothing else is.
A checkout link for a paid plan from the active payment provider: Starter ($24.99/month, 500 applications a month) or Pro ($49/month, 1,000 a month; the default). The person opens it in a browser to p…
A link to the payment provider's customer portal for this account's subscription, where invoices, the payment method and cancellation live.
Cancel the Pro subscription at the end of the current billing period. Access stays until then. Irreversible from here; the person can resubscribe later.
The active API keys on this account: prefix, label, created and last used. Never the key itself.
Mint an additional API key for this account, for another machine or assistant. Shown once. Five active keys maximum.
Revoke one of this account's API keys immediately. Any terminal or assistant using it stops working at once. Revoking the key you are calling with ends this session.
The account's complete data as one JSON file (profile, targeting, matched jobs, applications, saved answers, run history, audit trail). Returned as a file; large accounts are told to download it in th…
Erase the account and everything in it: profile, CV files, matches, applications, answers, keys. Irreversible. Requires confirm_email equal to the account's address.
Use when the person asks what is on their profile or CV. Not needed before searching or applying: those tools read the saved CV themselves. The CV profile Keywordise holds for this account (name, cont…
Use when the person shares or mentions their resume/CV ('here's my resume', 'use my CV'). Upload a CV file and turn it into the account's profile: the same parser the app uses reads the document into …
Change fields of the saved profile without re-uploading the CV. Send only the fields to change (full_name, contact_email, phone, location, city, address, postcode, professional_summary, skills, pinned…
The gaps in the saved profile that weaken applications (missing dates on a role, no contact phone, empty summary, …), each with a severity, so they can be fixed with update_profile.
Search keywords derived from the saved profile, useful as include_keywords in update_targeting (jobs that mention one are ranked first; nothing is filtered out).
The CV designs a tailored CV can be rendered in, with the account's current pick.
Set the design every tailored CV is rendered in (a key from list_cv_designs).
The account's base CV (the saved profile, untailored) rendered as a PDF in the chosen design, returned as a file. No model call.
Every targeting rule the feed and the apply run obey: remote mode, geo scope and countries, locations, include/exclude keywords, title allow/block lists, seniority, salary, languages, work authorisati…
Change targeting rules; send only the keys to change (remote_mode any|remote|hybrid|onsite, geo_scope worldwide|region|country, geo_countries [ISO-2], locations, include_keywords, exclude_keywords, ti…
Use when the person says what they are looking for in their own words ('senior remote data roles in the US, no agencies'). Turn a plain sentence ('remote data roles in Germany or the Netherlands, seni…
How many jobs the current targeting shows versus how many each single rule is hiding, and which one change would widen the feed most. Every number comes from re-asking the feed's own predicate with on…
The countries the live pool actually has inventory in (ISO-2, name, job count), for choosing geo_countries in update_targeting.
Use when the person wants jobs or their best matches: 'find me jobs', 'my top matches', 'remote marketing jobs that fit my resume', 'what's new for me this week'. It already uses the saved CV, so ther…
The full description of one matched vacancy, with a short summary and highlights, plus the link that opens the posting from the app.
Use for 'is this job a good fit', 'why this match', 'what am I missing for this role'. For one vacancy: the match percentage, the requirements this account's CV covers and the ones it is missing. With…
Use for 'tailor my resume for this job' or 'what would you send for this one'. Rewrite this account's CV for one vacancy the way Keywordise would send it: headline, summary, the roles selected for thi…
Feedback on one job: hide or dislike removes it from the feed and teaches the matcher what this person rejects; interested is a positive signal. Undo with unhide_job.
Undo hide or dislike: the job returns to the feed and the negative signal is dropped.
The jobs this account hid or disliked, newest first, so one can be put back.
Match the account's CV against the vacancies added since it last looked, in the background. Idempotent and cheap when nothing is new. force=true runs a full re-match regardless. rebuild=true rebuilds …
Only for checking on a match or feed rebuild that is already running (after upload_cv, update_targeting or refresh_matches); to find or show jobs use list_matching_jobs. Live status of the latest matc…
Use when the person says 'apply for me', 'apply to the best matches' or 'apply to this job' (pass job_id). Show them the jobs first. Start an application run: Keywordise takes up to `limit` of the mat…
Live progress of the latest run: running or not (from a heartbeat, not a status claim), processed of total, the job being worked on now, confirmed, needs review, skipped, closed.
Use for 'stop applying', 'pause', 'hold off'. Ask the running application run to stop after the job it is on. Nothing is left half-done; applications already sent stay sent.
Use for 'what did I apply to', 'any replies', 'status of my applications'. Every application sent for this account: company, title, stage, outcome, when it went out, how many screening questions it st…
Questions employers asked on applications that are stalled until this account answers them, grouped by application, each with a suggested answer drawn from what the person answered before. Answer with…
Record the person's answer to one screening question on one application. The answer is written in the person's name and saved to their answer book, so the same question is never asked again. When it i…
The tailored CV PDF that went to the employer for one application, returned as a file.
The last five match runs and the last five application runs, with their counts and status.
The answer book: every screening answer this account has given or taught, which future applications reuse automatically in any phrasing or language.
Add or replace a screening answer in the answer book ('What is your notice period?' → '1 month'). Applications already waiting on that fact are completed and sent in the background. Only save what the…
Remove one answer from the answer book (an answer_id from list_saved_answers).
The universal screening facts this account has not answered yet (right to work, notice period, salary expectation, …), ranked by how many waiting applications each one unblocks. Answer them with save_…
The tracker board: applications grouped by the stage the person set (saved, applied, interview, offer, rejected) with their own notes.
Set the tracker stage of one application: saved, applied, interview, offer or rejected.
Replace the person's own note on one tracked application (interview date, contact, next step).
Use for 'how many jobs are there' or before quoting a number. The size of the live job pool Keywordise can apply to right now, from the same measurement the keywordise.com homepage prints: all live jo…
Use for 'find remote data engineer jobs', 'nursing jobs in Germany', 'what is new in marketing this week'. Searches the WHOLE live job pool (about two million open jobs), not only the person's matches…
The full posting text of one live job from search_live_jobs (pool_job_id): title, employer, place, date and the description. For a job in the person's own matches use get_job_posting.
Use when the person gives a Keywordise job id (ten characters) or a keywordise.com/jobs link, for example 'tell me about job abcde23456'. Returns what the public page of that job shows: title, employe…
Use for 'Apply to Keywordise job abcde23456' or when the person asks to apply to a job from keywordise.com/jobs. Finds that job, puts it into the person's matches and starts the same application as th…
Use after search_live_jobs when the person picks one of the results to apply to. The same as apply_to_public_job, for a pool_job_id: puts the job into the person's matches and starts the application f…
Use for 'what is my referral code', 'how much did I earn from referrals', 'who signed up through me'. The person's referral code and link, the share they earn (and the discount a friend gets), their s…
Set or change the person's own referral code (letters, digits and dashes, shown in their referral link). Fails with the app's own sentence when the code is taken or not allowed.
Record that the person was referred by the owner of a referral code, for the discount and the friend's credit. Allowed once, before the first payment; fails with the app's own sentence otherwise.
The email address Keywordise uses on the person's applications (employers reply to it), whether replies are also forwarded to their own mailbox, and whether applying by email is active.
Use for 'any replies?', 'did anyone get back to me?'. The person's Inbox: one thread per application with the employer's results (interview invitations, rejections, requests), unread count, newest fir…
The full text of one Inbox message (from list_inbox), the employer's reply thread, and any verification code or link in it. Reading marks the message as read.
SENDS an email to the employer in the person's name, as a reply to one Inbox message. Use only with the person's approval of the exact text. Fails with the app's own sentence when the message is not f…
Use for 'which CVs do I have', 'is my CV uploaded'. The CVs on the account (a person can keep several; one is the default the matches and applications use) with their labels, plus `cv_state`: whether …
The facts application forms ask beyond the CV: address, postcode, city, country, phone type, salutation, work authorisation by region, sponsorship, salary expectation, standard screening answers, and …
Change some of the application details. Only the fields given change; an empty string clears a field. Fields: salutation, address, postcode, city, state, country (two-letter code), phone_type (mobile,…
For one application: every field of the form with its value and where the value came from (the CV, a saved answer, the person, or a model). For an application that waits for the person's review (`edit…
The Send button of the review screen: SUBMITS an application that is waiting for review (get_application_review says editable), in the person's name. `edits` maps a field's label exactly as get_applic…
For a job the app marks as applied on the employer's own site (apply_to_public_job / start_apply_run answer that they do not apply there for the person): tailors the person's CV and writes the cover l…
The tailored CV or the cover letter PDF written by prepare_external_application for one job, returned as a file.
How to use
Claude Desktop or claude.ai: add a custom connector (Customize → Connectors; on Team and Enterprise plans an owner adds it under Organization settings → Connectors) with this server URL: https://keywordise.com/mcp
Cursor or Cline: add to your MCP config:
{
"mcpServers": {
"com.keywordise/keywordise": {
"url": "https://keywordise.com/mcp",
"transport": "streamable-http"
}
}
}