ApplyGenie について
ApplyGenieは求職者向けのMCPサーバーで、デスクトップとブラウザーの自動操作、応募状況のローカル管理、模擬面接を組み合わせます。ローカルの候補者プロフィールを使ってフォームを入力し、送信前に確認を求めます。
主な機能
- 01デスクトップ操作と画面キャプチャ
- 02プロフィールと履歴書の管理
- 03ブラウザーフォームの検出と入力
- 04応募状況のローカル管理と分析
- 05コーディング・行動面接・設計面接
活用シーン
- 01保存済みプロフィールで応募フォームを入力
- 02応募状況と結果を追跡
- 03コーディング面接や行動面接を練習
MCP 対応
ApplyGenieはデスクトップ、プロフィール、ブラウザー、応募管理、面接のツールをMCPクライアントに提供します。フォーム送信には明示的な確認が必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ApplyGenie MCP 🧞♂️
あなたの仕事に関する願いをかなえる、魔法のAIアシスタントです。
デスクトップ操作、自律的な求人応募フォームへの入力、ローカルでの応募管理、パーソナライズされたAI模擬面接の準備に対応する、プロダクション品質の Model Context Protocol (MCP) サーバーです。
🌟 ApplyGenieとは?
ApplyGenieは、求人探し、フォーム入力、応募管理、面接準備の間にあるギャップを埋めます。MCP サーバーとしてローカルで動作し、LLM エージェント(Claude Desktop、Cursor、Antigravity、VS Code、Windsurf)に48種類の専用ツールを提供します。
- 🖥️ デスクトップ操作とビジョン:高速なスクリーンショット撮影(
mss)、DPI補正済みのマウス操作、人間らしい揺らぎを加えたタイピング(pynput)、Windowsネイティブのウィンドウ管理(pywinauto)。 - 📋 スマートな候補者プロフィール:学歴、職歴、スキル、就労許可、カスタムポータル回答集を保存するローカルJSONスキーマ。
- 🌐 AIブラウザー自動化と検知回避フォーム入力:深層CDPクローキング、ネイティブの
.toString()コード偽装、個別のWebGL GPUプロファイル(RTX 3080)、決定論的なキャンバス/オーディオフィンガープリント保護、フィッツの法則に基づく3次ベジェ生体認証マウス軌道、通貨記号のUnicodeフォールバックに対応した現実的なキー入力動態、自動チャレンジレーダー(Cloudflare Turnstile、reCAPTCHA、hCaptcha)を備えた、Playwrightベースのステルスエンジンです。ネストされたiframeとShadow DOM内のフォームを解析して候補者プロフィールを対応付け、送信前に明示的な確認を求めます。 - 📊 応募管理と分析:応募したすべての職種を記録するローカルSQLiteデータベース。面接への移行率を追跡し、応募のペースをグラフ化します。
- 🎤 模擬面接エンジン:ソクラテス式のコーディングヒント段階(4段階)、行動面接向けSTARコーチング(「I」と「We」の主体性比率を分析)、4フェーズのシステム設計ステートマシン。
🚀 クイックスタートとインストール
オプション1:uvxで直接実行(手動セットアップ不要)
uvx applygenie-mcp
オプション2:pipでインストール
pip install applygenie-mcp
# With full browser automation support:
pip install "applygenie-mcp[browser]"
playwright install chromium
⚙️ MCP クライアントの設定
1. Claude Desktop
%APPDATA%\Claude\claude_desktop_config.json(Windows)または~/Library/Application Support/Claude/claude_desktop_config.json(macOS)に追加します。
{
"mcpServers": {
"applygenie": {
"command": "uvx",
"args": ["applygenie-mcp"]
}
}
}
2. Google Antigravity
プロジェクトの.agents/mcp_config.jsonまたは~/.gemini/config/mcp_config.jsonに追加します。
{
"mcpServers": {
"applygenie": {
"command": "python",
"args": ["-m", "applygenie.server"],
"cwd": "C:\\Personal Projects\\applygenie-mcp"
}
}
}
3. Cursor / Windsurf
Settings > Features > MCP > Add New MCP Serverに移動します。
- Name:
ApplyGenie - Type:
command - Command:
uvx applygenie-mcp
🛠️ MCP ツールの完全なリファレンス
1. デスクトップ操作と視覚認識
| ツール | 説明 |
|---|---|
screenshot(monitor=0) | base64 形式でエンコードされた JPEG スクリーンショットをキャプチャします。 |
get_screen_size() | 接続されているすべてのモニターと解像度の範囲を列挙します。 |
mouse_click(x, y, button, clicks) | DPI スケーリングを補正してマウスをクリックします。 |
mouse_move(x, y) | マウスカーソルを目標座標まで滑らかに移動します。 |
mouse_scroll(direction, amount) | マウスホイールを上または下にスクロールします。 |
mouse_drag(start_x, start_y, end_x, end_y) | 座標間でクリックしてドラッグします。 |
get_mouse_position() | 現在のマウスカーソルの座標を返します。 |
type_text_input(text, interval) | ランダムな揺らぎ(±30%)を加えてテキストを入力し、人間らしい入力間隔を再現します。 |
press_keyboard_key(keys) | ホットキーを実行します(例:ctrl+a、tab、enter)。 |
list_open_windows() | 表示されているすべてのアプリケーションウィンドウを返します。 |
focus_app_window(title) | タイトルのあいまい一致を使って、対象ウィンドウを前面に表示します。 |
minimize_app_window(title) | 対象ウィンドウを最小化します。 |
maximize_app_window(title) | 対象ウィンドウを最大化します。 |
get_current_window() | 現在フォーカスされているアクティブウィンドウの情報を返します。 |
search_windows(pattern) | 正規表現または部分文字列に一致するウィンドウを検索します。 |
wait_seconds(seconds) | 安全に実行を一時停止します(上限は30秒)。 |
get_action_history(last_n) | 安全性監査用の操作ログを確認します。 |
2. プロフィールと履歴書の管理
| ツール | 説明 |
|---|---|
get_user_profile() | 応募者の完全なプロフィールを読み込みます。 |
get_user_profile_summary() | スキル、資格、職歴の簡潔な概要を返します。 |
setup_user_profile(...) | 応募者の個人情報、URL、所在地、デフォルト設定を初期化します。 |
update_profile_attribute(field, val) | プロフィールの特定のトップレベル項目を更新します。 |
add_work_experience(...) | 職歴またはインターンシップの項目を追加します。 |
add_education_entry(...) | 学位または大学の学歴を追加します。 |
add_project_entry(...) | 主なソフトウェアプロジェクトを追加します。 |
save_portal_custom_answer(pattern, ans) | ポータルの質問(例:「あなたを採用すべき理由は?」)に対する再利用可能な回答を保存します。 |
parse_resume_file(filepath) | PDF または DOCX の履歴書からテキストを抽出します。 |
3. ブラウザーの自動操作とフォーム入力
| ツール | 説明 |
|---|---|
browser_open(url, headless) | CDP による高度な偽装と個別の GPU プロファイルを備えたステルス Chromium ブラウザーを起動します。 |
browser_navigate(url) | Challenge Radar の自動待機機能を使って、ブラウザーを移動先のページに移動します。 |
browser_get_page_text() | 現在のタブに表示されているテキストコンテンツを抽出します。 |
browser_get_page_screenshot() | 現在のウェブページの高解像度スクリーンショットをキャプチャします。 |
browser_get_accessibility_tree() | カスタムのコンボボックス、リストボックス、ダイアログを確認するため、完全な ARIA ツリーのスナップショットを抽出します。 |
browser_detect_form_fields() | ネストされた iframe と Shadow DOM 内の入力欄、テキストエリア、選択欄、ファイルアップロード欄を解析します。 |
browser_fill_detected_form(kinetic) | プロフィールデータを自動マッピングし、検出されたすべての入力欄に入力します(オプションで、キネティックな生体認証入力とマウス移動を利用できます)。 |
browser_upload_resume(filepath) | 検出されたファイル入力欄に PDF/DOCX の履歴書をアップロードします。 |
browser_submit_form(confirm=True) | 送信ボタンをクリックします(人間による明示的な確認が必要です)。 |
browser_close() | ブラウザーを正常に終了します。 |
4. 応募状況トラッカー
| ツール | 説明 |
|---|---|
track_application(...) | 新しい応募情報をローカルの SQLite データベースに記録します。 |
update_application_progress(id, status) | 状況(interview、screening、offer、rejected)を更新します。 |
get_tracked_applications(...) | 状況や会社で任意に絞り込んで、応募情報を一覧表示します。 |
search_tracked_applications(query) | 職種、会社、メモを対象に全文検索します。 |
get_application_analytics() | 面接への移行率、内定率、上位の会社を算出します。 |
5. 模擬面接エンジン
| ツール | 説明 |
|---|---|
start_mock_interview(type, company, diff) | コーディング、行動面接、またはシステム設計のセッションを開始します。 |
get_coding_hint() | 答えを明かすことなく、4段階のソクラテス式ヒントを進めます。 |
analyze_behavioral_star_answer(text) | STAR 構成を評価し、「I」と「We」の主体性の比率を算出します。 |
advance_system_design_interview(input) | アーキテクチャ面接の4つのフェーズを順に進めます。 |
generate_interview_scorecard(...) | 1〜5段階の評価基準に基づく構造化された評価レポートと採用推薦を作成します。 |
🛡️ 安全性とフェイルセーフのアーキテクチャ
ApplyGenie は厳格な安全ガードレールを適用します。
- マウスコーナーのフェイルセーフ:カーソルを画面の隅
(0, 0)に移動すると、すべての自動化が直ちに停止します。 - レート制限:暴走ループを防ぐため、アクション頻度の上限(デフォルト:30アクション/分)と最小遅延時間を適用します。
- 人間参加型の確認:フォームの送信や破壊的な操作には、明示的な
confirm=Trueによる確認が必要です。コパイロットはフォームの95%を入力した時点で一時停止し、人間による確認を待ちます。 - ローカルデータストレージ:候補者のプロフィールデータ、履歴書のキャッシュ、応募記録はすべてローカルディスクの
~/.applygenie/に保存されます。テレメトリーもクラウド同期もありません。 - キーコンビネーションシールド:危険なシステムキーの組み合わせ(
alt+f4、ctrl+alt+del)はデフォルトでブロックされます。
🧪 テストの実行
python -m pytest tests/ -v
📄 ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細については LICENSE ファイルをご覧ください。
❤️ Tanishq Mangal ([email protected]) が開発しました。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。