Your magical AI assistant that grants your job wishes. MCP server for desktop automation, job application form filling, and mock interview preparation.
ApplyGenie has 52 tools with explicit schemas and descriptions, but quality is inconsistent. Most tools have basic descriptions (50-150 chars) and parameter schemas with types. However, many lack depth: descriptions don't explain WHEN to use the tool or what happens on failure. Several tools (detect_form_fields, fill_form_fields, upload_resume, upload_cover_letter, submit_form, dismiss_cookie_banner) have EMPTY input schemas ({}), violating the schema requirement. Error handling is minimal, most tools return generic strings without recovery guidance. Tool naming is generally good (verb_noun pattern), but composition issues exist: browser tools are tightly coupled (navigate → screenshot → detect_form → fill_form → submit), forcing rigid sequences. Profile management tools lack clear dependency documentation. No pagination on list_applications despite potentially large result sets. Output schemas are undocumented, LLMs cannot predict response structure.
Add an education entry to the user profile.
Add a work experience entry to the user profile.
Add a project entry to the user profile.
Add a skill to the user profile.
Extract all text content from the current browser page.
Navigate to a URL in the browser.
Capture a screenshot of the current browser page.
Create a new user profile with personal and professional information.
Six browser automation tools (detect_form_fields, fill_form_fields, upload_resume, upload_cover_letter, submit_form, dismiss_cookie_banner) have empty input schemas ({}), violating the schema requirement. LLMs cannot understand what parameters these tools accept or how to invoke them.
Output schemas are completely undocumented. No tool description explains what fields the response contains, forcing LLMs to guess structure and plan downstream calls blindly. This violates the documented-output-schema pattern.
list_applications accepts limit and offset but no documentation of pagination behavior, max result size, or total count in response. Large result sets could exhaust context windows without guidance.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | <=2025-11-25 | v2 |
Delete a job application record from the tracker.
Detect if a CAPTCHA is present on the page.
Detect and analyze form fields on the current page.
Dismiss cookie consent banners on the page.
Extract text content from a resume PDF file.
Automatically fill form fields using profile data.
Bring a desktop window to the foreground by its title (fuzzy match supported).
Inspect recent safety-logged actions.
Retrieve details of a specific job application.
Get analytics and statistics about logged job applications.
Get STAR method coaching for behavioral interview questions.
Get progressive hints for a coding interview problem.
Get information about the currently active focused window.
Get feedback on interview performance.
Get the current mouse cursor position coordinates.
Get a summary of the user's profile.
Get information about all connected monitors including resolutions and bounds.
Get guidance for system design interview questions.
Get the rate of job applications submitted per week.
List all logged job applications.
List all currently visible desktop windows with titles and geometry.
Load the user's saved profile from disk.
Log a job application to the tracker database.
Maximize a window by title.
Minimize a window by title.
Click the mouse at specified screen coordinates.
Click and drag from a start position to an end position.
Move the mouse cursor to specific coordinates.
Scroll the mouse wheel up or down.
Press a key or key combination (e.g. 'enter', 'tab', 'ctrl+a', 'alt+tab').
Save a reusable custom answer for common job application questions.
Save the current user profile to disk.
Capture a screenshot of the display.
Search job applications by company, role, or other criteria.
Search for windows matching a regex or substring pattern.
Start a mock interview session.
Submit a form on the current page.
Submit an answer during a mock interview session.
Type text using simulated keyboard with randomized human-like keystroke delays.
Update the status of a logged job application.
Update a specific field in the user profile.
Upload cover letter file to a form field.
Upload resume file to a form field.
Pause execution for a specified duration (capped at 30 seconds for safety).
Browser automation tools form a rigid dependency chain (navigate → screenshot → detect_form → fill_form → submit) with no composition flexibility. Tools lack error recovery guidance, if form detection fails, LLM has no fallback strategy.
Error handling is minimal across all tools. Most return generic success/failure strings without actionable recovery guidance. No tool documents what errors are retryable vs. fatal, violating the recovery-guide pattern.