MCP 서버

JobsAI

cz.jobsai/jobsai
비즈니스 및 운영 검색 및 리서치 공개 · 연결 가능 MCP 2026-07-28

이 MCP로 할 수 있는 일

Searches Czech job listings, manages saved jobs and applications, streams job matches, and supports consent-controlled application actions and status tracking.

execute_approved_action
Execute exactly the command the candidate confirmed, once, while the approval is valid.
입력 스키마
{'type': 'object', 'required': ['proposalId'], 'properties': {'command': {'oneOf': [{'type': 'object', 'required': ['actionType', 'command'], 'properties': {'command': {'type': 'object', 'required': ['expectedRevision'], 'properties': {'nightWork': {'anyOf': [{'enum': ['allowed', 'excluded'], 'type': 'string'}, {'type': 'null'}]}, 'priorities': {'type': 'object', 'properties': {'remote': {'anyOf': [{'enum': ['preferred', 'required'], 'type': 'string'}, {'type': 'null'}]}, 'salary': {'anyOf': [{'enum': ['preferred', 'required'], 'type': 'string'}, {'type': 'null'}]}, 'shifts': {'anyOf': [{'enum': ['preferred', 'required'], 'type': 'string'}, {'type': 'null'}]}, 'commute': {'anyOf': [{'enum': ['preferred', 'required'], 'type': 'string'}, {'type': 'null'}]}, 'location': {'anyOf': [{'enum': ['preferred', 'required'], 'type': 'string'}, {'type': 'null'}]}, 'employment': {'anyOf': [{'enum': ['preferred', 'required'], 'type': 'string'}, {'type': 'null'}]}, 'availability': {'anyOf': [{'enum': ['preferred', 'required'], 'type': 'string'}, {'type': 'null'}]}, 'workingHours': {'anyOf': [{'enum': ['preferred', 'required'], 'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'weekendWork': {'anyOf': [{'enum': ['allowed', 'excluded'], 'type': 'string'}, {'type': 'null'}]}, 'commuteModes': {'anyOf': [{'type': 'array', 'items': {'enum': ['car', 'transit', 'bicycle', 'walk'], 'type': 'string'}, 'maxItems': 4, 'minItems': 1}, {'type': 'null'}]}, 'confirmExisting': {'type': 'object', 'properties': {'remotePref': {'enum': ['ONSITE', 'HYBRID', 'REMOTE'], 'type': 'string'}, 'workingHoursPref': {'enum': ['FULL_TIME', 'PART_TIME', 'CONTRACT', 'DPP_DPC'], 'type': 'string'}}, 'additionalProperties': False}, 'expectedRevision': {'type': 'integer', 'maximum': 2147483647, 'minimum': 0}, 'maxCommuteMinutes': {'anyOf': [{'type': 'integer', 'maximum': 240, 'minimum': 1}, {'type': 'null'}]}}, 'additionalProperties': False}, 'actionType': {'type': 'string', 'const': 'CANDIDATE_REQUIREMENTS_UPDATE'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['actionType', 'command'], 'properties': {'command': {'type': 'object', 'required': ['jobId', 'topic', 'expectedTermsRevision'], 'properties': {'jobId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'topic': {'enum': ['salary', 'shifts', 'start_window', 'training'], 'type': 'string'}, 'channels': {'type': 'array', 'items': {'enum': ['email', 'push'], 'type': 'string'}, 'maxItems': 2}, 'expectedTermsRevision': {'type': 'integer', 'maximum': 2147483647, 'minimum': 0}}, 'additionalProperties': False}, 'actionType': {'type': 'string', 'const': 'JOB_QUESTION_OPEN'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['actionType', 'command'], 'properties': {'command': {'type': 'object', 'required': ['questionId'], 'properties': {'questionId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}, 'additionalProperties': False}, 'actionType': {'type': 'string', 'const': 'JOB_QUESTION_WITHDRAW'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['actionType', 'command'], 'properties': {'command': {'type': 'object', 'required': ['jobId', 'previous', 'cvId', 'coverLetterMarkdown', 'coverLetterAiAssisted'], 'properties': {'cvId': {'anyOf': [{'type': 'string', 'format': 'cuid', 'pattern': '^[cC][0-9a-z]{6,}$'}, {'type': 'null'}]}, 'jobId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'previous': {'anyOf': [{'type': 'object', 'required': ['id', 'submissionVersion'], 'properties': {'id': {'type': 'string', 'format': 'cuid', 'pattern': '^[cC][0-9a-z]{6,}$'}, 'submissionVersion': {'type': 'integer', 'maximum': 2147483647, 'minimum': 1}}, 'additionalProperties': False}, {'type': 'null'}]}, 'coverLetterAiModel': {'anyOf': [{'type': 'string', 'maxLength': 200}, {'type': 'null'}]}, 'coverLetterMarkdown': {'anyOf': [{'type': 'string', 'maxLength': 20000}, {'type': 'null'}]}, 'coverLetterAiAssisted': {'type': 'boolean'}}, 'additionalProperties': False}, 'actionType': {'type': 'string', 'const': 'APPLICATION_SUBMIT'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['actionType', 'interviewId', 'command'], 'properties': {'command': {'type': 'object', 'required': ['submissionVersion', 'expectedRevision', 'expectedProposalRevision', 'slotId'], 'properties': {'slotId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'expectedRevision': {'type': 'integer', 'maximum': 2147483647, 'exclusiveMinimum': 0}, 'submissionVersion': {'type': 'integer', 'maximum': 2147483647, 'exclusiveMinimum': 0}, 'expectedProposalRevision': {'type': 'integer', 'maximum': 2147483647, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'actionType': {'type': 'string', 'const': 'INTERVIEW_ACCEPT'}, 'interviewId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['actionType', 'interviewId', 'command'], 'properties': {'command': {'type': 'object', 'required': ['submissionVersion', 'expectedRevision', 'expectedProposalRevision', 'reason'], 'properties': {'reason': {'type': 'string', 'maxLength': 1000, 'minLength': 1}, 'expectedRevision': {'type': 'integer', 'maximum': 2147483647, 'exclusiveMinimum': 0}, 'submissionVersion': {'type': 'integer', 'maximum': 2147483647, 'exclusiveMinimum': 0}, 'expectedProposalRevision': {'type': 'integer', 'maximum': 2147483647, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'actionType': {'type': 'string', 'const': 'INTERVIEW_DECLINE'}, 'interviewId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['actionType', 'command'], 'properties': {'command': {'type': 'object', 'required': ['applicationId', 'submissionVersion', 'expectedRevision', 'expiresAt', 'slots'], 'properties': {'slots': {'type': 'array', 'items': {'type': 'object', 'required': ['startsAt', 'endsAt', 'timeZone'], 'properties': {'endsAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'startsAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'timeZone': {'type': 'string', 'maxLength': 100, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 20, 'minItems': 1}, 'expiresAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'applicationId': {'type': 'string', 'format': 'cuid', 'pattern': '^[cC][0-9a-z]{6,}$'}, 'expectedRevision': {'type': 'integer', 'maximum': 2147483647, 'minimum': 0}, 'submissionVersion': {'type': 'integer', 'maximum': 2147483647, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'actionType': {'type': 'string', 'const': 'INTERVIEW_PROPOSE'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['actionType', 'interviewId', 'command'], 'properties': {'command': {'type': 'object', 'required': ['submissionVersion', 'expectedRevision', 'reason'], 'properties': {'reason': {'type': 'string', 'maxLength': 1000, 'minLength': 1}, 'expectedRevision': {'type': 'integer', 'maximum': 2147483647, 'exclusiveMinimum': 0}, 'submissionVersion': {'type': 'integer', 'maximum': 2147483647, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'actionType': {'type': 'string', 'const': 'INTERVIEW_CANCEL'}, 'interviewId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}, 'additionalProperties': False}], 'description': "Optional: must equal the confirmed command (including the candidate's edits); otherwise approval_mismatch. Same shape as propose_action.command."}, 'proposalId': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
get_action_proposal
Read the candidate's decision on a proposal: status, the final command including the candidate's edits, and the one-shot approval window.
입력 스키마
{'type': 'object', 'required': ['proposalId'], 'properties': {'proposalId': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
get_application_status
Read an application status for the consent-envelope candidate.
입력 스키마
{'type': 'object', 'required': ['applicationId'], 'properties': {'applicationId': {'type': 'string'}}, 'additionalProperties': False}
get_job
Get a public Jobsai job detail by id or slug.
입력 스키마
{'type': 'object', 'anyOf': [{'required': ['id']}, {'required': ['slug']}], 'properties': {'id': {'type': 'string'}, 'slug': {'type': 'string'}}, 'additionalProperties': False}
list_applications
List all applications for the consent-envelope candidate.
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 50, 'maximum': 100, 'minimum': 1}, 'status': {'enum': ['SUBMITTED', 'DELIVERED', 'OPENED_BY_EMPLOYER', 'UNDER_REVIEW', 'INTERVIEW_INVITED', 'OFFER_EXTENDED', 'HIRED', 'REJECTED', 'WITHDRAWN'], 'type': 'string'}}, 'additionalProperties': False}
propose_action
Propose one concrete candidate action (application, job question, interview decision, requirements update) for the candidate's own confirmation. Nothing runs until the candidate confirms.
입력 스키마
{'type': 'object', 'required': ['command'], 'properties': {'command': {'oneOf': [{'type': 'object', 'required': ['actionType', 'command'], 'properties': {'command': {'type': 'object', 'required': ['expectedRevision'], 'properties': {'nightWork': {'anyOf': [{'enum': ['allowed', 'excluded'], 'type': 'string'}, {'type': 'null'}]}, 'priorities': {'type': 'object', 'properties': {'remote': {'anyOf': [{'enum': ['preferred', 'required'], 'type': 'string'}, {'type': 'null'}]}, 'salary': {'anyOf': [{'enum': ['preferred', 'required'], 'type': 'string'}, {'type': 'null'}]}, 'shifts': {'anyOf': [{'enum': ['preferred', 'required'], 'type': 'string'}, {'type': 'null'}]}, 'commute': {'anyOf': [{'enum': ['preferred', 'required'], 'type': 'string'}, {'type': 'null'}]}, 'location': {'anyOf': [{'enum': ['preferred', 'required'], 'type': 'string'}, {'type': 'null'}]}, 'employment': {'anyOf': [{'enum': ['preferred', 'required'], 'type': 'string'}, {'type': 'null'}]}, 'availability': {'anyOf': [{'enum': ['preferred', 'required'], 'type': 'string'}, {'type': 'null'}]}, 'workingHours': {'anyOf': [{'enum': ['preferred', 'required'], 'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'weekendWork': {'anyOf': [{'enum': ['allowed', 'excluded'], 'type': 'string'}, {'type': 'null'}]}, 'commuteModes': {'anyOf': [{'type': 'array', 'items': {'enum': ['car', 'transit', 'bicycle', 'walk'], 'type': 'string'}, 'maxItems': 4, 'minItems': 1}, {'type': 'null'}]}, 'confirmExisting': {'type': 'object', 'properties': {'remotePref': {'enum': ['ONSITE', 'HYBRID', 'REMOTE'], 'type': 'string'}, 'workingHoursPref': {'enum': ['FULL_TIME', 'PART_TIME', 'CONTRACT', 'DPP_DPC'], 'type': 'string'}}, 'additionalProperties': False}, 'expectedRevision': {'type': 'integer', 'maximum': 2147483647, 'minimum': 0}, 'maxCommuteMinutes': {'anyOf': [{'type': 'integer', 'maximum': 240, 'minimum': 1}, {'type': 'null'}]}}, 'additionalProperties': False}, 'actionType': {'type': 'string', 'const': 'CANDIDATE_REQUIREMENTS_UPDATE'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['actionType', 'command'], 'properties': {'command': {'type': 'object', 'required': ['jobId', 'topic', 'expectedTermsRevision'], 'properties': {'jobId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'topic': {'enum': ['salary', 'shifts', 'start_window', 'training'], 'type': 'string'}, 'channels': {'type': 'array', 'items': {'enum': ['email', 'push'], 'type': 'string'}, 'maxItems': 2}, 'expectedTermsRevision': {'type': 'integer', 'maximum': 2147483647, 'minimum': 0}}, 'additionalProperties': False}, 'actionType': {'type': 'string', 'const': 'JOB_QUESTION_OPEN'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['actionType', 'command'], 'properties': {'command': {'type': 'object', 'required': ['questionId'], 'properties': {'questionId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}, 'additionalProperties': False}, 'actionType': {'type': 'string', 'const': 'JOB_QUESTION_WITHDRAW'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['actionType', 'command'], 'properties': {'command': {'type': 'object', 'required': ['jobId', 'previous', 'cvId', 'coverLetterMarkdown', 'coverLetterAiAssisted'], 'properties': {'cvId': {'anyOf': [{'type': 'string', 'format': 'cuid', 'pattern': '^[cC][0-9a-z]{6,}$'}, {'type': 'null'}]}, 'jobId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'previous': {'anyOf': [{'type': 'object', 'required': ['id', 'submissionVersion'], 'properties': {'id': {'type': 'string', 'format': 'cuid', 'pattern': '^[cC][0-9a-z]{6,}$'}, 'submissionVersion': {'type': 'integer', 'maximum': 2147483647, 'minimum': 1}}, 'additionalProperties': False}, {'type': 'null'}]}, 'coverLetterAiModel': {'anyOf': [{'type': 'string', 'maxLength': 200}, {'type': 'null'}]}, 'coverLetterMarkdown': {'anyOf': [{'type': 'string', 'maxLength': 20000}, {'type': 'null'}]}, 'coverLetterAiAssisted': {'type': 'boolean'}}, 'additionalProperties': False}, 'actionType': {'type': 'string', 'const': 'APPLICATION_SUBMIT'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['actionType', 'interviewId', 'command'], 'properties': {'command': {'type': 'object', 'required': ['submissionVersion', 'expectedRevision', 'expectedProposalRevision', 'slotId'], 'properties': {'slotId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'expectedRevision': {'type': 'integer', 'maximum': 2147483647, 'exclusiveMinimum': 0}, 'submissionVersion': {'type': 'integer', 'maximum': 2147483647, 'exclusiveMinimum': 0}, 'expectedProposalRevision': {'type': 'integer', 'maximum': 2147483647, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'actionType': {'type': 'string', 'const': 'INTERVIEW_ACCEPT'}, 'interviewId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['actionType', 'interviewId', 'command'], 'properties': {'command': {'type': 'object', 'required': ['submissionVersion', 'expectedRevision', 'expectedProposalRevision', 'reason'], 'properties': {'reason': {'type': 'string', 'maxLength': 1000, 'minLength': 1}, 'expectedRevision': {'type': 'integer', 'maximum': 2147483647, 'exclusiveMinimum': 0}, 'submissionVersion': {'type': 'integer', 'maximum': 2147483647, 'exclusiveMinimum': 0}, 'expectedProposalRevision': {'type': 'integer', 'maximum': 2147483647, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'actionType': {'type': 'string', 'const': 'INTERVIEW_DECLINE'}, 'interviewId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['actionType', 'command'], 'properties': {'command': {'type': 'object', 'required': ['applicationId', 'submissionVersion', 'expectedRevision', 'expiresAt', 'slots'], 'properties': {'slots': {'type': 'array', 'items': {'type': 'object', 'required': ['startsAt', 'endsAt', 'timeZone'], 'properties': {'endsAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'startsAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'timeZone': {'type': 'string', 'maxLength': 100, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 20, 'minItems': 1}, 'expiresAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'applicationId': {'type': 'string', 'format': 'cuid', 'pattern': '^[cC][0-9a-z]{6,}$'}, 'expectedRevision': {'type': 'integer', 'maximum': 2147483647, 'minimum': 0}, 'submissionVersion': {'type': 'integer', 'maximum': 2147483647, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'actionType': {'type': 'string', 'const': 'INTERVIEW_PROPOSE'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['actionType', 'interviewId', 'command'], 'properties': {'command': {'type': 'object', 'required': ['submissionVersion', 'expectedRevision', 'reason'], 'properties': {'reason': {'type': 'string', 'maxLength': 1000, 'minLength': 1}, 'expectedRevision': {'type': 'integer', 'maximum': 2147483647, 'exclusiveMinimum': 0}, 'submissionVersion': {'type': 'integer', 'maximum': 2147483647, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'actionType': {'type': 'string', 'const': 'INTERVIEW_CANCEL'}, 'interviewId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}, 'additionalProperties': False}], 'description': 'Normalized candidate command the human will review. Exactly one actionType variant applies; interviewId exists only on INTERVIEW_ACCEPT / INTERVIEW_DECLINE / INTERVIEW_CANCEL. Field semantics per actionType are documented in docs/agents/mcp.md (actions).'}, 'agentNote': {'type': 'string', 'maxLength': 500, 'minLength': 1, 'description': 'Optional plain-text rationale shown to the candidate as untrusted agent text. Omit it or send a string; null is refused.'}}, 'additionalProperties': False}
saved_jobs
List, save, or unsave the consent-envelope candidate's bookmarked jobs.
입력 스키마
{'type': 'object', 'properties': {'jobId': {'type': 'string'}, 'action': {'enum': ['list', 'save', 'unsave'], 'type': 'string', 'default': 'list'}}, 'additionalProperties': False}
search_jobs
Search public Jobsai job listings.
입력 스키마
{'type': 'object', 'properties': {'kraj': {'type': 'string'}, 'page': {'type': 'integer', 'default': 1, 'maximum': 50}, 'limit': {'type': 'integer', 'default': 20, 'maximum': 50}, 'query': {'type': 'string'}, 'remote': {'type': 'boolean'}, 'occupation': {'type': 'string'}}, 'additionalProperties': False}
stream_matches
Stream new job-match events for an agent client.
입력 스키마
{'type': 'object', 'properties': {'since': {'type': 'string', 'format': 'date-time'}, 'query_id': {'type': 'string'}, 'limit_per_minute': {'type': 'integer', 'maximum': 600, 'minimum': 1}, 'candidate_pseudonym': {'type': 'string'}}, 'additionalProperties': False}
submit_application
Submit an application on behalf of the candidate represented by the consent envelope.
입력 스키마
{'type': 'object', 'required': ['jobId'], 'properties': {'jobId': {'type': 'string'}, 'useExistingCv': {'type': 'boolean', 'default': True}, 'coverLetterMarkdown': {'type': 'string', 'maxLength': 3000}, 'coverLetterAiAssisted': {'type': 'boolean', 'default': False, 'description': 'Set true when the cover letter was AI-generated (AI Act Art. 50 transparency; shown to the employer).'}}, 'additionalProperties': False}
subscribe
Subscribe to application status change notifications for the consent-envelope candidate.
입력 스키마
{'type': 'object', 'properties': {'applicationIds': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 100}}, 'additionalProperties': False}
withdraw_application
Withdraw an application on behalf of the consent-envelope candidate.
입력 스키마
{'type': 'object', 'required': ['applicationId'], 'properties': {'applicationId': {'type': 'string'}}, 'additionalProperties': False}
추가됨
execute_approved_action
2026년 9월 17일 12:38 PM
추가됨
get_action_proposal
2026년 9월 17일 12:38 PM
추가됨
propose_action
2026년 9월 17일 12:38 PM
추가됨
saved_jobs
2026년 9월 17일 12:38 PM
추가됨
withdraw_application
2026년 9월 17일 12:38 PM
추가됨
stream_matches
2026년 9월 17일 12:38 PM
추가됨
subscribe
2026년 9월 17일 12:38 PM
추가됨
list_applications
2026년 9월 17일 12:38 PM
추가됨
get_application_status
2026년 9월 17일 12:38 PM
추가됨
submit_application
2026년 9월 17일 12:38 PM
추가됨
get_job
2026년 9월 17일 12:38 PM
추가됨
search_jobs
2026년 9월 17일 12:38 PM