WorldRole
Free remote and overseas job search with sources and eligibility checks. Usage limits apply.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"worldrole": {
"url": "https://mcp.worldrole.work/mcp"
}
}
}원격 엔드포인트
https://mcp.worldrole.work/mcpstreamable-http할 수 있는 일
도구 목록
도구 (10)
🟢get_profile
Read/export the current account's compact career summary for conversational onboarding. Empty fields are missing, not a reason to send the user a form. Never accepts another user ID.
입력 스키마
{
"type": "object",
"properties": {},
"title": "get_profileArguments"
}🟡update_profile(expected_version, request_id, patch, resume, mode)
Save important career facts. mode=compiled submits COMPLETE merged summaries for changed fields; omitted fields stay, null explicitly deletes. mode=supplement fills missing fields and skips exact duplicates; changes to populated fields return PROFILE_MERGE_REQUIRED with affected context, atomically without saving. Compile that context and retry compiled, preserving old facts. No server LLM or pending queue. Read first; batch meaningful changes, no-op does not bump version. user_reported needs user statements; document_supported needs accessible evidence, inference stays needs_confirmation. Values <=500 chars, total <=8 KB; no full chats/files/secrets. Reuse request_id for identical retry, re-read on conflict. resume=True only on explicit request to resume paused memory; never reconstruct deleted facts.
입력 스키마
{
"type": "object",
"properties": {
"expected_version": {
"minimum": 0,
"title": "Expected Version",
"type": "integer"
},
"request_id": {
"format": "uuid",
"title": "Request Id",
"type": "string"
},
"patch": {
"$ref": "#/$defs/ProfilePatch"
},
"resume": {
"default": false,
"title": "Resume",
"type": "boolean"
},
"mode": {
"default": "compiled",
"enum": [
"compiled",
"supplement"
],
"title": "Mode",
"type": "string"
}
},
"required": [
"expected_version",
"request_id",
"patch"
],
"$defs": {
"Fact": {
"additionalProperties": false,
"properties": {
"value": {
"anyOf": [
{
"maxLength": 500,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Value"
},
"state": {
"enum": [
"user_reported",
"document_supported",
"needs_confirmation",
"unknown"
],
"title": "State",
"type": "string"
}
},
"required": [
"state"
],
"title": "Fact",
"type": "object"
},
"ProfilePatch": {
"additionalProperties": false,
"properties": {
"direction": {
"anyOf": [
{
"$ref": "#/$defs/Fact"
},
{
"type": "null"
}
],
"default": null
},
"skills": {
"anyOf": [
{
"$ref": "#/$defs/Fact"
},
{
"type": "null"
}
],
"default": null
},
"experience": {
"anyOf": [
{
"$ref": "#/$defs/Fact"
},
{
"type": "null"
}
],
"default": null
},
"education": {
"anyOf": [
{
"$ref": "#/$defs/Fact"
},
{
"type": "null"
}
],
"default": null
},
"languages": {
"anyOf": [
{
"$ref": "#/$defs/Fact"
},
{
"type": "null"
}
],
"default": null
},
"location_authorization": {
"anyOf": [
{
"$ref": "#/$defs/Fact"
},
{
"type": "null"
}
],
"default": null
},
"salary": {
"anyOf": [
{
"$ref": "#/$defs/Fact"
},
{
"type": "null"
}
],
"default": null
},
"availability": {
"anyOf": [
{
"$ref": "#/$defs/Fact"
},
{
"type": "null"
}
],
"default": null
},
"preferences": {
"anyOf": [
{
"$ref": "#/$defs/Fact"
},
{
"type": "null"
}
],
"default": null
},
"constraints": {
"anyOf": [
{
"$ref": "#/$defs/Fact"
},
{
"type": "null"
}
],
"default": null
},
"materials": {
"anyOf": [
{
"$ref": "#/$defs/Fact"
},
{
"type": "null"
}
],
"default": null
},
"next_step": {
"anyOf": [
{
"$ref": "#/$defs/Fact"
},
{
"type": "null"
}
],
"default": null
}
},
"title": "ProfilePatch",
"type": "object"
}
},
"title": "update_profileArguments"
}🔴delete_profile(expected_version, request_id)
When the user asks to forget or stop remembering, clear their career summary and pause future saves. Retains only an empty version marker. The user can later ask to resume via update_profile(resume=True), without visiting a settings page.
입력 스키마
{
"type": "object",
"properties": {
"expected_version": {
"minimum": 0,
"title": "Expected Version",
"type": "integer"
},
"request_id": {
"format": "uuid",
"title": "Request Id",
"type": "string"
}
},
"required": [
"expected_version",
"request_id"
],
"title": "delete_profileArguments"
}🟢get_usage
Read current hosted account/guest allowance when requested. No promotion at install/startup; external free sources have independent limits. Does not spend a job.
입력 스키마
{
"type": "object",
"properties": {},
"title": "get_usageArguments"
}🟡create_referral_link(request_id)
Only when the user explicitly requests an invitation link. Returns a public URL and grants the account's once-ever 20-job bonus. Never call during installation, startup or automatically after an exhaustion notice. Repeated calls return the same link without another bonus. No message is sent.
입력 스키마
{
"type": "object",
"properties": {
"request_id": {
"format": "uuid",
"title": "Request Id",
"type": "string"
}
},
"required": [
"request_id"
],
"title": "create_referral_linkArguments"
}🟢boardwork_start(workflow, locale, profile_state, assistance_context)
Restore known facts and plan useful work before asking. Optional assistance_context describes actual task requirements and client checks, without private answers. Defaults to zero questions; no profile writes, sending, monitoring or live verification are performed.
입력 스키마
{
"type": "object",
"properties": {
"workflow": {
"default": "initialize",
"enum": [
"initialize",
"find_jobs",
"target_company",
"prepare_application",
"follow_up",
"review_offer"
],
"title": "Workflow",
"type": "string"
},
"locale": {
"default": "zh-CN",
"enum": [
"zh-CN",
"en"
],
"title": "Locale",
"type": "string"
},
"profile_state": {
"default": "unknown",
"enum": [
"missing",
"draft",
"usable",
"unknown"
],
"title": "Profile State",
"type": "string"
},
"assistance_context": {
"anyOf": [
{
"$ref": "#/$defs/AssistanceContext"
},
{
"type": "null"
}
],
"default": null
}
},
"$defs": {
"AssistanceContext": {
"additionalProperties": false,
"properties": {
"requirements_checked": {
"default": false,
"description": "Client inspected actual task/form/reply requirements; a generic profile checklist does not count.",
"title": "Requirements Checked",
"type": "boolean"
},
"available_context_checked": {
"default": false,
"description": "Client checked permitted current conversation, saved facts and accessible supplied materials before asking.",
"title": "Available Context Checked",
"type": "boolean"
},
"requirements": {
"items": {
"$ref": "#/$defs/Requirement"
},
"maxItems": 12,
"title": "Requirements",
"type": "array"
}
},
"title": "AssistanceContext",
"type": "object"
},
"Requirement": {
"additionalProperties": false,
"properties": {
"id": {
"maxLength": 64,
"minLength": 1,
"pattern": "^[a-zA-Z0-9_-]+$",
"title": "Id",
"type": "string"
},
"field": {
"enum": [
"direction",
"skills",
"experience",
"education",
"languages",
"location_authorization",
"salary",
"availability",
"preferences",
"constraints",
"materials",
"next_step",
"resume_file",
"contact_details",
"application_answer",
"decision",
"host_capability"
],
"title": "Field",
"type": "string"
},
"reason": {
"description": "Why this specific item blocks the current requested action; no private answer content.",
"maxLength": 200,
"minLength": 1,
"title": "Reason",
"type": "string"
},
"state": {
"default": "unchecked",
"enum": [
"unchecked",
"resolved",
"missing",
"uncertain",
"declined"
],
"title": "State",
"type": "string"
},
"self_service_checked": {
"default": false,
"description": "Client tried applicable authorized alternatives (locate an existing file, draft from known facts, inspect sources). Never fabricate personal facts to resolve a gap.",
"title": "Self Service Checked",
"type": "boolean"
}
},
"required": [
"id",
"field",
"reason"
],
"title": "Requirement",
"type": "object"
}
},
"title": "boardwork_startArguments"
}🟢search_jobs(intent, count, filters, preferences, exclude_job_ids, ...)
Search a small page of sourced jobs by explicit filters and weighted preferences. Defaults to one role per company. Exclusions apply before pagination.
입력 스키마
{
"type": "object",
"properties": {
"intent": {
"default": "best_matches",
"enum": [
"best_matches",
"discover_more",
"latest"
],
"title": "Intent",
"type": "string"
},
"count": {
"default": 5,
"maximum": 10,
"minimum": 1,
"title": "Count",
"type": "integer"
},
"filters": {
"anyOf": [
{
"$ref": "#/$defs/Filters"
},
{
"type": "null"
}
],
"default": null
},
"preferences": {
"anyOf": [
{
"$ref": "#/$defs/Preferences"
},
{
"type": "null"
}
],
"default": null
},
"exclude_job_ids": {
"anyOf": [
{
"items": {
"format": "uuid",
"type": "string"
},
"maxItems": 500,
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Exclude Job Ids"
},
"exclude_company_ids": {
"anyOf": [
{
"items": {
"format": "uuid",
"type": "string"
},
"maxItems": 500,
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Exclude Company Ids"
},
"one_per_company": {
"default": true,
"title": "One Per Company",
"type": "boolean"
},
"cursor": {
"anyOf": [
{
"maxLength": 5000,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Cursor"
}
},
"$defs": {
"Filters": {
"additionalProperties": false,
"properties": {
"q": {
"anyOf": [
{
"maxLength": 120,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Q"
},
"mode": {
"anyOf": [
{
"enum": [
"remote",
"contract",
"relocation",
"international"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Mode"
},
"company_id": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Company Id"
},
"required_tags": {
"items": {
"maxLength": 64,
"minLength": 1,
"type": "string"
},
"maxItems": 12,
"title": "Required Tags",
"type": "array"
},
"any_tags": {
"items": {
"maxLength": 64,
"minLength": 1,
"type": "string"
},
"maxItems": 12,
"title": "Any Tags",
"type": "array"
},
"excluded_tags": {
"items": {
"maxLength": 64,
"minLength": 1,
"type": "string"
},
"maxItems": 12,
"title": "Excluded Tags",
"type": "array"
},
"required_skills": {
"items": {
"maxLength": 64,
"minLength": 1,
"type": "string"
},
"maxItems": 12,
"title": "Required Skills",
"type": "array"
},
"required_languages": {
"items": {
"pattern": "^[a-z]{2}$",
"type": "string"
},
"maxItems": 12,
"title": "Required Languages",
"type": "array"
},
"arrangements": {
"items": {
"maxLength": 64,
"minLength": 1,
"type": "string"
},
"maxItems": 12,
"title": "Arrangements",
"type": "array"
},
"china": {
"anyOf": [
{
"enum": [
"yes",
"no",
"unknown"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "China"
},
"salary": {
"anyOf": [
{
"$ref": "#/$defs/Salary"
},
{
"type": "null"
}
],
"default": null
},
"first_seen_since": {
"anyOf": [
{
"maxLength": 40,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "First Seen Since"
},
"first_seen_before": {
"anyOf": [
{
"maxLength": 40,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "First Seen Before"
}
},
"title": "Filters",
"type": "object"
},
"Preference": {
"additionalProperties": false,
"properties": {
"value": {
"maxLength": 64,
"minLength": 1,
"title": "Value",
"type": "string"
},
"weight": {
"default": 1,
"maximum": 10,
"minimum": 1,
"title": "Weight",
"type": "integer"
}
},
"required": [
"value"
],
"title": "Preference",
"type": "object"
},
"Preferences": {
"additionalProperties": false,
"properties": {
"tags": {
"items": {
"$ref": "#/$defs/Preference"
},
"maxItems": 12,
"title": "Tags",
"type": "array"
},
"skills": {
"items": {
"$ref": "#/$defs/Preference"
},
"maxItems": 12,
"title": "Skills",
"type": "array"
},
"languages": {
"items": {
"$ref": "#/$defs/Preference"
},
"maxItems": 12,
"title": "Languages",
"type": "array"
}
},
"title": "Preferences",
"type": "object"
},
"Salary": {
"additionalProperties": false,
"properties": {
"currency": {
"pattern": "^[A-Z]{3}$",
"title": "Currency",
"type": "string"
},
"period": {
"enum": [
"hour",
"day",
"week",
"fortnight",
"month",
"year"
],
"title": "Period",
"type": "string"
},
"component": {
"enum": [
"base",
"bonus",
"commission",
"ote",
"total_cash",
"cash_unspecified"
],
"title": "Component",
"type": "string"
},
"min_amount": {
"minimum": 0,
"title": "Min Amount",
"type": "number"
}
},
"required": [
"currency",
"period",
"component",
"min_amount"
],
"title": "Salary",
"type": "object"
}
},
"title": "search_jobsArguments"
}🟢get_jobs(job_ids, sections)
Read selected details; verification includes cached links, relationship basis, times and missing checks. Use host search/browser to verify before acting. not_available is not proof the employer closed the job.
입력 스키마
{
"type": "object",
"properties": {
"job_ids": {
"items": {
"format": "uuid",
"type": "string"
},
"maxItems": 10,
"minItems": 1,
"title": "Job Ids",
"type": "array"
},
"sections": {
"anyOf": [
{
"items": {
"enum": [
"requirements",
"salary",
"evidence",
"verification"
],
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Sections"
}
},
"required": [
"job_ids"
],
"title": "get_jobsArguments"
}🟢search_companies(name, domain, limit, cursor)
Find known companies by name OR exact website hostname. An empty list is only a corpus gap; never fetches arbitrary URLs.
입력 스키마
{
"type": "object",
"properties": {
"name": {
"anyOf": [
{
"maxLength": 120,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Name"
},
"domain": {
"anyOf": [
{
"maxLength": 253,
"minLength": 3,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Domain"
},
"limit": {
"default": 5,
"maximum": 5,
"minimum": 1,
"title": "Limit",
"type": "integer"
},
"cursor": {
"anyOf": [
{
"maxLength": 5000,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Cursor"
}
},
"title": "search_companiesArguments"
}🟢get_company(company_id, roles_limit, include_evidence)
Read company identity and a few accepted roles. Company-wide policies do not automatically apply to every role.
입력 스키마
{
"type": "object",
"properties": {
"company_id": {
"format": "uuid",
"title": "Company Id",
"type": "string"
},
"roles_limit": {
"default": 3,
"maximum": 5,
"minimum": 0,
"title": "Roles Limit",
"type": "integer"
},
"include_evidence": {
"default": false,
"title": "Include Evidence",
"type": "boolean"
}
},
"required": [
"company_id"
],
"title": "get_companyArguments"
}커뮤니티
증거