Jobherder job search
Qué hace este MCP
Searches for matching job roles and provides tailored CVs and cover letters through paid searches.
Herramientas
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
Esquema de salida
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['service', 'products', 'packs', 'credits_are_per_product', 'card_checkout', 'x402', 'free_searches'], 'properties': {'x402': {'anyOf': [{'type': 'object', 'required': ['network', 'asset', 'pay_to', 'prices', 'how'], 'properties': {'how': {'type': 'string', 'description': 'How to complete the payment loop'}, 'asset': {'type': 'string', 'description': 'Token accepted, USDC'}, 'pay_to': {'type': 'string', 'description': 'Receiving address'}, 'prices': {'type': 'object', 'description': 'Pack code to atomic USDC amount', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string'}}, 'network': {'type': 'string', 'description': 'Chain the payment settles on'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Stablecoin payment terms, null if x402 is not configured'}, 'packs': {'type': 'array', 'items': {'type': 'object', 'required': ['pack', 'credits', 'price', 'buys', 'description'], 'properties': {'buys': {'type': 'string', 'description': 'Which product these credits are valid for: search or quick'}, 'pack': {'type': 'string', 'description': 'Pack code to pass to checkout or to pay for over x402'}, 'price': {'type': 'string', 'description': 'Human-readable price'}, 'credits': {'type': 'number', 'description': 'How many runs the pack buys'}, 'description': {'type': 'string'}}, 'additionalProperties': False}, 'description': 'Buyable credit packs'}, 'service': {'type': 'string', 'description': 'Service name'}, 'products': {'type': 'array', 'items': {'type': 'object', 'required': ['tool', 'unit', 'price', 'typical_time'], 'properties': {'tool': {'type': 'string', 'description': 'Which tool buys this product'}, 'unit': {'type': 'string', 'description': 'What one purchase delivers'}, 'price': {'type': 'string', 'description': 'Human-readable price'}, 'typical_time': {'type': 'string', 'description': 'How long delivery usually takes'}}, 'additionalProperties': False}, 'description': 'The two things Jobherder sells'}, 'card_checkout': {'type': 'string', 'description': 'URL for card payment'}, 'free_searches': {'type': 'boolean', 'description': 'Always false: registration grants no credits'}, 'credits_are_per_product': {'type': 'boolean', 'description': 'Always true: a quick credit cannot pay for a full search'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'run_id': {'type': 'string', 'description': 'The run_id returned by start_job_search or quick_job_search. Omit to get the most recent run for this account'}}}
Esquema de salida
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'done': {'type': 'boolean', 'description': 'True once the run has finished, whether or not it found anything'}, 'plan': {'type': 'string', 'description': 'Which product this run was: one_off or agent_quick'}, 'error': {'type': 'string', 'description': 'Present only on failure, e.g. "unauthorized" or "payment_required"'}, 'run_id': {'type': 'string'}, 'status': {'type': 'string', 'description': 'running, success, no_matches or failed'}, 'matches': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'company', 'url'], 'properties': {'url': {'type': 'string', 'description': 'Link to the live posting'}, 'rank': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Position in the delivered set, 1 is the strongest match'}, 'score': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Fit score out of 100, higher is better'}, 'title': {'type': 'string', 'description': 'Job title as advertised'}, 'company': {'type': 'string', 'description': 'Hiring company'}, 'documents': {'anyOf': [{'type': 'object', 'required': ['cv_markdown', 'cover_letter_markdown'], 'properties': {'cv_markdown': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'The CV rewritten for this specific role, as markdown'}, 'cover_letter_markdown': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'A cover letter written for this specific role, as markdown'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'The tailored documents for this role. Null while the run is still going, and on older runs that predate document return'}, 'match_reason': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Why this role was picked for this profile'}}, 'additionalProperties': False}, 'description': 'The delivered roles, each with its tailored documents. Absent until the run succeeds'}, 'message': {'type': 'string', 'description': 'Progress in plain language while running, or what to do about the error'}, 'started_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'finished_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'target_jobs': {'type': 'number', 'description': 'How many roles this run is meant to deliver'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['profile'], 'properties': {'cv_json': {'type': 'object', 'properties': {'work': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string', 'maxLength': 300}, 'name': {'type': 'string', 'maxLength': 200}, 'company': {'type': 'string', 'maxLength': 200}, 'endDate': {'type': 'string', 'maxLength': 40}, 'summary': {'type': 'string', 'maxLength': 3000}, 'location': {'type': 'string', 'maxLength': 200}, 'position': {'type': 'string', 'maxLength': 200}, 'startDate': {'type': 'string', 'maxLength': 40}, 'highlights': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 50}}}, 'maxItems': 40}, 'awards': {'type': 'array', 'items': {'type': 'object', 'properties': {'date': {'type': 'string', 'maxLength': 40}, 'title': {'type': 'string', 'maxLength': 200}, 'awarder': {'type': 'string', 'maxLength': 200}, 'summary': {'type': 'string', 'maxLength': 1000}}}, 'maxItems': 30}, 'basics': {'type': 'object', 'properties': {'url': {'type': 'string', 'maxLength': 300}, 'name': {'type': 'string', 'maxLength': 120}, 'email': {'type': 'string', 'maxLength': 200}, 'label': {'type': 'string', 'maxLength': 200}, 'phone': {'type': 'string', 'maxLength': 60}, 'summary': {'type': 'string', 'maxLength': 4000}, 'location': {'type': 'object', 'properties': {'city': {'type': 'string', 'maxLength': 120}, 'region': {'type': 'string', 'maxLength': 120}, 'address': {'type': 'string', 'maxLength': 200}, 'postalCode': {'type': 'string', 'maxLength': 30}, 'countryCode': {'type': 'string', 'maxLength': 10}}}, 'profiles': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string', 'maxLength': 300}, 'network': {'type': 'string', 'maxLength': 80}, 'username': {'type': 'string', 'maxLength': 120}}}, 'maxItems': 20}}}, 'skills': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string', 'maxLength': 120}, 'level': {'type': 'string', 'maxLength': 60}, 'keywords': {'type': 'array', 'items': {'type': 'string', 'maxLength': 80}, 'maxItems': 60}}}, 'maxItems': 40}, 'projects': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string', 'maxLength': 300}, 'name': {'type': 'string', 'maxLength': 200}, 'endDate': {'type': 'string', 'maxLength': 40}, 'keywords': {'type': 'array', 'items': {'type': 'string', 'maxLength': 80}, 'maxItems': 50}, 'startDate': {'type': 'string', 'maxLength': 40}, 'highlights': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 50}, 'description': {'type': 'string', 'maxLength': 3000}}}, 'maxItems': 30}, 'education': {'type': 'array', 'items': {'type': 'object', 'properties': {'area': {'type': 'string', 'maxLength': 200}, 'score': {'type': 'string', 'maxLength': 60}, 'courses': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 50}, 'endDate': {'type': 'string', 'maxLength': 40}, 'startDate': {'type': 'string', 'maxLength': 40}, 'studyType': {'type': 'string', 'maxLength': 100}, 'institution': {'type': 'string', 'maxLength': 200}}}, 'maxItems': 20}, 'interests': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string', 'maxLength': 120}, 'keywords': {'type': 'array', 'items': {'type': 'string', 'maxLength': 80}, 'maxItems': 30}}}, 'maxItems': 20}, 'languages': {'type': 'array', 'items': {'type': 'object', 'properties': {'fluency': {'type': 'string', 'maxLength': 80}, 'language': {'type': 'string', 'maxLength': 80}}}, 'maxItems': 20}, 'volunteer': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string', 'maxLength': 300}, 'name': {'type': 'string', 'maxLength': 200}, 'company': {'type': 'string', 'maxLength': 200}, 'endDate': {'type': 'string', 'maxLength': 40}, 'summary': {'type': 'string', 'maxLength': 3000}, 'location': {'type': 'string', 'maxLength': 200}, 'position': {'type': 'string', 'maxLength': 200}, 'startDate': {'type': 'string', 'maxLength': 40}, 'highlights': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 50}}}, 'maxItems': 20}, 'certificates': {'type': 'array', 'items': {'type': 'object', 'properties': {'date': {'type': 'string', 'maxLength': 40}, 'name': {'type': 'string', 'maxLength': 200}, 'issuer': {'type': 'string', 'maxLength': 200}}}, 'maxItems': 30}, 'publications': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string', 'maxLength': 300}, 'summary': {'type': 'string', 'maxLength': 1000}, 'publisher': {'type': 'string', 'maxLength': 200}, 'releaseDate': {'type': 'string', 'maxLength': 40}}}, 'maxItems': 30}}, 'description': "The job seeker's existing CV as structured data, in the JSON Resume schema (jsonresume.org): basics, work, education, skills. Prefer this when you hold the CV as data â\x80\x94 you do not need to render a file. Supply either cv_json or cv_base64"}, 'cv_type': {'type': 'string', 'description': 'Format of cv_base64: "pdf", "docx" or "txt". Ignored when cv_json is supplied'}, 'profile': {'type': 'object', 'required': ['cfg_name', 'cfg_email', 'cfg_location', 'cfg_location_preference', 'cfg_work_style', 'cfg_want_remote_eu', 'cfg_want_remote_uk', 'cfg_want_usa', 'cfg_seniority_level', 'cfg_target_titles', 'cfg_local_country', 'cfg_industries'], 'properties': {'cfg_name': {'type': 'string', 'description': 'Full name of the job seeker, as it should appear on the tailored CV'}, 'cfg_email': {'type': 'string', 'description': 'Must match the email the API key is registered to. Results are emailed here as well as returned by get_search_status'}, 'cfg_location': {'type': 'string', 'description': 'Where the job seeker actually lives, e.g. "Limassol, Cyprus". Used for commute and time zone reasoning, not as a filter on its own'}, 'cfg_want_usa': {'enum': ['yes', 'no'], 'type': 'string', 'description': 'Include roles in the USA. Say no unless the job seeker can legally work there or the role is genuinely remote-worldwide'}, 'cfg_languages': {'type': 'array', 'items': {'type': 'string'}, 'default': ['english'], 'description': 'Working languages, lower case, e.g. ["english", "german"]. Roles requiring a language not listed here are dropped'}, 'cfg_uk_onsite': {'enum': ['yes', 'no'], 'type': 'string', 'default': 'no', 'description': 'Also include on-site roles in the UK. Defaults to no; UK remote is a separate flag'}, 'cfg_industries': {'type': 'string', 'description': 'Comma-separated sectors of interest, e.g. "Music, Fintech, Healthcare". Sectors only â\x80\x94 job functions go in cfg_target_titles'}, 'cfg_work_style': {'enum': ['remote_only', 'mix'], 'type': 'string', 'description': 'remote_only rejects anything requiring office attendance; mix means local or hybrid near the candidate plus remote in the chosen regions'}, 'cfg_advisory_open': {'enum': ['yes', 'no'], 'type': 'string', 'default': 'yes', 'description': 'Whether to include advisory, fractional, board and consulting roles alongside employment'}, 'cfg_local_country': {'type': 'string', 'description': 'ISO country name for where they live, e.g. "Germany". Required so local vs remote gating does not guess from a free-text city line'}, 'cfg_target_titles': {'type': 'string', 'description': 'Comma-separated target job titles, e.g. "Head of Production, COO, Product Director"'}, 'cfg_want_remote_eu': {'enum': ['yes', 'no'], 'type': 'string', 'description': 'Include roles advertised as remote within the EU. Set independently of the other regions; several can be yes'}, 'cfg_want_remote_uk': {'enum': ['yes', 'no'], 'type': 'string', 'description': 'Include roles advertised as remote within the UK'}, 'cfg_seniority_level': {'type': 'string', 'description': 'Seniority band as a single label or a contiguous range, e.g. "Director" or "Manager â\x80\x93 Head of Department". Not a free-text mix of titles and industries'}, 'cfg_not_interested_in': {'type': 'string', 'default': '', 'description': 'Comma-separated industries or employer types to exclude, e.g. "gambling, defence". Applied as a hard filter'}, 'cfg_additional_context': {'type': 'string', 'default': '', 'description': 'Anything else that shapes the search and is not covered by the other fields: visa position, notice period, salary floor, companies to avoid'}, 'cfg_location_preference': {'type': 'string', 'description': 'Prose description of acceptable locations, e.g. "anywhere remote in Europe, or on-site in Berlin". Free text; matching reads it as intent rather than parsing it'}, 'cfg_share_with_employers': {'enum': ['yes', 'no'], 'type': 'string', 'default': 'no', 'description': 'Consent to share the profile with employers. "no" keeps the search entirely one-way'}}, 'description': 'Who the job seeker is and what they want. Every field shapes matching, so guessing is worse than asking'}, 'cv_base64': {'type': 'string', 'description': "The job seeker's existing CV as a file, base64 encoded. PDF, DOCX or plain text, up to 10MB. Use cv_json instead if you have the CV as data rather than a file"}}}
Esquema de salida
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'error': {'type': 'string', 'description': 'Present only on failure, e.g. "unauthorized" or "payment_required"'}, 'run_id': {'type': 'string', 'description': 'Pass this to get_search_status to poll'}, 'status': {'type': 'string', 'description': 'Run state at the moment of starting, normally "running"'}, 'message': {'type': 'string', 'description': 'What happens next and roughly when, or what to do about the error'}, 'credits_remaining': {'type': 'number', 'description': 'Credits left for this product after the spend'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['email'], 'properties': {'name': {'type': 'string', 'description': 'Display name for the account. Optional; the profile name is used on documents regardless'}, 'email': {'type': 'string', 'description': "Email that will own the account and receive results. Must be the job seeker's own address, and must match cfg_email on every later search"}}}
Esquema de salida
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'next': {'type': 'string', 'description': 'Suggested next call'}, 'note': {'type': 'string'}, 'email': {'type': 'string', 'description': 'The address the account is registered to'}, 'error': {'type': 'string', 'description': 'Present only on failure, e.g. "unauthorized" or "payment_required"'}, 'api_key': {'type': 'string', 'description': 'Bearer token for every later call. Shown once and never again'}, 'message': {'type': 'string', 'description': 'What to do about the error, when one is present'}, 'owner_action_url': {'type': 'string', 'description': 'Present only on account_owned_by_human. A person already owns this address, so no key can be issued here. Send them to this page to create one and paste it back'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['profile'], 'properties': {'cv_json': {'type': 'object', 'properties': {'work': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string', 'maxLength': 300}, 'name': {'type': 'string', 'maxLength': 200}, 'company': {'type': 'string', 'maxLength': 200}, 'endDate': {'type': 'string', 'maxLength': 40}, 'summary': {'type': 'string', 'maxLength': 3000}, 'location': {'type': 'string', 'maxLength': 200}, 'position': {'type': 'string', 'maxLength': 200}, 'startDate': {'type': 'string', 'maxLength': 40}, 'highlights': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 50}}}, 'maxItems': 40}, 'awards': {'type': 'array', 'items': {'type': 'object', 'properties': {'date': {'type': 'string', 'maxLength': 40}, 'title': {'type': 'string', 'maxLength': 200}, 'awarder': {'type': 'string', 'maxLength': 200}, 'summary': {'type': 'string', 'maxLength': 1000}}}, 'maxItems': 30}, 'basics': {'type': 'object', 'properties': {'url': {'type': 'string', 'maxLength': 300}, 'name': {'type': 'string', 'maxLength': 120}, 'email': {'type': 'string', 'maxLength': 200}, 'label': {'type': 'string', 'maxLength': 200}, 'phone': {'type': 'string', 'maxLength': 60}, 'summary': {'type': 'string', 'maxLength': 4000}, 'location': {'type': 'object', 'properties': {'city': {'type': 'string', 'maxLength': 120}, 'region': {'type': 'string', 'maxLength': 120}, 'address': {'type': 'string', 'maxLength': 200}, 'postalCode': {'type': 'string', 'maxLength': 30}, 'countryCode': {'type': 'string', 'maxLength': 10}}}, 'profiles': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string', 'maxLength': 300}, 'network': {'type': 'string', 'maxLength': 80}, 'username': {'type': 'string', 'maxLength': 120}}}, 'maxItems': 20}}}, 'skills': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string', 'maxLength': 120}, 'level': {'type': 'string', 'maxLength': 60}, 'keywords': {'type': 'array', 'items': {'type': 'string', 'maxLength': 80}, 'maxItems': 60}}}, 'maxItems': 40}, 'projects': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string', 'maxLength': 300}, 'name': {'type': 'string', 'maxLength': 200}, 'endDate': {'type': 'string', 'maxLength': 40}, 'keywords': {'type': 'array', 'items': {'type': 'string', 'maxLength': 80}, 'maxItems': 50}, 'startDate': {'type': 'string', 'maxLength': 40}, 'highlights': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 50}, 'description': {'type': 'string', 'maxLength': 3000}}}, 'maxItems': 30}, 'education': {'type': 'array', 'items': {'type': 'object', 'properties': {'area': {'type': 'string', 'maxLength': 200}, 'score': {'type': 'string', 'maxLength': 60}, 'courses': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 50}, 'endDate': {'type': 'string', 'maxLength': 40}, 'startDate': {'type': 'string', 'maxLength': 40}, 'studyType': {'type': 'string', 'maxLength': 100}, 'institution': {'type': 'string', 'maxLength': 200}}}, 'maxItems': 20}, 'interests': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string', 'maxLength': 120}, 'keywords': {'type': 'array', 'items': {'type': 'string', 'maxLength': 80}, 'maxItems': 30}}}, 'maxItems': 20}, 'languages': {'type': 'array', 'items': {'type': 'object', 'properties': {'fluency': {'type': 'string', 'maxLength': 80}, 'language': {'type': 'string', 'maxLength': 80}}}, 'maxItems': 20}, 'volunteer': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string', 'maxLength': 300}, 'name': {'type': 'string', 'maxLength': 200}, 'company': {'type': 'string', 'maxLength': 200}, 'endDate': {'type': 'string', 'maxLength': 40}, 'summary': {'type': 'string', 'maxLength': 3000}, 'location': {'type': 'string', 'maxLength': 200}, 'position': {'type': 'string', 'maxLength': 200}, 'startDate': {'type': 'string', 'maxLength': 40}, 'highlights': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 50}}}, 'maxItems': 20}, 'certificates': {'type': 'array', 'items': {'type': 'object', 'properties': {'date': {'type': 'string', 'maxLength': 40}, 'name': {'type': 'string', 'maxLength': 200}, 'issuer': {'type': 'string', 'maxLength': 200}}}, 'maxItems': 30}, 'publications': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string', 'maxLength': 300}, 'summary': {'type': 'string', 'maxLength': 1000}, 'publisher': {'type': 'string', 'maxLength': 200}, 'releaseDate': {'type': 'string', 'maxLength': 40}}}, 'maxItems': 30}}, 'description': "The job seeker's existing CV as structured data, in the JSON Resume schema (jsonresume.org): basics, work, education, skills. Prefer this when you hold the CV as data â\x80\x94 you do not need to render a file. Supply either cv_json or cv_base64"}, 'cv_type': {'type': 'string', 'description': 'Format of cv_base64: "pdf", "docx" or "txt". Ignored when cv_json is supplied'}, 'profile': {'type': 'object', 'required': ['cfg_name', 'cfg_email', 'cfg_location', 'cfg_location_preference', 'cfg_work_style', 'cfg_want_remote_eu', 'cfg_want_remote_uk', 'cfg_want_usa', 'cfg_seniority_level', 'cfg_target_titles', 'cfg_local_country', 'cfg_industries'], 'properties': {'cfg_name': {'type': 'string', 'description': 'Full name of the job seeker, as it should appear on the tailored CV'}, 'cfg_email': {'type': 'string', 'description': 'Must match the email the API key is registered to. Results are emailed here as well as returned by get_search_status'}, 'cfg_location': {'type': 'string', 'description': 'Where the job seeker actually lives, e.g. "Limassol, Cyprus". Used for commute and time zone reasoning, not as a filter on its own'}, 'cfg_want_usa': {'enum': ['yes', 'no'], 'type': 'string', 'description': 'Include roles in the USA. Say no unless the job seeker can legally work there or the role is genuinely remote-worldwide'}, 'cfg_languages': {'type': 'array', 'items': {'type': 'string'}, 'default': ['english'], 'description': 'Working languages, lower case, e.g. ["english", "german"]. Roles requiring a language not listed here are dropped'}, 'cfg_uk_onsite': {'enum': ['yes', 'no'], 'type': 'string', 'default': 'no', 'description': 'Also include on-site roles in the UK. Defaults to no; UK remote is a separate flag'}, 'cfg_industries': {'type': 'string', 'description': 'Comma-separated sectors of interest, e.g. "Music, Fintech, Healthcare". Sectors only â\x80\x94 job functions go in cfg_target_titles'}, 'cfg_work_style': {'enum': ['remote_only', 'mix'], 'type': 'string', 'description': 'remote_only rejects anything requiring office attendance; mix means local or hybrid near the candidate plus remote in the chosen regions'}, 'cfg_advisory_open': {'enum': ['yes', 'no'], 'type': 'string', 'default': 'yes', 'description': 'Whether to include advisory, fractional, board and consulting roles alongside employment'}, 'cfg_local_country': {'type': 'string', 'description': 'ISO country name for where they live, e.g. "Germany". Required so local vs remote gating does not guess from a free-text city line'}, 'cfg_target_titles': {'type': 'string', 'description': 'Comma-separated target job titles, e.g. "Head of Production, COO, Product Director"'}, 'cfg_want_remote_eu': {'enum': ['yes', 'no'], 'type': 'string', 'description': 'Include roles advertised as remote within the EU. Set independently of the other regions; several can be yes'}, 'cfg_want_remote_uk': {'enum': ['yes', 'no'], 'type': 'string', 'description': 'Include roles advertised as remote within the UK'}, 'cfg_seniority_level': {'type': 'string', 'description': 'Seniority band as a single label or a contiguous range, e.g. "Director" or "Manager â\x80\x93 Head of Department". Not a free-text mix of titles and industries'}, 'cfg_not_interested_in': {'type': 'string', 'default': '', 'description': 'Comma-separated industries or employer types to exclude, e.g. "gambling, defence". Applied as a hard filter'}, 'cfg_additional_context': {'type': 'string', 'default': '', 'description': 'Anything else that shapes the search and is not covered by the other fields: visa position, notice period, salary floor, companies to avoid'}, 'cfg_location_preference': {'type': 'string', 'description': 'Prose description of acceptable locations, e.g. "anywhere remote in Europe, or on-site in Berlin". Free text; matching reads it as intent rather than parsing it'}, 'cfg_share_with_employers': {'enum': ['yes', 'no'], 'type': 'string', 'default': 'no', 'description': 'Consent to share the profile with employers. "no" keeps the search entirely one-way'}}, 'description': 'Who the job seeker is and what they want. Every field shapes matching, so guessing is worse than asking'}, 'cv_base64': {'type': 'string', 'description': "The job seeker's existing CV as a file, base64 encoded. PDF, DOCX or plain text, up to 10MB. Use cv_json instead if you have the CV as data rather than a file"}}}
Esquema de salida
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'error': {'type': 'string', 'description': 'Present only on failure, e.g. "unauthorized" or "payment_required"'}, 'run_id': {'type': 'string', 'description': 'Pass this to get_search_status to poll'}, 'status': {'type': 'string', 'description': 'Run state at the moment of starting, normally "running"'}, 'message': {'type': 'string', 'description': 'What happens next and roughly when, or what to do about the error'}, 'credits_remaining': {'type': 'number', 'description': 'Credits left for this product after the spend'}}, 'additionalProperties': False}
Cambios recientes en herramientas
Servidores MCP similares
freedom-mcp
Supports company operations through commitments, teams, agents, customer evidence, leads, content workflows, spreadsheets, commer…
Calcgrid
Runs general-purpose calculators for loans, dates, lunar and solar terms, time zones, units, and a larger catalog of specialized …
Local MCP
Connects AI assistants to Mac email, calendars, reminders, notes, tasks, files, Microsoft 365, Todoist, spreadsheets, and daily b…
Stable Baseline
Manages company documents, knowledge graphs, whiteboards, projects, plans, tasks, teams, and improvement workflows.
hopi
Provides read-only calculators, converters, validators, text utilities, encoders, and generators for everyday and technical tasks.
mu
Supports personal and collaborative tasks including web browsing, app creation, blogs, bookmarks, discussions, and contact manage…
John's Essentials
Analyzes and converts documents, images, audio, video, archives, data files, and other media formats, with PDF chat and file insp…
Dayze — Life Context
Provides authenticated personal life-context data and tools for contacts, memories, events, expenses, trips, assets, places, and …