Comprehensive Model Context Protocol server for managing Home Assistant through AI assistants.
Keywordise is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Auto-apply to jobs: matches your CV, tailors a fresh CV per posting, and applies for you.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http keywordise-mcp https://keywordise.com/mcp
# 2 — ask your agent for something these tools do
# create_account, login, get_account and 46 more
Keywordise costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http keywordise-mcp https://keywordise.com/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
49 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
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 authorises Keywordise to apply for jobs on their behalf. A confirmation email is sent; applying opens once the address is confirmed. Trial: 7 days and 27 applications, then Starter at $24.99/month (500 appl
| Parameter | Type | Required | Notes |
|---|---|---|---|
| string | yes | — | |
| password | string | yes | — |
| accept_terms | boolean | yes | — |
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_key frees a slot).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| string | yes | — | |
| password | string | yes | — |
| label | string | no | A name for this key, e.g. the machine it lives on. |
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.
No parameter schema on file.
Send the email-confirmation link again to this account's address. Applying is blocked until the address is confirmed; nothing else is.
No parameter schema on file.
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 pay; the account upgrades automatically when the payment lands.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| plan | string | no | — |
A link to the payment provider's customer portal for this account's subscription, where invoices, the payment method and cancellation live.
No parameter schema on file.
Cancel the Pro subscription at the end of the current billing period. Access stays until then. Irreversible from here; the person can resubscribe later.
No parameter schema on file.
The active API keys on this account: prefix, label, created and last used. Never the key itself.
No parameter schema on file.
Mint an additional API key for this account, for another machine or assistant. Shown once. Five active keys maximum.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| label | string | no | — |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| key_id | string | yes | From list_api_keys. |
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 the app instead.
No parameter schema on file.
Erase the account and everything in it: profile, CV files, matches, applications, answers, keys. Irreversible. Requires confirm_email equal to the account's address.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| confirm_email | string | yes | — |
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, contact, summary, skills, roles, education), the job-targeting rules (countries, remote preference, keywords) and the plan status (applications remaining). Call this first.
No parameter schema on file.
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 name, contact, summary, roles, skills, languages and education. With save=true (default) the profile is saved and the job feed is built from it; with save=false the parsed profile is returned for revi
| Parameter | Type | Required | Notes |
|---|---|---|---|
| filename | string | yes | e.g. cv.pdf |
| content_base64 | string | yes | The file's bytes, base64-encoded. |
| save | boolean | no | — |
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_skills, languages, experience, education, projects, certifications, links, …); everything else is untouched. The feed is re-ranked against the new CV.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| patch | object | yes | Profile fields to change, by name. |
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.
No parameter schema on file.
Search keywords derived from the saved profile, useful as include_keywords in update_targeting.
No parameter schema on file.
The CV designs a tailored CV can be rendered in, with the account's current pick.
No parameter schema on file.
Set the design every tailored CV is rendered in (a key from list_cv_designs).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| design | string | yes | — |
The account's base CV (the saved profile, untailored) rendered as a PDF in the chosen design, returned as a file. No model call.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| design | string | no | Optional; defaults to the saved design. |
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 authorisation, company allow/block, daily and per-company caps, cover-letter and CV settings, screening defaults.
No parameter schema on file.
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, title_allow, title_block, seniority, salary_min, currency, languages, company_block, max_apps_per_day, max_apps_per_company, cover_letter_enabled, cv_tone, tailor_instructions, years_experience, salary_
| Parameter | Type | Required | Notes |
|---|---|---|---|
| patch | object | yes | Targeting fields to change, by name. |
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, senior, not agencies') plus the saved CV into concrete targeting rules. Returns the inferred rules and the chips a person would confirm; with apply=true they are saved and the feed re-matches. preset: bal
| Parameter | Type | Required | Notes |
|---|---|---|---|
| sentence | string | yes | — |
| preset | string | no | — |
| apply | boolean | no | — |
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 one control relaxed.
No parameter schema on file.
The countries the live pool actually has inventory in (ISO-2, name, job count), for choosing geo_countries in update_targeting.
No parameter schema on file.
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 there is no need to read the profile first. Live vacancies matched to this account's CV, ranked. Each job carries a calibrated match percentage, a recruiter-pass verdict with a one-line reason, whether we
| Parameter | Type | Required | Notes |
|---|---|---|---|
| limit | integer | no | — |
| offset | integer | no | — |
| sort | string | no | fit = best match first; fresh = newest day first, best match within it. |
| match | string | no | Match tier. 'all' includes weak matches the recruiter pass rejected. |
| fresh | string | no | new = posted in the last two weeks; all = the last month. |
| applied | string | no | hide = leave out jobs already applied to. |
| auto_only | boolean | no | true = only jobs we apply to automatically, start to finish. |
The full description of one matched vacancy, with a short summary and highlights, plus the link that opens the posting from the app.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| job_id | string | yes | A job_id from list_matching_jobs or list_my_applications. |
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 narrative=true, also a short written assessment with strengths and gaps (a paid model call; limited to 60 per hour).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| job_id | string | yes | A job_id from list_matching_jobs or list_my_applications. |
| narrative | boolean | no | — |
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 this job with rewritten bullets, curated skills and a cover letter, every segment labelled tailored, verbatim or pinned. Nothing is sent. A paid model call, limited to 20 per hour; the same billing gate
| Parameter | Type | Required | Notes |
|---|---|---|---|
| job_id | string | yes | A job_id from list_matching_jobs or list_my_applications. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| job_id | string | yes | A job_id from list_matching_jobs or list_my_applications. |
| action | string | yes | — |
| reason | string | no | — |
Undo hide or dislike: the job returns to the feed and the negative signal is dropped.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| job_id | string | yes | A job_id from list_matching_jobs or list_my_applications. |
The jobs this account hid or disliked, newest first, so one can be put back.
No parameter schema on file.
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 the feed from scratch through the same build as the app's Rebuild button (use it when the feed looks wrong). Every answer carries feed_build: poll get_match_status until its state is ready before
| Parameter | Type | Required | Notes |
|---|---|---|---|
| force | boolean | no | — |
| rebuild | boolean | no | — |
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 match run (scanned, inserted, elapsed), the feed counts it produced, and feed_build: where the feed is in its build (queued, building, ready, failed). Poll after upload_cv, update_targeting or refresh_m
No parameter schema on file.
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 matching jobs (same filters as list_matching_jobs, best fit first, never one already applied to), tailors the CV and cover letter for each, answers the employer's screening questions from the saved answe
| Parameter | Type | Required | Notes |
|---|---|---|---|
| limit | integer | no | — |
| match | string | no | Match tier to draw from; defaults to the account's saved filter. |
| fresh | string | no | Freshness window; defaults to the account's saved filter. |
| dry_run | boolean | no | — |
| job_id | string | no | Apply to exactly this ONE job (an id from list_matching_jobs) instead of a filtered batch — the same run, scoped to it. limit/match/fresh are ignored when set. |
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.
No parameter schema on file.
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.
No parameter schema on file.
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 still waits on, and the employer's acknowledgement where one was received.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| limit | integer | no | — |
| only_waiting_on_me | boolean | no | Only applications stalled on unanswered screening questions. |
| include_cover_letter | boolean | no | — |
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 answer_screening_question.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| limit | integer | no | Maximum number of applications to expand. |
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 is the last required answer, the application is SUBMITTED to the employer. Only give an answer the person actually stated.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| application_id | string | yes | — |
| question_id | string | yes | — |
| answer | string | yes | — |
The tailored CV PDF that went to the employer for one application, returned as a file.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| application_id | string | yes | — |
The last five match runs and the last five application runs, with their counts and status.
No parameter schema on file.
The answer book: every screening answer this account has given or taught, which future applications reuse automatically in any phrasing or language.
No parameter schema on file.
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 person actually stated.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| question | string | yes | — |
| answer | string | yes | — |
| kind | string | no | — |
| options | array | no | For select questions: the choices the form offers. |
Remove one answer from the answer book (an answer_id from list_saved_answers).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| answer_id | string | yes | — |
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_answer.
No parameter schema on file.
The tracker board: applications grouped by the stage the person set (saved, applied, interview, offer, rejected) with their own notes.
No parameter schema on file.
Set the tracker stage of one application: saved, applied, interview, offer or rejected.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| application_id | string | yes | — |
| stage | string | yes | — |
Replace the person's own note on one tracked application (interview date, contact, next step).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| application_id | string | yes | — |
| notes | string | yes | — |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Keywordise or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is an address its publisher runs, and you connect to it directly — this marketplace is not in the path. The scanner reads packages and public source, and an address is neither. So there is no grade — not a withheld one, an unmeasured one.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 2.0.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Keywordise can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.