ApplyGenie

io.github.Eternalcodertanishq3由 GitHub 账号 Eternalcodertanishq3 发布v0.1.3更新于 Oct 24, 2026

Autonomous job application copilot, ATS form filler, and AI mock interview engine.

概览

AI 生成的概览

一个本地桌面 MCP 服务器,可在浏览器中填写求职申请表、跟踪申请进度并进行模拟面试练习。

可以做什么
ApplyGenie 提供约 45 个工具,覆盖五个方面:桌面控制与截图、鼠标键盘输入以及 Windows 窗口管理;本地候选人档案与简历解析;基于 Playwright 的浏览器自动化,可识别表单字段、用档案内容填写并上传简历;本地 SQLite 申请跟踪器,支持状态更新与统计;以及模拟面试引擎,包含编码提示、STAR 回答分析、系统设计阶段和评分卡。
适用场景
如果你希望助手帮忙处理重复的求职表单、在本地记录投递情况,并练习编码、行为或系统设计面试,可以考虑添加。它仅限桌面环境,面向 Windows 风格的桌面自动化,而非无头服务器场景。
运行要求
通过 stdio 在本地运行,从 PyPI 安装 applygenie-mcp,例如使用 uvx 或 pip。完整的浏览器自动化需要 browser 附加组件并安装 Playwright Chromium。未声明任何账号、API 密钥或环境变量。需要带显示器的桌面会话。
安装前请注意
它可以控制鼠标、键盘和窗口,并把档案数据输入网页表单,因此提交前应检查填写内容;表单提交需要显式确认。档案数据、简历缓存和申请记录保存在用户主目录下的本地位置。仅支持桌面,无法在网页中运行。

安装

在 SourceWeft 中

  1. 打开 控制台中的 ApplyGenie,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

ApplyGenie MCP 🧞‍♂️

Your magical AI assistant that grants your job wishes.
A production-grade Model Context Protocol (MCP) server for desktop control, autonomous job application form filling, local application tracking, and personalized AI mock interview preparation.

[Python 3.10+] [MCP Protocol] [License: MIT] [PyPI] [Total Downloads] [Monthly Downloads] [ApplyGenie on MCPRush] [M8ven Score] [Changelog]


🌟 What is ApplyGenie?

ApplyGenie bridges the gap between job discovery, form filling, application tracking, and interview readiness. It runs locally as an MCP server, empowering LLM agents (Claude Desktop, Cursor, Antigravity, VS Code, Windsurf) with 48 specialized tools:

  1. 🖥️ Desktop Control & Vision: Fast screenshot captures (mss), DPI-corrected mouse navigation, human-like typing jitter (pynput), and native Windows window management (pywinauto).
  2. 📋 Smart Candidate Profile: Local JSON schema storing your education, work experiences, skills, work authorizations, and custom portal answer banks.
  3. 🌐 AI Browser Automation & Anti-Detection Form Filling: Playwright-powered stealth engine with deep CDP cloaking, native .toString() code spoofing, discrete WebGL GPU profiles (RTX 3080), deterministic canvas/audio fingerprint protection, Fitts's Law cubic Bézier biometric mouse trajectories, realistic keystroke dynamics with unicode currency fallback, and automated Challenge Radar (Cloudflare Turnstile, reCAPTCHA, hCaptcha). Parses forms across nested iframes & Shadow DOMs, maps candidate profiles, and requires explicit confirmation before submitting.
  4. 📊 Application Tracker & Analytics: Local SQLite database logging every applied role, tracking interview conversion rates, and charting application velocity.
  5. 🎤 Mock Interview Engine: Socratic coding hint ladders (4 rungs), behavioral STAR coaching ("I" vs "We" ownership ratio analysis), and 4-phase system design state machines.

🚀 Quickstart & Installation

Option 1: Run directly with uvx (Zero manual setup)

bash
uvx applygenie-mcp

Option 2: Install via pip

bash
pip install applygenie-mcp
# With full browser automation support:pip install "applygenie-mcp[browser]"playwright install chromium

⚙️ Configuration for MCP Clients

1. Claude Desktop

Add to your %APPDATA%\Claude\claude_desktop_config.json (Windows) or ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):

json
{  "mcpServers": {    "applygenie": {      "command": "uvx",      "args": ["applygenie-mcp"]    }  }}

2. Google Antigravity

Add to your project's .agents/mcp_config.json or ~/.gemini/config/mcp_config.json:

json
{  "mcpServers": {    "applygenie": {      "command": "python",      "args": ["-m", "applygenie.server"],      "cwd": "C:\\Personal Projects\\applygenie-mcp"    }  }}

3. Cursor / Windsurf

Navigate to Settings > Features > MCP > Add New MCP Server:

  • Name: ApplyGenie
  • Type: command
  • Command: uvx applygenie-mcp

🛠️ Complete MCP Tool Reference

1. Desktop Control & Vision

ToolDescription
screenshot(monitor=0)Captures JPEG screenshot encoded in base64.
get_screen_size()Enumerates all connected monitors and resolution bounds.
mouse_click(x, y, button, clicks)Clicks mouse with DPI scaling correction.
mouse_move(x, y)Moves mouse cursor smoothly to target coordinates.
mouse_scroll(direction, amount)Scrolls mouse wheel up or down.
mouse_drag(start_x, start_y, end_x, end_y)Performs click-and-drag between coordinates.
get_mouse_position()Returns current mouse cursor coordinates.
type_text_input(text, interval)Types text with randomized jitter (±30%) to emulate human cadence.
press_keyboard_key(keys)Executes hotkeys (e.g. ctrl+a, tab, enter).
list_open_windows()Returns all visible application windows.
focus_app_window(title)Brings target window to foreground via fuzzy title match.
minimize_app_window(title)Minimizes target window.
maximize_app_window(title)Maximizes target window.
get_current_window()Returns info about currently focused active window.
search_windows(pattern)Finds windows matching regex or substring.
wait_seconds(seconds)Pauses execution safely (capped at 30s).
get_action_history(last_n)Inspects safety audit action logs.

2. Profile & Resume Management

ToolDescription
get_user_profile()Loads complete candidate profile.
get_user_profile_summary()Returns concise summary of skills, credentials, and work history.
setup_user_profile(...)Initializes candidate personal info, URLs, location, and defaults.
update_profile_attribute(field, val)Updates a specific top-level profile field.
add_work_experience(...)Appends a work experience or internship entry.
add_education_entry(...)Appends a degree / university qualification.
add_project_entry(...)Appends a notable software project.
save_portal_custom_answer(pattern, ans)Saves reusable answer for portal questions (e.g. "Why hire you?").
parse_resume_file(filepath)Extracts text from PDF or DOCX resume.

3. Browser Automation & Form Filling

ToolDescription
browser_open(url, headless)Launches stealth Chromium browser with deep CDP cloaking and discrete GPU profiles.
browser_navigate(url)Navigates browser to destination page with automatic Challenge Radar auto-wait.
browser_get_page_text()Extracts visible text content from current tab.
browser_get_page_screenshot()Captures high-res screenshot of current webpage.
browser_get_accessibility_tree()Extracts full ARIA tree snapshot to observe custom comboboxes, listboxes, and dialogs.
browser_detect_form_fields()Parses inputs, textareas, selects, and file uploads across nested iframes & Shadow DOM.
browser_fill_detected_form(kinetic)Auto-maps profile data and fills all detected inputs (with optional kinetic biometric typing & mouse movement).
browser_upload_resume(filepath)Uploads resume PDF/DOCX to detected file input field.
browser_submit_form(confirm=True)Clicks submit button (Requires explicit human confirmation).
browser_close()Closes browser gracefully.

4. Application Tracker

ToolDescription
track_application(...)Records a new application in local SQLite database.
update_application_progress(id, status)Updates status (interview, screening, offer, rejected).
get_tracked_applications(...)Lists applications with optional status/company filtering.
search_tracked_applications(query)Full-text search across roles, companies, and notes.
get_application_analytics()Computes interview conversion rates, offer rates, and top companies.

5. Mock Interview Engine

ToolDescription
start_mock_interview(type, company, diff)Starts coding, behavioral, or system design session.
get_coding_hint()Advances the 4-rung Socratic hint ladder without spoiling answers.
analyze_behavioral_star_answer(text)Evaluates STAR structure and calculates "I" vs "We" ownership ratio.
advance_system_design_interview(input)Steps through 4 architectural interview phases.
generate_interview_scorecard(...)Produces structured 1-5 rubric report card and hiring recommendation.

🛡️ Safety & Failsafe Architecture

ApplyGenie enforces strict safety guardrails:

  1. Mouse Corner Failsafe: Moving the cursor to screen corner (0, 0) immediately halts all automation.
  2. Rate Limiting: Enforces a maximum action frequency (default: 30 actions/min) and minimum delays to prevent runaway loops.
  3. Human-in-the-Loop Confirmation: Form submission and destructive actions require explicit confirm=True confirmation. The copilot fills 95% of the form, pausing for human review.
  4. Local Data Storage: All candidate profile data, resume caches, and application records stay on your local disk at ~/.applygenie/. No telemetry, no cloud sync.
  5. Key Combo Shield: Dangerous system combinations (alt+f4, ctrl+alt+del) are blocked by default.

🧪 Running Tests

bash
python -m pytest tests/ -v

📄 License

This project is licensed under the MIT License — see the LICENSE file for details.

Developed with ❤️ by Tanishq Mangal ([email protected]).

来源:README.md,提交 0fd31e9

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

2
  1. v0.1.3最新Sep 19, 2026
  2. v0.1.1Sep 17, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分