Jobinja Employer

io.github.saeedsepehrPublished by GitHub account saeedsepehrv0.3.1Updated Nov 1, 2026

Review and shortlist resumes received in the Jobinja employer panel with low token use.

Overview

AI-generated overview

Connects an AI assistant to the Jobinja employer panel so it can review, screen and shortlist job applicants with low token use.

What you can do
  • Check login session and list the company's job ads with per-stage applicant counts
  • List and read applicants of an ad, filtered by status, starred or with team notes, including contact and profile details
  • Screen a page of up to 25 applicants as a compact digest, and get extracted PDF resume text
  • Download single or bulk resumes to a local folder
  • Manage resume folders: list, create, and add or remove applicants
  • Star applicants, add or delete confidential team notes
When to use it
For employers and recruiters who post jobs on Jobinja and want an assistant to triage incoming resumes, shortlist promising candidates and record stars, notes and folders directly in the panel instead of exporting to spreadsheets.
Requirements
Runs locally as a Python package (Python 3.10+) via uvx or pipx, with Google Chrome installed (Edge or Playwright Chromium as alternatives). The user signs in once through a browser window; the session is stored locally. Optional environment variables include JOBINJA_DOWNLOAD_DIR, JOBINJA_READ_ONLY, JOBINJA_HOME, JOBINJA_COMPANY and JOBINJA_BROWSER. An employer account on the Jobinja panel is required.
Before you install
Tools change real panel data: starring, notes, folders, and rejecting or restoring applicants. Rejection and restore notify the candidate, and an optional message is sent to them, so use dry_run or JOBINJA_READ_ONLY=1 first. Viewing pending applicants marks them as seen. Applicant personal data and downloaded resumes go to whichever AI assistant you connect. The optional HTTP mode exposes the session to anyone holding the URL, so keep it secret and close the tunnel.

Installation

In SourceWeft

  1. Open Jobinja Employer in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

jobinja-employer-mcp | مرور سریع و شورت‌لیست رزومه‌های دریافتی پنل کارفرمایی جابینجا با هوش مصنوعی

jobinja-employer-mcp ابزاری متن‌باز و رایگان برای کارفرمایان و کارشناسان جذب است که در جابینجا آگهی استخدام دارند. این ابزار پنل کارفرمایی جابینجا را به دستیارهای هوش مصنوعی مثل Claude، ChatGPT و Codex وصل می‌کند تا رزومه‌های دریافتی هر آگهی را سریع مرور کنید، متقاضیان مناسب را شورت‌لیست کنید و غربالگری اولیه رزومه را با مصرف توکن کم انجام دهید.

این ابزار برای کارجویان نیست و فقط با حساب کارفرما (panel.jobinja.ir) کار می‌کند.

کافی است به دستیار بگویید «رزومه‌های جدید آگهی کارشناس پشتیبانی را مرور کن، به مرتبط‌ترین‌ها ستاره بزن و برای هر کدام دلیلش را یادداشت کن». دستیار خلاصه فشرده متقاضیان را می‌خواند، فقط رزومه‌های امیدوارکننده را کامل بررسی می‌کند و نتیجه را مستقیم در پنل جابینجا ثبت می‌کند: ستاره، یادداشت محرمانه تیم، پوشه‌بندی رزومه‌ها و در صورت تأیید شما، رد درخواست با دلیل مشخص.

این پروژه بر پایه پروتکل استاندارد MCP (Model Context Protocol) ساخته شده و روی ویندوز، مک و لینوکس کار می‌کند.

چرا jobinja-employer-mcp؟

  • مرور سریع رزومه‌های دریافتی: غربالگری صدها رزومه یک آگهی به چند دقیقه کار دستیار هوش مصنوعی تبدیل می‌شود.
  • مصرف توکن کم: ابزار screen_applicants برای هر متقاضی فقط خلاصه‌ای کوتاه از سوابق و ابتدای متن رزومه برمی‌گرداند و get_resume_text متن رزومه را بدون ارسال فایل PDF می‌دهد. دستیار فقط برای نامزدهای جدی سراغ جزئیات کامل می‌رود.
  • شورت‌لیست در همان پنل: ستاره، یادداشت و پوشه‌ها همان جایی ثبت می‌شوند که تیم استخدام هر روز با آن کار می‌کند. نیازی به خروجی Excel یا جابه‌جایی داده نیست.
  • امنیت حساب کارفرما: رمز عبور هیچ‌وقت در اختیار ابزار قرار نمی‌گیرد. یک بار خودتان وارد پنل می‌شوید و نشست ورود فقط روی رایانه خودتان می‌ماند.
  • استخدام منصفانه: جنسیت، سن و وضعیت تأهل در خلاصه‌های غربالگری حذف شده‌اند و دلایل رد مبتنی بر جنسیت یا سن در ابزار وجود ندارد.
  • کنترل کامل: در حالت فقط‌خواندنی، دستیار هیچ تغییری در پنل نمی‌دهد.

English README

قابلیت‌ها

ابزارکاربرد
jobinja_statusبررسی وضعیت ورود و شرکت متصل
open_login_windowباز کردن پنجره ورود به پنل کارفرمایی، بدون نیاز به ترمینال
list_postsفهرست آگهی‌های استخدام با تعداد متقاضیان در هر مرحله
list_applicantsفهرست متقاضیان هر آگهی با فیلتر وضعیت، ستاره‌دار و دارای یادداشت
screen_applicantsخلاصه فشرده و کم‌مصرف یک صفحه (۲۵ نفر) از متقاضیان برای شورت‌لیست سریع
get_resume_textمتن استخراج‌شده رزومه PDF، بدون ارسال خود فایل
get_applicantاطلاعات تماس، پروفایل جابینجا، یادداشت‌های تیم، وضعیت و دلیل رد
download_resume و download_resumesدانلود فایل رزومه (PDF) برای خواندن و تحلیل
list_folders و list_folder_applicantsپوشه‌های رزومه و متقاضیان هر پوشه
create_folder و set_applicant_foldersساخت پوشه و افزودن یا حذف متقاضی از پوشه
set_starستاره زدن یا برداشتن ستاره
add_note و delete_noteافزودن یادداشت محرمانه تیم یا حذف یادداشت اشتباه
list_rejection_reasons و reject_applicantرد درخواست با دلیل (جابینجا به متقاضی اطلاع می‌دهد)؛ با dry_run فقط فرم پر می‌شود
restore_applicantبازگرداندن متقاضی به «در انتظار تعیین وضعیت»

باز کردن متقاضیِ «بررسی‌نشده» آن را دیده‌شده علامت می‌زند، دقیقاً مانند باز کردن آن در خود پنل.

نصب سریع در Claude Code (افزونه)

اگر Claude Code دارید، این دستور را داخل Claude Code بزنید. افزونه همراه با یک راهنمای غربالگری (skill) نصب می‌شود و به uv و Google Chrome نیاز دارد:

/plugin install jobinja-employer --marketplace saeedsepehr/jobinja-employer-mcp

نصب سریع در Claude Desktop (یک‌کلیکی)

فایل jobinja-employer-mcp-<نسخه>.mcpb را از صفحه انتشارها دانلود کنید و روی آن دوبار کلیک کنید (یا در Claude Desktop از Settings ← Extensions آن را نصب کنید). سپس به Claude بگویید «پنجره ورود جابینجا را باز کن» و یک بار وارد پنل کارفرمایی شوید. Google Chrome باید نصب باشد.

نصب

پیش‌نیازها: پایتون ۳.۱۰ یا جدیدتر و مرورگر Google Chrome. اگر Chrome ندارید، Edge هم کار می‌کند (JOBINJA_BROWSER=msedge) یا مرورگر داخلی Playwright (JOBINJA_BROWSER=chromium و سپس playwright install chromium).

۱. نصب pipx (فقط یک بار):

  • ویندوز: py -m pip install --user pipx و سپس py -m pipx ensurepath
  • مک: brew install pipx و سپس pipx ensurepath
  • لینوکس: sudo apt install pipx و سپس pipx ensurepath

پس از ensurepath پنجره ترمینال را ببندید و دوباره باز کنید.

۲. نصب jobinja-employer-mcp (یا اجرای مستقیم با uvx jobinja-employer-mcp اگر uv دارید):

bash
pipx install jobinja-employer-mcp

۳. ورود یک‌باره به پنل (یا از دستیار بخواهید ابزار open_login_window را اجرا کند): یک پنجره مرورگر باز می‌شود. وارد پنل کارفرمایی شوید؛ پنجره پس از بارگذاری پنل خودش بسته می‌شود.

bash
jobinja-employer-mcp login

اگر نشست ورود منقضی شد، همین دستور را دوباره اجرا کنید. پیش از آن برنامه‌ای را که از این ابزار استفاده می‌کند ببندید.

اتصال به Claude، ChatGPT و Codex

Claude Code:

bash
claude mcp add -s user jobinja -- jobinja-employer-mcp

Claude Desktop: این تنظیم را به فایل claude_desktop_config.json اضافه کنید و برنامه را دوباره باز کنید. مسیر فایل در مک ~/Library/Application Support/Claude/ و در ویندوز %APPDATA%\Claude\ است. اگر برنامه دستور را پیدا نکرد، مسیر کامل آن را بنویسید (where jobinja-employer-mcp در ویندوز، which jobinja-employer-mcp در مک و لینوکس).

json
{ "mcpServers": { "jobinja": { "command": "jobinja-employer-mcp" } } }

OpenAI Codex CLI: به فایل ~/.codex/config.toml اضافه کنید:

toml
[mcp_servers.jobinja]command = "jobinja-employer-mcp"

ChatGPT (کانکتور حالت توسعه‌دهنده): ChatGPT فقط به سرورهای راه دور با HTTPS وصل می‌شود.

bash
jobinja-employer-mcp http --port 8765cloudflared tunnel --url http://localhost:8765

دستور اول نشانی‌ای با یک بخش مخفی می‌دهد (/<secret>/mcp) و دستور دوم یک نشانی عمومی https://….trycloudflare.com. در ChatGPT به Settings ← Apps & Connectors ← Advanced بروید، Developer mode را روشن کنید و کانکتوری با نشانی https://….trycloudflare.com/<secret>/mcp و بدون احراز هویت بسازید.

هشدار: هر کسی این نشانی را داشته باشد به نشست جابینجای شما دسترسی دارد. نشانی را در اختیار کسی قرار ندهید، پس از کار تونل را ببندید و در این حالت بهتر است JOBINJA_READ_ONLY=1 را تنظیم کنید. برای تغییر بخش مخفی، فایل ~/.jobinja-mcp/http_token را حذف کنید.

نمونه درخواست‌ها از دستیار

  • «آگهی‌های فعالم را با تعداد رزومه‌های بررسی‌نشده نشان بده.»
  • «با screen_applicants رزومه‌های آگهی برنامه‌نویس جاوا را مرور کن و پنج نفری را که بیشترین تطابق را با شرح آگهی دارند ستاره بزن و دلیلش را یادداشت کن.»
  • «برای متقاضیانی که سابقه بانکی دارند پوشه «سابقه بانکی» بساز و اضافه‌شان کن.»
  • «متقاضیانی را که هیچ تجربه فنی مرتبط ندارند فهرست کن، ولی ردشان نکن.»

تنظیمات

متغیرپیش‌فرض
JOBINJA_HOME~/.jobinja-mcp (پروفایل مرورگر و نشست ورود)
JOBINJA_COMPANYبه‌صورت خودکار از پنل
JOBINJA_DOWNLOAD_DIR~/Downloads/jobinja-resumes
JOBINJA_READ_ONLYخالی (ابزارهای تغییردهنده فعال‌اند)
JOBINJA_BROWSERchrome (یا msedge یا chromium)
JOBINJA_HTTP_TOKENدر اولین اجرای jobinja-employer-mcp http ساخته می‌شود

پرسش‌های رایج

آیا jobinja-employer-mcp رمز عبور جابینجای من را ذخیره می‌کند؟ خیر. ورود را خودتان در پنجره مرورگر انجام می‌دهید و ابزار فقط از نشست ذخیره‌شده در پروفایل جداگانه مرورگر روی رایانه شما استفاده می‌کند.

آیا اطلاعات متقاضیان جایی ارسال می‌شود؟ داده‌ها فقط به دستیار هوش مصنوعی‌ای که خودتان وصل کرده‌اید داده می‌شود. رزومه‌های دانلودشده روی رایانه شما ذخیره می‌شوند. سیاست حریم خصوصی سرویس هوش مصنوعی انتخابی و قوانین حفاظت از داده‌های شخصی را رعایت کنید.

آیا دستیار بدون اجازه من درخواست‌ها را رد می‌کند؟ فقط اگر از او بخواهید. رد درخواست به متقاضی اطلاع داده می‌شود، پس پیشنهاد می‌شود ابتدا از دستیار بخواهید پیشنهاد رد را به‌صورت یادداشت ثبت کند تا خودتان بررسی کنید. در حالت JOBINJA_READ_ONLY=1 هیچ تغییری ممکن نیست.

این ابزار رسمی جابینجاست؟ خیر، jobinja-employer-mcp پروژه‌ای مستقل و غیررسمی است.

حریم خصوصی

jobinja-employer-mcp کاملاً روی رایانه شما اجرا می‌شود و هیچ داده‌ای برای سازنده ارسال نمی‌کند: نه آمار استفاده، نه اطلاعات متقاضیان. نشست ورود در ~/.jobinja-mcp و رزومه‌های دانلودشده در پوشه‌ای که تعیین می‌کنید می‌مانند تا خودتان پاکشان کنید. اطلاعاتی که ابزار از پنل می‌خواند فقط به دستیار هوش مصنوعی‌ای داده می‌شود که خودتان وصل کرده‌اید. متن کامل: PRIVACY.md.

مشارکت

باگ‌ها و پیشنهادها را در Issues ثبت کنید. اگر ساختار پنل جابینجا تغییر کرد و ابزاری از کار افتاد، Pull Request بسیار کمک می‌کند. هرگز فایل رزومه، داده متقاضی یا پوشه ~/.jobinja-mcp را در Issue یا مخزن قرار ندهید.

سلب مسئولیت

این پروژه وابسته به جابینجا نیست. تغییر ساختار پنل ممکن است ابزارها را از کار بیندازد. استفاده از آن باید مطابق قوانین جابینجا و مقررات حفاظت از داده‌های شخصی باشد. مجوز انتشار: MIT.

Source: README.md at commit f7528eb

Tools

19

jobinja_status

Check Jobinja session

Check whether the saved Jobinja session is still logged in and which company panel it uses.

Takes no parameters.

list_posts

List job ads

List the company's job ads with applicant counts. status: all | active | rejected | draft | closed | archived. Each item has `post` (short id such as "tMEO", used by the other tools), numeric `post_numeric_id`, title, publish state and per-stage counts.

Parametersstatus

list_applicants

List applicants

List applicants of a job ad, 25 per page (newest first by default). post: short id from list_posts (e.g. "tMEO"). status: pending (unreviewed) | read (awaiting decision) | interview | hired | dismissed | expired | canceled. starred / has_notes: only starred applicants / only those with team notes. sort: id (newest) | id_asc (oldest) | relevance. Each row has `applicant_id` (for the other tools), status, starred flag, note count and folders.

Parameterspagepostrequiredsortstatusstarredhas_notes

get_applicant

Get applicant details

Get one applicant: contact info, profile fields, Jobinja profile text, star, team notes, current decision and rejection reason. applicant_id comes from list_applicants; page_hint (the list page it was on) makes lookup faster. Like opening it in the panel, viewing an unreviewed (pending) applicant marks it as seen.

Parameterspostrequiredpage_hintapplicant_idrequired

download_resume

Download resume

Download an applicant's attached resume file (usually PDF) and return its local path, ready to be read. Default folder: JOBINJA_DOWNLOAD_DIR/<post>/.

Parameterspostrequireddest_dirpage_hintapplicant_idrequired

download_resumes

Download resumes in bulk

Bulk-download resumes for a job ad, newest first, optionally filtered by status / starred (see list_applicants). Downloads at most `limit` files into JOBINJA_DOWNLOAD_DIR/<post>/ (or dest_dir). Viewing pending applicants marks them as seen, as in the panel.

Parameterspostrequiredlimitstatusstarreddest_dir

get_resume_text

Get resume text

Extracted plain text of an applicant's PDF resume, truncated to max_chars. Much cheaper in tokens than reading the PDF itself. Scanned (image-only) PDFs give little or no text; use download_resume for those.

Parameterspostrequiredmax_charspage_hintapplicant_idrequired

screen_applicants

Screen applicants (compact digest)

Compact screening digest of one page (up to 25) of applicants, for fast, low-token shortlisting. For each applicant: headline, status, star, notes, folders, key profile fields (work history, education, skills) and the first `resume_chars` characters of the PDF resume text. Gender, birth year, marital status and contact details are left out on purpose. Read the digests, then use get_resume_text / get_applicant only for the promising ones. Takes about a minute per page; opening pending applicants marks them as seen.

Parameterspagepostrequiredstatusresume_charsprofile_chars

list_rejection_reasons

List rejection reasons

Rejection reasons accepted by reject_applicant (code -> panel label).

Takes no parameters.

set_star

Star or unstar applicant

Star (starred=true) or unstar (starred=false) an applicant. Stars are internal to the company.

Parameterspostrequiredstarredpage_hintapplicant_idrequired

add_note

Add team note

Add a confidential team note to an applicant (visible to company members only, not to the candidate).

Parameterspostrequiredtextrequiredpage_hintapplicant_idrequired

delete_note

Delete team note

Delete one team note whose text contains `text_contains` (e.g. to fix a mistaken note). Only notes you can delete in the panel.

Parameterspostrequiredpage_hintapplicant_idrequiredtext_containsrequired

list_folders

List resume folders

List the company's resume folders (پوشه‌های رزومه) with their ids and per-stage counts.

Takes no parameters.

list_folder_applicants

List applicants in folder

List applicants saved in a resume folder, 25 per page. Each row includes the `post` it applied to.

Parameterspagefolder_idrequired

create_folder

Create resume folder

Create a new resume folder and return its id. If a folder with this exact title exists, returns it instead.

Parameterstitlerequired

set_applicant_folders

Add or remove applicant from folders

Add an applicant to and/or remove it from resume folders. `add` / `remove` take folder ids or exact titles (see list_folders; use create_folder first for a new one). Returns the applicant's folders afterwards.

Parametersaddpostrequiredremovepage_hintapplicant_idrequired

reject_applicant

Reject applicant

Mark an applicant as rejected (نامناسب) with a reason code from list_rejection_reasons. Jobinja notifies the candidate of the rejection; `message` is optional extra text sent to the candidate with it (not an internal note: use add_note for that). dry_run=true fills the rejection form without submitting it.

Parameterspostrequiredreasonrequireddry_runmessagepage_hintapplicant_idrequired

restore_applicant

Restore applicant to awaiting decision

Undo a decision: move an applicant back to "awaiting decision" (در انتظار تعیین وضعیت). Jobinja notifies the candidate.

Parameterspostrequiredpage_hintapplicant_idrequired

open_login_window

Open Jobinja login window

Open a browser window on the user's screen to sign in to the Jobinja employer panel (first use, or when jobinja_status reports the session expired). The user types their own credentials; waits up to 10 minutes.

Takes no parameters.

Version history

1
  1. v0.3.1LatestNov 1, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts