com.keywordise/keywordise
REMOTE · KEYWORDISE.COM · SCANNED SEP 28
Auto-apply to jobs: matches your CV, tailors a fresh CV per posting, and applies for you.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security46
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (cancel_subscription). See how to fix → View diagnostics → Fail
- HTTPS enforcement could not be verified: the plaintext port answered with HTTP 405, which proves neither a plaintext path nor enforcement. View diagnostics → Unverified
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability79
- AI-judged instruction clarity (excellent).Pass
- Tool/resource definitions use about 3574 tokens (~72/item across 49 items; 49 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management90
- Stability observed for 27 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage80
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 39% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 50 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
How do I install the com.keywordise/keywordise MCP server?
com.keywordise/keywordise is a hosted endpoint at https://keywordise.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · keywordise.com
claude mcp add --transport http com-keywordise-keywordise 'https://keywordise.com/mcp'
{
"mcpServers": {
"com-keywordise-keywordise": {
"url": "https://keywordise.com/mcp"
}
}
} {
"servers": {
"com-keywordise-keywordise": {
"type": "http",
"url": "https://keywordise.com/mcp"
}
}
} [mcp_servers.com-keywordise-keywordise] url = "https://keywordise.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-keywordise-keywordise": {
"type": "remote",
"url": "https://keywordise.com/mcp",
"enabled": true
}
}
} openclaw mcp add com-keywordise-keywordise --url 'https://keywordise.com/mcp' --transport streamable-http
mcp_servers:
com-keywordise-keywordise:
url: "https://keywordise.com/mcp" {
"McpServers": {
"com-keywordise-keywordise": {
"Transport": "http",
"Url": "https://keywordise.com/mcp"
}
}
} assistant mcp add com-keywordise-keywordise -t streamable-http -u 'https://keywordise.com/mcp'
{
"mcpServers": {
"com-keywordise-keywordise": {
"type": "http",
"url": "https://keywordise.com/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 28 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 27 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 26 Sept 26 0
- Tool “describe_what_i_want” rewrote its description, which is the text the model reads security
- Tool “explain_job_match” rewrote its description, which is the text the model reads security
- Tool “get_match_status” rewrote its description, which is the text the model reads security
- Tool “get_my_profile” rewrote its description, which is the text the model reads security
- Tool “list_matching_jobs” rewrote its description, which is the text the model reads security
- Tool “list_my_applications” rewrote its description, which is the text the model reads security
- Tool “preview_tailored_cv” rewrote its description, which is the text the model reads security
- Tool “refresh_matches” rewrote its description, which is the text the model reads security
- Tool “start_apply_run” rewrote its description, which is the text the model reads security
- Tool “stop_apply_run” rewrote its description, which is the text the model reads security
- Tool “upload_cv” rewrote its description, which is the text the model reads security
- Schema quality: 65 → 72 ▼ functional
- “refresh_matches” added an optional parameter “rebuild” cosmetic
- 25 Sept 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 23 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 70 to 73. That category is still filling its 30-day observation window: 21 days of observed history at the previous scan, 22 at this one. The score rises as the window fills, whether or not the server changes.
- 21 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.
- 16 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 47 to 50. That category is still filling its 30-day observation window: 14 days of observed history at the previous scan, 15 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 28 Sept 2026 · Probed https://keywordise.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=keywordise.com | CN=YE2,O=Let's Encrypt,C=US | 30 Aug 2026 | 28 Nov 2026 | ECDSA 256 | ECDSA-SHA384 | 567719080dd4f582be818b79615bec8aada |
| SANs: *.keywordise.com, keywordise.com | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of keywordise.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| keywordise.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://keywordise.com/mcp | Verified | 200 | |
| http (plaintext) | http://keywordise.com/mcp | Inconclusive | 405 |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
answer_screening_question Answer an employer's screening question ~95
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.
| Name | Type | Req | Description |
|---|---|---|---|
| answer | string | yes | – |
| application_id | string | yes | – |
| question_id | string | yes | – |
No output schema declared.
No examples provided.
cancel_subscription Cancel my subscription at period end ~40
Cancel the Pro subscription at the end of the current billing period. Access stays until then. Irreversible from here; the person can resubscribe later.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
create_account Create a Keywordise account ~111
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 $49/month.
| Name | Type | Req | Description |
|---|---|---|---|
| accept_terms | boolean | yes | – |
| string | yes | – | |
| password | string | yes | – |
No output schema declared.
No examples provided.
create_api_key Mint another API key ~40
Mint an additional API key for this account, for another machine or assistant. Shown once. Five active keys maximum.
| Name | Type | Req | Description |
|---|---|---|---|
| label | string | – | – |
No output schema declared.
No examples provided.
delete_my_account Delete my account permanently ~53
Erase the account and everything in it: profile, CV files, matches, applications, answers, keys. Irreversible. Requires confirm_email equal to the account's address.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm_email | string | yes | – |
No output schema declared.
No examples provided.
delete_saved_answer Forget a saved answer ~33
Remove one answer from the answer book (an answer_id from list_saved_answers).
| Name | Type | Req | Description |
|---|---|---|---|
| answer_id | string | yes | – |
No output schema declared.
No examples provided.
describe_what_i_want Set targeting from one sentence ~121
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: balanced | broad | focused.
| Name | Type | Req | Description |
|---|---|---|---|
| apply | boolean | – | – |
| preset | string | – | – |
| sentence | string | yes | – |
No output schema declared.
No examples provided.
explain_job_match Why this job does or does not fit me ~108
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).
| Name | Type | Req | Description |
|---|---|---|---|
| job_id | string | yes | A job_id from list_matching_jobs or list_my_applications. |
| narrative | boolean | – | – |
No output schema declared.
No examples provided.
export_my_data Export everything Keywordise holds about me ~54
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_account My account and plan ~43
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_apply_run_status How my application run is going ~50
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_billing_portal_link Manage my subscription (portal link) ~37
A link to the payment provider's customer portal for this account's subscription, where invoices, the payment method and cancellation live.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_feed_reach What my targeting is costing me ~53
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_job_posting Read one job posting ~56
The full description of one matched vacancy, with a short summary and highlights, plus the link that opens the posting from the app.
| Name | Type | Req | Description |
|---|---|---|---|
| job_id | string | yes | A job_id from list_matching_jobs or list_my_applications. |
No output schema declared.
No examples provided.
get_match_status Is a match run in progress ~113
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_matches; the feed is final only when feed_build.feed_state.state is `ready`.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_my_cv_pdf Render my CV as a PDF ~56
The account's base CV (the saved profile, untailored) rendered as a PDF in the chosen design, returned as a file. No model call.
| Name | Type | Req | Description |
|---|---|---|---|
| design | string | – | Optional; defaults to the saved design. |
No output schema declared.
No examples provided.
get_my_profile Who am I acting for ~84
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_profile_gaps What my CV is missing ~49
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_sent_cv_pdf The exact CV that was sent ~36
The tailored CV PDF that went to the employer for one application, returned as a file.
| Name | Type | Req | Description |
|---|---|---|---|
| application_id | string | yes | – |
No output schema declared.
No examples provided.
get_targeting My job targeting ~70
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_tracker My application tracker ~36
The tracker board: applications grouped by the stage the person set (saved, applied, interview, offer, rejected) with their own notes.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_upgrade_link Upgrade to Pro (checkout link) ~51
A checkout link for the Pro plan ($49/month, 200 applications a month) from the active payment provider. The person opens it in a browser to pay; the account upgrades automatically when the payment lands.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_api_keys My API keys ~31
The active API keys on this account: prefix, label, created and last used. Never the key itself.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_blocking_questions Screening questions waiting on me ~61
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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Maximum number of applications to expand. |
No output schema declared.
No examples provided.
list_countries_with_jobs Countries with live jobs ~40
The countries the live pool actually has inventory in (ISO-2, name, job count), for choosing geo_countries in update_targeting.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_cv_designs Available CV designs ~28
The CV designs a tailored CV can be rendered in, with the account's current pick.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_facts_to_provide Facts that would unblock the most applications ~52
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_hidden_jobs Jobs I hid ~27
The jobs this account hid or disliked, newest first, so one can be put back.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_matching_jobs Jobs that match my CV right now ~207
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, and whether an application was already sent. Filter by match tier and freshness; page with offset.
| Name | Type | Req | Description |
|---|---|---|---|
| applied | string | – | hide = leave out jobs already applied to. |
| fresh | string | – | new = posted in the last two weeks; all = the last month. |
| limit | integer | – | – |
| match | string | – | Match tier. 'all' includes weak matches the recruiter pass rejected. |
| offset | integer | – | – |
| sort | string | – | fit = best match first; fresh = newest day first, best match within it. |
No output schema declared.
No examples provided.
list_my_applications Applications Keywordise sent for me ~102
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.
| Name | Type | Req | Description |
|---|---|---|---|
| include_cover_letter | boolean | – | – |
| limit | integer | – | – |
| only_waiting_on_me | boolean | – | Only applications stalled on unanswered screening questions. |
No output schema declared.
No examples provided.
list_run_history My recent match and application runs ~27
The last five match runs and the last five application runs, with their counts and status.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_saved_answers My saved screening answers ~35
The answer book: every screening answer this account has given or taught, which future applications reuse automatically in any phrasing or language.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
login Log in and get an API key ~94
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).
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | – | |
| label | string | – | A name for this key, e.g. the machine it lives on. |
| password | string | yes | – |
No output schema declared.
No examples provided.
move_tracker_card Move an application to another stage ~42
Set the tracker stage of one application: saved, applied, interview, offer or rejected.
| Name | Type | Req | Description |
|---|---|---|---|
| application_id | string | yes | – |
| stage | string | yes | – |
No output schema declared.
No examples provided.
preview_tailored_cv Tailor my CV for one job (preview only) ~121
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 as applying.
| Name | Type | Req | Description |
|---|---|---|---|
| job_id | string | yes | A job_id from list_matching_jobs or list_my_applications. |
No output schema declared.
No examples provided.
rate_job Hide, dislike or mark a job interesting ~76
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.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| job_id | string | yes | A job_id from list_matching_jobs or list_my_applications. |
| reason | string | – | – |
No output schema declared.
No examples provided.
refresh_matches Refresh my matches ~124
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 reading list_matching_jobs, because a feed that is still building is not an empty feed.
| Name | Type | Req | Description |
|---|---|---|---|
| force | boolean | – | – |
| rebuild | boolean | – | – |
No output schema declared.
No examples provided.
resend_verification_email Resend the confirmation email ~36
Send the email-confirmation link again to this account's address. Applying is blocked until the address is confirmed; nothing else is.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
revoke_api_key Revoke an API key ~55
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.
| Name | Type | Req | Description |
|---|---|---|---|
| key_id | string | yes | From list_api_keys. |
No output schema declared.
No examples provided.
save_answer Teach an answer once, for every application ~89
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.
| Name | Type | Req | Description |
|---|---|---|---|
| answer | string | yes | – |
| kind | string | – | – |
| options | array | – | For select questions: the choices the form offers. |
| question | string | yes | – |
No output schema declared.
No examples provided.
set_cv_design Choose my CV design ~34
Set the design every tailored CV is rendered in (a key from list_cv_designs).
| Name | Type | Req | Description |
|---|---|---|---|
| design | string | yes | – |
No output schema declared.
No examples provided.
set_tracker_note Write a note on an application ~43
Replace the person's own note on one tracked application (interview date, contact, next step).
| Name | Type | Req | Description |
|---|---|---|---|
| application_id | string | yes | – |
| notes | string | yes | – |
No output schema declared.
No examples provided.
start_apply_run Apply to my matching jobs ~245
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 answers, and SUBMITS inside the employer's own system. Real applications leave in the person's name; needs a confirmed email and an active plan; counts against the plan. dry_run=true does everything except submit. Poll get_apply_run_status.
| Name | Type | Req | Description |
|---|---|---|---|
| dry_run | boolean | – | – |
| fresh | string | – | Freshness window; defaults to the account's saved filter. |
| job_id | string | – | 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. |
| limit | integer | – | – |
| match | string | – | Match tier to draw from; defaults to the account's saved filter. |
No output schema declared.
No examples provided.
stop_apply_run Stop my application run ~49
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
suggest_keywords Keywords my CV suggests ~25
Search keywords derived from the saved profile, useful as include_keywords in update_targeting.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
unhide_job Put a hidden job back ~47
Undo hide or dislike: the job returns to the feed and the negative signal is dropped.
| Name | Type | Req | Description |
|---|---|---|---|
| job_id | string | yes | A job_id from list_matching_jobs or list_my_applications. |
No output schema declared.
No examples provided.
update_profile Edit my profile ~96
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.
| Name | Type | Req | Description |
|---|---|---|---|
| patch | object | yes | Profile fields to change, by name. |
No output schema declared.
No examples provided.
update_targeting Change my job targeting ~134
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_expectation, notice_period, …). The feed re-matches in the background.
| Name | Type | Req | Description |
|---|---|---|---|
| patch | object | yes | Targeting fields to change, by name. |
No output schema declared.
No examples provided.
upload_cv Upload my CV (PDF or DOCX) ~140
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 review only. Max 8 MB.
| Name | Type | Req | Description |
|---|---|---|---|
| content_base64 | string | yes | The file's bytes, base64-encoded. |
| filename | string | yes | e.g. cv.pdf |
| save | boolean | – | – |
No output schema declared.
No examples provided.
What is the com.keywordise/keywordise MCP server?
com.keywordise/keywordise is an MCP server listed in the public MCP registry as com.keywordise/keywordise. Auto-apply to jobs: matches your CV, tailors a fresh CV per posting, and applies for you. This page covers its hosted endpoint (https://keywordise.com/mcp).
Is the com.keywordise/keywordise MCP server safe to use?
com.keywordise/keywordise scores 70 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the com.keywordise/keywordise MCP server expose?
com.keywordise/keywordise exposes 49 tools: create_account, login, get_account, resend_verification_email, get_upgrade_link, and 44 more. Their descriptions and schemas cost roughly 3,449 tokens of context every time the server is loaded.
Does the com.keywordise/keywordise MCP server require authentication?
No. We connected to com.keywordise/keywordise without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the com.keywordise/keywordise MCP server still maintained?
com.keywordise/keywordise is still listed as active in the MCP registry. We last reached this channel on 28 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.