Lazy Apply connector
Lazy Apply turns a job posting link into a one-page resume tailored from the user's own profile, plus the answers to the application form's questions. The agent brings the browser; this service brings the resume and the answers. Nothing is invented: every number and claim is checked against the user's profile before the PDF is rendered.
Endpoints
| MCP server | https://lazyapply.online/mcp |
| OAuth metadata | https://lazyapply.online/.well-known/oauth-protected-resource/mcp |
| REST base URL | https://lazyapply.online/api/v1 |
| OpenAPI 3.1 | https://lazyapply.online/openapi.json |
Authentication
MCP clients use OAuth 2.1 with PKCE; the authorization server is discovered from the metadata URL above and the user signs in with their Lazy Apply account. The REST API also accepts a personal API key as a bearer token, generated on the Connect page inside the app. Tokens and keys are scoped to one account. Users can revoke a key or disconnect an OAuth client at any time.
The flow an agent follows
- The user shares a job link. Call
prepare_application. - Poll
get_applicationuntilstatusisready. Show the user the headline, fit notes and the PDF link. - Ask the user every question where
needsHumanis true. Save replies withanswer_questions. - Call
get_form_answers. Open the apply URL, fill the fields, upload the PDF, submit. - Call
mark_submitted.
Tools
| prepare_application(url) | Start preparing an application from a Greenhouse, Lever or Ashby posting. Returns an id; poll get_application. |
| get_application(id) | Status, job, PDF link, questions with answers, and what to do next. |
| list_applications(status?) | All applications, newest first. |
| answer_questions(id, answers) | Save the user's answers to open form questions. |
| get_form_answers(id) | Apply URL, contact fields, every field's value, PDF link and filling instructions. |
| mark_submitted(id, note?) | Record that the form was submitted. |
| approve_application(id) | Hand off to the user's desktop runner instead. |
| regenerate_resume(id, notes?) | Rewrite the resume with notes. |
| delete_application(id) | Remove an application. |
| get_profile / update_profile / import_resume | Read, replace, or build the master profile from resume text. |
| get_known_answers / update_known_answers | Standing form answers: work authorization, relocation, notice period, salary, links. |
Data and safety
- Reads and writes only the signed-in user's profile, standing answers and applications.
- Job postings are read from the boards' public APIs (Greenhouse, Lever, Ashby). No scraping of logged-in pages.
- The resume writer may only use facts from the profile; figures not in the profile are rejected before rendering.
- The service never submits a form itself. Submission happens in the agent's browser or the user's own runner, after a person decides.
- PDF links are signed and expire after 24 hours.
Privacy policy · Terms of service
Questions: maddi.vikash@gmail.com