com.keywordise/keywordise

com.keywordise/keywordise · v2.0.0 · productivity

com.keywordise/keywordise is healthy: it completed an MCP handshake in 6267 ms and exposes 49 tools.

Auto-apply to jobs: matches your CV, tailors a fresh CV per posting, and applies for you.

Endpoint: https://keywordise.com/mcp (streamable-http)

No repository listed · Website · JSON · Add to my inventory

Facts

Users (last 30 days)0
HandshakeHealthy
Auth neededNone
Tool count49
Latency6267 ms
Last checked (UTC)2026-10-15T22:00:17.642Z

Health history

Checked (UTC)StatusLatencyError
2026-10-15T22:00:17.642ZHealthy6267
2026-10-14T20:10:43.925ZHealthy2314

Tools (49)

create_accountRegister 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 authorises Keywordise to apply for jobs on their behalf. A confirmation email is sent; applying opens once
loginExchange 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_key frees a slot).
get_accountThe 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.
resend_verification_emailSend the email-confirmation link again to this account's address. Applying is blocked until the address is confirmed; nothing else is.
get_upgrade_linkA 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 pay; the account upgrades automatically when the payment lands.
get_billing_portal_linkA link to the payment provider's customer portal for this account's subscription, where invoices, the payment method and cancellation live.
cancel_subscriptionCancel the Pro subscription at the end of the current billing period. Access stays until then. Irreversible from here; the person can resubscribe later.
list_api_keysThe active API keys on this account: prefix, label, created and last used. Never the key itself.
create_api_keyMint an additional API key for this account, for another machine or assistant. Shown once. Five active keys maximum.
revoke_api_keyRevoke 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.
export_my_dataThe 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 the app instead.
delete_my_accountErase the account and everything in it: profile, CV files, matches, applications, answers, keys. Irreversible. Requires confirm_email equal to the account's address.
get_my_profileUse 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, contact, summary, skills, roles, education), the job-targeting rules (countries, remote preference, keyw
upload_cvUse 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 name, contact, summary, roles, skills, languages and education. With save=true (default) the profile
update_profileChange 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_skills, languages, experience, education, projects, certifications, links, …); everything else is u
get_profile_gapsThe 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.
suggest_keywordsSearch keywords derived from the saved profile, useful as include_keywords in update_targeting.
list_cv_designsThe CV designs a tailored CV can be rendered in, with the account's current pick.
set_cv_designSet the design every tailored CV is rendered in (a key from list_cv_designs).
get_my_cv_pdfThe account's base CV (the saved profile, untailored) rendered as a PDF in the chosen design, returned as a file. No model call.
get_targetingEvery 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 authorisation, company allow/block, daily and per-company caps, cover-letter and CV settings, screening default
update_targetingChange 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, title_allow, title_block, seniority, salary_min, currency, languages, company_block, max_apps_per_day,
describe_what_i_wantUse 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, senior, not agencies') plus the saved CV into concrete targeting rules. Returns the inferred rules and t
get_feed_reachHow 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 one control relaxed.
list_countries_with_jobsThe countries the live pool actually has inventory in (ISO-2, name, job count), for choosing geo_countries in update_targeting.
list_matching_jobsUse 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 there is no need to read the profile first. Live vacancies matched to this account's CV, ranked. Each jo
get_job_postingThe full description of one matched vacancy, with a short summary and highlights, plus the link that opens the posting from the app.
explain_job_matchUse 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 narrative=true, also a short written assessment with strengths and gaps (a paid model call; limited
preview_tailored_cvUse 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 this job with rewritten bullets, curated skills and a cover letter, every segment labelled tailored, ve
rate_jobFeedback 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.
unhide_jobUndo hide or dislike: the job returns to the feed and the negative signal is dropped.
list_hidden_jobsThe jobs this account hid or disliked, newest first, so one can be put back.
refresh_matchesMatch 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 the feed from scratch through the same build as the app's Rebuild button (use it when the feed looks
get_match_statusOnly 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 match run (scanned, inserted, elapsed), the feed counts it produced, and `feed_build`: where the feed is
start_apply_runUse 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 matching jobs (same filters as list_matching_jobs, best fit first, never one already applied to), tailo
get_apply_run_statusLive 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.
stop_apply_runUse 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.
list_my_applicationsUse 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 still waits on, and the employer's acknowledgement where one was received.
list_blocking_questionsQuestions 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 answer_screening_question.
answer_screening_questionRecord 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 is the last required answer, the application is SUBMITTED to the employer. Only give an answer the pe
get_sent_cv_pdfThe tailored CV PDF that went to the employer for one application, returned as a file.
list_run_historyThe last five match runs and the last five application runs, with their counts and status.
list_saved_answersThe answer book: every screening answer this account has given or taught, which future applications reuse automatically in any phrasing or language.
save_answerAdd 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 person actually stated.
delete_saved_answerRemove one answer from the answer book (an answer_id from list_saved_answers).
list_facts_to_provideThe 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_answer.
get_trackerThe tracker board: applications grouped by the stage the person set (saved, applied, interview, offer, rejected) with their own notes.
move_tracker_cardSet the tracker stage of one application: saved, applied, interview, offer or rejected.
set_tracker_noteReplace the person's own note on one tracked application (interview date, contact, next step).