AI Applyd
Qué hace este MCP
Finds job matches, analyzes and tailors resumes, generates application materials, submits or queues applications, and tracks application status.
Herramientas
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['job_description'], 'properties': {'job_description': {'type': 'string', 'maxLength': 50000, 'minLength': 50, 'description': 'Full text of the job description'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['keywords'], 'properties': {'keywords': {'type': 'array', 'items': {'type': 'object', 'required': ['term', 'category', 'importance', 'mustHave'], 'properties': {'term': {'type': 'string'}, 'category': {'type': 'string'}, 'mustHave': {'type': 'boolean'}, 'importance': {'type': 'number'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'mode': {'enum': ['auto', 'review'], 'type': 'string', 'description': '"auto" submits with no review step. "review" holds the prepared application for the user\'s approval. Omit to follow the user\'s account setting. Applies to this application only.'}, 'job_url': {'type': 'string', 'format': 'uri', 'description': 'URL of any job posting to apply to (e.g. "https://boards.greenhouse.io/acme/jobs/123"). Pass this OR job_match_id.'}, 'job_match_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The job_match_id of a match from aiapplyd_get_matches (e.g. 48213). Pass this OR job_url.', 'exclusiveMinimum': 0}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['outcome', 'applicationId', 'jobMatchId', 'jobTitle', 'company', 'jobUrl', 'requestedMode', 'recordedMode', 'status', 'preparationStatus', 'preparedUnderFreeWatch', 'alreadyExisted', 'trackingUrl'], 'properties': {'jobUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'status': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Our own record. Never proof the employer received it.'}, 'company': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'outcome': {'enum': ['started', 'already_in_progress', 'not_confirmed'], 'type': 'string', 'description': 'started: a new application; already_in_progress: this job already had one (alreadyExisted); not_confirmed: the user declined, nothing was sent.'}, 'jobTitle': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'jobMatchId': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'trackingUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'recordedMode': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'applicationId': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'The application to follow with aiapplyd_get_applications. Null only when nothing was started.'}, 'requestedMode': {'anyOf': [{'enum': ['auto_approve', 'copilot'], 'type': 'string'}, {'type': 'null'}]}, 'alreadyExisted': {'type': 'boolean', 'description': 'True when this job already had an application, which is returned instead of a second one.'}, 'preparationStatus': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'preparedUnderFreeWatch': {'type': 'boolean'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['job_url'], 'properties': {'job_url': {'type': 'string', 'format': 'uri', 'description': 'URL of the job posting to apply to'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['outcome', 'applicationId', 'jobMatchId', 'jobTitle', 'company', 'jobUrl', 'requestedMode', 'recordedMode', 'status', 'preparationStatus', 'preparedUnderFreeWatch', 'alreadyExisted', 'trackingUrl'], 'properties': {'jobUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'status': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Our own record. Never proof the employer received it.'}, 'company': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'outcome': {'enum': ['started', 'already_in_progress', 'not_confirmed'], 'type': 'string', 'description': 'started: a new application; already_in_progress: this job already had one (alreadyExisted); not_confirmed: the user declined, nothing was sent.'}, 'jobTitle': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'jobMatchId': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'trackingUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'recordedMode': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'applicationId': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'The application to follow with aiapplyd_get_applications. Null only when nothing was started.'}, 'requestedMode': {'anyOf': [{'enum': ['auto_approve', 'copilot'], 'type': 'string'}, {'type': 'null'}]}, 'alreadyExisted': {'type': 'boolean', 'description': 'True when this job already had an application, which is returned instead of a second one.'}, 'preparationStatus': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'preparedUnderFreeWatch': {'type': 'boolean'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['resume_text'], 'properties': {'template': {'enum': ['classic', 'modern', 'minimal'], 'type': 'string', 'description': 'Resume template style (default: classic)'}, 'make_public': {'type': 'boolean', 'description': 'Publish a public share link. Anyone with the link sees the resume INCLUDING its contact details. Defaults to false (private). Only set true when the user explicitly asks to share it.'}, 'resume_text': {'type': 'string', 'maxLength': 50000, 'minLength': 50, 'description': 'Full text of the resume'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['resumeBuildId', 'template', 'url', 'publicUrl'], 'properties': {'url': {'type': 'string'}, 'template': {'type': 'string'}, 'publicUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'resumeBuildId': {'type': 'number'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'company_name': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Name of the company you are applying to'}, 'instructions': {'type': 'string', 'maxLength': 2000, 'description': "With application_id: what to change in that letter, in the user's own words."}, 'application_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Return the cover letter already written for this application (an id from aiapplyd_get_applications) instead of writing a new one.', 'exclusiveMinimum': 0}, 'job_description': {'type': 'string', 'maxLength': 50000, 'minLength': 50, 'description': 'Full text of the target job description. Pass with company_name, or pass application_id instead.'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['coverLetter', 'companyName', 'source', 'resumeBuildId', 'applicationId', 'url'], 'properties': {'url': {'type': 'string'}, 'source': {'enum': ['generated', 'application', 'refined'], 'type': 'string', 'description': 'generated: newly written; application: the letter already prepared for application_id; refined: that letter, changed as asked.'}, 'companyName': {'type': 'string'}, 'coverLetter': {'type': 'string'}, 'applicationId': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'resumeBuildId': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'job_title': {'type': 'string', 'maxLength': 200, 'minLength': 2, 'description': 'Title of the position (e.g. "Senior Software Engineer"). Pass with company_name, or pass application_id instead.'}, 'company_name': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Name of the company. Pass with job_title, or pass application_id instead.'}, 'application_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Prep for the job of this application (an id from aiapplyd_get_applications). Replaces job_title and company_name.', 'exclusiveMinimum': 0}, 'job_description': {'type': 'string', 'maxLength': 50000, 'description': 'Full text of the job description (optional but recommended for better results)'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['jobId', 'jobTitle', 'companyName', 'questionsToAsk', 'prepUrl'], 'properties': {'jobId': {'type': 'number'}, 'prepUrl': {'type': 'string'}, 'jobTitle': {'type': 'string'}, 'companyName': {'type': 'string'}, 'questionsToAsk': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['plan', 'tokenBalance', 'applications', 'freeApplications', 'preferences', 'readiness', 'resumes', 'defaultApplyMode', 'autopilot', 'billingUrl'], 'properties': {'plan': {'anyOf': [{'type': 'object', 'required': ['name', 'tier', 'status', 'interval', 'currentPeriodEnd', 'endsAt'], 'properties': {'name': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'tier': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'endsAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'status': {'type': 'string'}, 'interval': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'currentPeriodEnd': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'resumes': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'isBase', 'updatedAt'], 'properties': {'id': {'type': 'number', 'description': 'Pass to aiapplyd_set_resume as document_id to make it the base resume.'}, 'title': {'type': 'string'}, 'isBase': {'type': 'boolean'}, 'updatedAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}, {'type': 'null'}]}, 'autopilot': {'anyOf': [{'enum': ['active', 'paused'], 'type': 'string'}, {'type': 'null'}], 'description': 'Whether AI Applyd applies on its own. Read only.'}, 'readiness': {'type': 'object', 'required': ['resumeOnFile', 'onboardingComplete', 'missingRequiredForApply'], 'properties': {'resumeOnFile': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'False means apply will fail: call aiapplyd_set_resume first.'}, 'onboardingComplete': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'missingRequiredForApply': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'description': 'Profile fields employer forms require that are empty. Ask the user; never guess.'}}, 'additionalProperties': False}, 'billingUrl': {'type': 'string'}, 'preferences': {'anyOf': [{'type': 'object', 'required': ['targetRoles', 'locations', 'includeRemote', 'remoteWorldwide', 'active'], 'properties': {'active': {'type': 'boolean'}, 'locations': {'type': 'array', 'items': {'type': 'string'}}, 'targetRoles': {'type': 'array', 'items': {'type': 'string'}}, 'includeRemote': {'type': 'boolean'}, 'remoteWorldwide': {'type': 'boolean'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'applications': {'anyOf': [{'type': 'object', 'required': ['used', 'limit', 'remaining', 'resetAt', 'canApplyNow'], 'properties': {'used': {'type': 'number'}, 'limit': {'type': 'number'}, 'resetAt': {'type': 'string'}, 'remaining': {'type': 'number'}, 'canApplyNow': {'type': 'boolean'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'tokenBalance': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'defaultApplyMode': {'anyOf': [{'enum': ['auto', 'review'], 'type': 'string'}, {'type': 'null'}], 'description': 'What aiapplyd_apply does when mode is omitted. Read only.'}, 'freeApplications': {'anyOf': [{'type': 'object', 'required': ['used', 'limit', 'remaining', 'resetAt', 'earnedRemaining'], 'properties': {'used': {'type': 'number'}, 'limit': {'type': 'number'}, 'resetAt': {'type': 'string'}, 'remaining': {'type': 'number'}, 'earnedRemaining': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}]}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Page number, starting at 1 (e.g. 2 for the next page)', 'exclusiveMinimum': 0}, 'status': {'enum': ['waiting_for_review', 'queued_to_apply', 'verified', 'submitted', 'not_landed', 'taken_down'], 'type': 'string', 'description': 'Filter the list: waiting_for_review (the review queue), queued_to_apply, submitted, verified, not_landed or taken_down. Omit for all.'}, 'application_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Read one application by its id (e.g. 1550). Omit to list applications.', 'exclusiveMinimum': 0}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['applications', 'page', 'totalPages', 'totalApplications', 'detail'], 'properties': {'page': {'type': 'number'}, 'detail': {'anyOf': [{'type': 'object', 'required': ['applicationId', 'jobListingId', 'tailoredResume', 'coverLetter', 'contentLocked', 'screeningAnswers', 'statusCode', 'statusLabel', 'errorCode', 'errorMessage', 'autoRetryStopped', 'nextAutoRetryAt', 'queuePosition', 'queueEtaMinutes', 'confirmationScreenshotAttached'], 'properties': {'errorCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'statusCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'coverLetter': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'statusLabel': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'errorMessage': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'jobListingId': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'applicationId': {'type': 'number'}, 'contentLocked': {'type': 'boolean', 'description': 'True when the resume and cover letter are a preview and the full text needs a plan.'}, 'queuePosition': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'tailoredResume': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'nextAutoRetryAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'queueEtaMinutes': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'autoRetryStopped': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'screeningAnswers': {'type': 'array', 'items': {'type': 'object', 'required': ['question', 'answer'], 'properties': {'answer': {'type': 'string'}, 'question': {'type': 'string'}}, 'additionalProperties': False}}, 'confirmationScreenshotAttached': {'type': 'boolean', 'description': "True when the employer's verified confirmation page is attached as an image."}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Filled when one application_id was read: what will be or was sent.'}, 'totalPages': {'type': 'number'}, 'applications': {'type': 'array', 'items': {'type': 'object', 'required': ['applicationId', 'jobMatchId', 'jobTitle', 'company', 'jobUrl', 'status', 'applyMode', 'waitingForReview', 'employerConfirmed', 'confirmationProofs', 'createdAt', 'appliedAt', 'trackingUrl'], 'properties': {'jobUrl': {'type': 'string'}, 'status': {'type': 'string', 'description': 'Our own record of the application. Never proof the employer received it; see employerConfirmed.'}, 'company': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'jobTitle': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'appliedAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'applyMode': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'createdAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'jobMatchId': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'trackingUrl': {'type': 'string'}, 'applicationId': {'type': 'number', 'description': 'Pass to aiapplyd_review_application or back to aiapplyd_get_applications.'}, 'waitingForReview': {'type': 'boolean', 'description': "True when the application waits for the user's approval."}, 'employerConfirmed': {'type': 'boolean', 'description': 'True ONLY when the employer sent a receipt or showed its confirmation page.'}, 'confirmationProofs': {'type': 'array', 'items': {'type': 'string'}, 'description': 'What proves employerConfirmed: "receipt" and/or "screenshot".'}}, 'additionalProperties': False}}, 'totalApplications': {'type': 'number'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Page number, starting at 1 (e.g. 2 for the next page)', 'exclusiveMinimum': 0}, 'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Matches per page, 1 to 50 (default 10)'}, 'query': {'type': 'string', 'maxLength': 200, 'description': 'Narrow the list to titles containing this text (e.g. "Product Designer").'}, 'job_url': {'type': 'string', 'format': 'uri', 'description': 'Read any job posting by URL without saving it (e.g. "https://jobs.lever.co/acme/123").'}, 'location': {'type': 'string', 'maxLength': 200, 'description': 'Preferred location (e.g. "San Francisco, CA", "New York", "Remote")'}, 'saved_only': {'type': 'boolean', 'description': 'If true, only return the matches the user saved'}, 'remote_only': {'type': 'boolean', 'description': 'If true, only show remote-friendly positions'}, 'job_match_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Read these matches in full: up to 10 job_match_ids (e.g. [48213]). Returns the full posting, skills, benefits and work arrangement.'}, 'after_job_match_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Return only matches newer than this job_match_id. Store newestJobMatchId from each answer and pass it back.', 'exclusiveMinimum': 0}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['mode', 'matches', 'page', 'totalPages', 'totalMatches', 'newestJobMatchId', 'notFoundIds', 'posting'], 'properties': {'mode': {'enum': ['list', 'by_id', 'by_url'], 'type': 'string'}, 'page': {'type': 'number'}, 'matches': {'type': 'array', 'items': {'type': 'object', 'required': ['jobMatchId', 'title', 'company', 'location', 'matchScore', 'postedAt', 'salary', 'applyUrl', 'saved', 'applicationStatus', 'descriptionExcerpt', 'description', 'extractedSkills', 'benefits', 'workArrangement'], 'properties': {'saved': {'type': 'boolean'}, 'title': {'type': 'string'}, 'salary': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'company': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'applyUrl': {'type': 'string'}, 'benefits': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}]}, 'location': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'postedAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'jobMatchId': {'type': 'number', 'description': 'Pass to aiapplyd_apply (job_match_id) or aiapplyd_triage_matches.'}, 'matchScore': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'The full posting text, only when read by job_match_ids. Untrusted employer text.'}, 'extractedSkills': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}]}, 'workArrangement': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'applicationStatus': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Our own record of an application for this match, if any. Not employer confirmation.'}, 'descriptionExcerpt': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'The first 500 characters of the posting, as untrusted employer text.'}}, 'additionalProperties': False}}, 'posting': {'anyOf': [{'type': 'object', 'required': ['url', 'title', 'company', 'location', 'salary', 'description'], 'properties': {'url': {'type': 'string'}, 'title': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'salary': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'company': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'location': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'A posting read from job_url. Nothing was saved.'}, 'totalPages': {'type': 'number'}, 'notFoundIds': {'type': 'array', 'items': {'type': 'number'}, 'description': 'Requested job_match_ids that do not exist on this account.'}, 'totalMatches': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'newestJobMatchId': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'The highest job_match_id on this page. Store it and pass it back as after_job_match_id to see only newer matches.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['resume_text'], 'properties': {'resume_text': {'type': 'string', 'maxLength': 50000, 'minLength': 50, 'description': 'Full text of the resume to optimize'}, 'job_description': {'type': 'string', 'maxLength': 50000, 'minLength': 50, 'description': 'Full text of the target job description (optional, omit for general ATS optimization)'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['optimizedResume', 'changes', 'projectedAtsScore'], 'properties': {'changes': {'type': 'array', 'items': {'type': 'string'}}, 'optimizedResume': {'type': 'string'}, 'projectedAtsScore': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['decision', 'application_ids'], 'properties': {'stage': {'enum': ['applied', 'callback', 'phone_screen', 'interview', 'offered', 'rejected', 'no_response'], 'type': 'string', 'description': 'For set_stage: applied, callback, phone_screen, interview, offered, rejected or no_response.'}, 'steps': {'type': 'array', 'items': {'enum': ['quality_gate', 'company_intel', 'tailor_resume', 'translate', 'cover_letter'], 'type': 'string'}, 'description': 'For re_prepare: the steps to run again. Omit to run every step that is out of date.'}, 'decision': {'enum': ['approve', 'reject', 'cancel', 'refine', 're_prepare', 'set_stage'], 'type': 'string', 'description': '"approve" submits the application to the employer and cannot be undone. "reject" skips it and sends nothing. "cancel" stops a queued one. "refine" rewrites a document (needs document_type and instructions). "re_prepare" builds its documents again. "set_stage" records the stage (needs stage).'}, 'instructions': {'type': 'string', 'maxLength': 2000, 'description': "For refine: what to change, in the user's own words (up to 2,000 characters)."}, 'document_type': {'enum': ['resume', 'cover_letter'], 'type': 'string', 'description': 'For refine: "resume" or "cover_letter".'}, 'application_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Application ids to act on, 1 to 25 (e.g. [1550, 1551]), from aiapplyd_get_applications'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['decision', 'results', 'succeeded', 'attempted', 'notConfirmed'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['applicationId', 'ok', 'status', 'reason', 'refinedContent', 'applicationStage', 'trackingUrl'], 'properties': {'ok': {'type': 'boolean'}, 'reason': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Machine reason when ok is false, or "already_approved" for an approve that had already gone through.'}, 'status': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Our own record after the action. Never proof the employer received it.'}, 'trackingUrl': {'type': 'string'}, 'applicationId': {'type': 'number'}, 'refinedContent': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'applicationStage': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'decision': {'enum': ['approve', 'reject', 'cancel', 'refine', 're_prepare', 'set_stage'], 'type': 'string'}, 'attempted': {'type': 'number'}, 'succeeded': {'type': 'number'}, 'notConfirmed': {'type': 'boolean', 'description': 'True when the user declined the confirmation prompt and nothing was sent.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['resume_text'], 'properties': {'resume_text': {'type': 'string', 'maxLength': 50000, 'minLength': 50, 'description': 'Full text of the resume'}, 'job_description': {'type': 'string', 'maxLength': 50000, 'minLength': 50, 'description': 'Full text of the job description (optional, omit for a general ATS readiness score)'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['overallScore', 'sectionScores', 'keywordMatches', 'missingKeywords', 'suggestions'], 'properties': {'suggestions': {'type': 'array', 'items': {'type': 'string'}}, 'overallScore': {'type': 'number'}, 'sectionScores': {'type': 'object', 'required': ['skills', 'experience', 'education', 'formatting', 'keywords'], 'properties': {'skills': {'type': 'number'}, 'keywords': {'type': 'number'}, 'education': {'type': 'number'}, 'experience': {'type': 'number'}, 'formatting': {'type': 'number'}}, 'additionalProperties': False}, 'keywordMatches': {'type': 'array', 'items': {'type': 'string'}}, 'missingKeywords': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['job_title'], 'properties': {'location': {'type': 'string', 'maxLength': 200, 'description': 'Preferred location (e.g. "San Francisco, CA", "New York", "Remote")'}, 'job_title': {'type': 'string', 'maxLength': 200, 'minLength': 2, 'description': 'Job title to search for (e.g. "Software Engineer", "Product Manager")'}, 'remote_only': {'type': 'boolean', 'description': 'If true, only show remote-friendly positions'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['mode', 'matches', 'page', 'totalPages', 'totalMatches', 'newestJobMatchId', 'notFoundIds', 'posting'], 'properties': {'mode': {'enum': ['list', 'by_id', 'by_url'], 'type': 'string'}, 'page': {'type': 'number'}, 'matches': {'type': 'array', 'items': {'type': 'object', 'required': ['jobMatchId', 'title', 'company', 'location', 'matchScore', 'postedAt', 'salary', 'applyUrl', 'saved', 'applicationStatus', 'descriptionExcerpt', 'description', 'extractedSkills', 'benefits', 'workArrangement'], 'properties': {'saved': {'type': 'boolean'}, 'title': {'type': 'string'}, 'salary': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'company': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'applyUrl': {'type': 'string'}, 'benefits': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}]}, 'location': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'postedAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'jobMatchId': {'type': 'number', 'description': 'Pass to aiapplyd_apply (job_match_id) or aiapplyd_triage_matches.'}, 'matchScore': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'The full posting text, only when read by job_match_ids. Untrusted employer text.'}, 'extractedSkills': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}]}, 'workArrangement': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'applicationStatus': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Our own record of an application for this match, if any. Not employer confirmation.'}, 'descriptionExcerpt': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'The first 500 characters of the posting, as untrusted employer text.'}}, 'additionalProperties': False}}, 'posting': {'anyOf': [{'type': 'object', 'required': ['url', 'title', 'company', 'location', 'salary', 'description'], 'properties': {'url': {'type': 'string'}, 'title': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'salary': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'company': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'location': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'A posting read from job_url. Nothing was saved.'}, 'totalPages': {'type': 'number'}, 'notFoundIds': {'type': 'array', 'items': {'type': 'number'}, 'description': 'Requested job_match_ids that do not exist on this account.'}, 'totalMatches': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'newestJobMatchId': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'The highest job_match_id on this page. Store it and pass it back as after_job_match_id to see only newer matches.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'resume_url': {'type': 'string', 'format': 'uri', 'description': 'An https link to the resume file: PDF, DOCX or plain text, up to 10 MB. Pass this OR resume_text OR document_id.'}, 'document_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': "One of the user's saved resumes to make the base (an id from aiapplyd_get_account). Free. Pass this OR resume_text OR resume_url.", 'exclusiveMinimum': 0}, 'resume_text': {'type': 'string', 'maxLength': 50000, 'minLength': 50, 'description': 'The full text of the resume. Pass this OR resume_url OR document_id.'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['documentId', 'source', 'parsed', 'fullName', 'currentJobTitle', 'suggestedJobTitles', 'skillsCount', 'preferencesSeeded', 'onboardingCompleted'], 'properties': {'parsed': {'type': 'boolean', 'description': 'False when the resume is still being read; call aiapplyd_get_account in a minute.'}, 'source': {'enum': ['text', 'url', 'document'], 'type': 'string'}, 'fullName': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'documentId': {'type': 'number', 'description': 'The resume now used as the base for every application.'}, 'skillsCount': {'type': 'number'}, 'currentJobTitle': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'preferencesSeeded': {'type': 'boolean', 'description': 'True when empty job preferences were filled from this resume.'}, 'suggestedJobTitles': {'type': 'array', 'items': {'type': 'string'}}, 'onboardingCompleted': {'type': 'boolean', 'description': 'True when the account setup is finished, so AI Applyd searches for this user.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['target_language'], 'properties': {'target_language': {'type': 'string', 'maxLength': 50, 'minLength': 1, 'description': 'Target language (e.g. "Spanish", "French", "German", "Japanese")'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['targetLanguage', 'sourceResumeId', 'translatedResumeId', 'translatedTitle', 'url'], 'properties': {'url': {'type': 'string'}, 'sourceResumeId': {'type': 'number'}, 'targetLanguage': {'type': 'string'}, 'translatedTitle': {'type': 'string'}, 'translatedResumeId': {'type': 'number'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['action', 'job_match_ids'], 'properties': {'action': {'enum': ['save', 'skip'], 'type': 'string', 'description': '"save" keeps the matches in the saved list. "skip" dismisses them.'}, 'reason': {'enum': ['not_interested', 'wrong_location', 'too_senior', 'too_junior', 'salary_too_low', 'wrong_role', 'company_mismatch', 'already_applied', 'other'], 'type': 'string', 'description': 'For skip: why, so the matcher learns (e.g. "too_senior").'}, 'job_match_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Job match ids from aiapplyd_get_matches, 1 to 25 (e.g. [48213, 48214]).'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['action', 'results', 'succeeded', 'attempted'], 'properties': {'action': {'enum': ['save', 'skip'], 'type': 'string'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['jobMatchId', 'ok', 'saved', 'dismissed'], 'properties': {'ok': {'type': 'boolean'}, 'saved': {'type': 'boolean'}, 'dismissed': {'type': 'boolean'}, 'jobMatchId': {'type': 'number'}}, 'additionalProperties': False}}, 'attempted': {'type': 'number'}, 'succeeded': {'type': 'number'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'paused': {'type': 'boolean', 'description': 'True pauses new matches for the user; false resumes them. It never changes auto-apply.'}, 'job_types': {'type': 'array', 'items': {'enum': ['full_time', 'part_time', 'contract', 'internship', 'freelance', 'temporary'], 'type': 'string'}, 'description': 'Job types to match: full_time, part_time, contract, internship, freelance, temporary. REPLACES the saved list.'}, 'locations': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Full list of preferred locations. REPLACES the saved list.'}, 'salary_max': {'type': 'number', 'minimum': 0, 'description': 'Highest yearly salary to target, in salary_currency.'}, 'salary_min': {'type': 'number', 'minimum': 0, 'description': 'Lowest yearly salary the user accepts, in salary_currency (e.g. 120000).'}, 'description': {'type': 'string', 'maxLength': 2000, 'description': 'What the user wants, in their own words (e.g. "remote only, 120k+, senior, no crypto"). Fields passed explicitly win over it. Uses AI credits.'}, 'remote_only': {'type': 'boolean', 'description': 'Deprecated name of include_remote. Use include_remote.'}, 'work_styles': {'type': 'array', 'items': {'enum': ['onsite', 'hybrid', 'remote'], 'type': 'string'}, 'description': 'Work styles to match: onsite, hybrid, remote. REPLACES the saved list.'}, 'target_roles': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Full list of job titles to hunt for. REPLACES the saved list.'}, 'include_remote': {'type': 'boolean', 'description': "Include remote jobs in the user's region alongside their locations."}, 'salary_currency': {'enum': ['usd', 'eur', 'gbp', 'cad', 'aud', 'inr'], 'type': 'string', 'description': 'Currency of the salary band (default usd).'}, 'experience_levels': {'type': 'array', 'items': {'enum': ['intern', 'entry', 'junior', 'mid', 'senior', 'lead', 'executive'], 'type': 'string'}, 'description': 'Seniority to match: intern, entry, junior, mid, senior, lead, executive. REPLACES the saved list.'}, 'exclude_industries': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Industries to never match (e.g. ["Crypto"]). REPLACES the saved list.'}, 'application_answers': {'type': 'object', 'properties': {'city': {'type': 'string'}, 'phone': {'type': 'string'}, 'state': {'type': 'string'}, 'country': {'type': 'string'}, 'zip_code': {'type': 'string'}, 'linkedin_url': {'type': 'string'}, 'notice_period': {'enum': ['immediately', 'two_weeks', 'one_month', 'two_months', 'three_months', 'flexible'], 'type': 'string'}, 'work_authorization': {'enum': ['us_citizen', 'permanent_resident', 'visa_holder', 'require_sponsorship', 'other'], 'type': 'string'}, 'willing_to_relocate': {'type': 'boolean'}, 'available_start_date': {'type': 'string'}}, 'description': "Answers employer forms ask for, saved to the user's application profile: phone, city, state, zip_code, country, linkedin_url, work_authorization, willing_to_relocate, available_start_date, notice_period. Only values the user stated, never guesses."}, 'needs_visa_sponsorship': {'type': 'boolean', 'description': 'True when the user needs visa sponsorship to take the job.'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['targetRoles', 'locations', 'includeRemote', 'remoteWorldwide', 'salaryMin', 'salaryMax', 'salaryCurrency', 'experienceLevels', 'workStyles', 'jobTypes', 'visaSponsorship', 'excludeIndustries', 'paused', 'applicationAnswersSaved', 'describedSummary', 'onboardingCompleted'], 'properties': {'paused': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'jobTypes': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}]}, 'locations': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}]}, 'salaryMax': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'salaryMin': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'workStyles': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}]}, 'targetRoles': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}]}, 'includeRemote': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'salaryCurrency': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'remoteWorldwide': {'type': 'boolean'}, 'visaSponsorship': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'describedSummary': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'How AI Applyd understood `description`, when one was given.'}, 'experienceLevels': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}]}, 'excludeIndustries': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}]}, 'onboardingCompleted': {'type': 'boolean', 'description': 'True when this call finished the account setup, so AI Applyd starts searching for these roles.'}, 'applicationAnswersSaved': {'type': 'array', 'items': {'type': 'string'}, 'description': 'The application_answers fields written to the application profile.'}}, 'additionalProperties': False}
Cambios recientes en herramientas
Servidores MCP similares
AdButler
Manages AdButler advertisers, campaigns, ad items, audiences, zones, creatives, catalogs, and advertising reports.
Duvo MCP
Provides governed retail and CPG operations for cases, queues, approvals, automations, process documentation, integrations, and a…
Lovie Company Formation
Supports company formation and business administration with bank accounts, cards, invoicing, bookkeeping, accounting periods, and…
freedom-mcp
Supports company operations through commitments, teams, agents, customer evidence, leads, content workflows, spreadsheets, commer…
独行录 / opcmenu
Supports founder and company discovery, collaboration goals and tasks, events and signups, networking, messaging, profiles, produ…
Meta Council
Provides governed workflows for consulting, outreach, sales deals, invoices, marketing campaigns, content approvals, accounting a…
synter-ads
Manages cross-platform advertising campaigns, audiences, tracking, creative, landing pages, campaign audits, technology intellige…
synter-ads
Manages cross-platform advertising campaigns, audiences, tracking, creative, landing pages, campaign audits, technology intellige…