OpenPostings is an OpenSource ATS job aggregator and application tracking app. It pulls jobs that were posted in the last 24 hours or that has no posted date.
Over 37000+ companies from multiple ATSs all sourced into 1 location!
Over 500000+ fresh jobs on average DAILY!
It combines:
-
A React Native client (
Web,Android,Windows) -
A local Node/Express API
-
A local SQLite database
-
An MCP apply-agent server for agent-assisted workflows
-
Pulls jobs from multiple ATS providers into one local database.
-
Filters postings by search text, ATS, industry, region (AMER/EMEA/APAC), country, state, county, and remote mode.
-
Tracks applied/ignored posting state and application lifecycle status.
- Stores applicant profile and MCP agent settings in SQLite. - Exposes MCP tools for **candidate selection, cover-letter drafting, and result recording.**
Current sync support includes:
ADP MyJobsADP Workforce NowApplicantAIApplicantProApplyToJobAshbyBambooHRBrassRingBreezyHRCareerPlugCareerPuckCareersPageDayforceEightfoldFountainFreshteamGemGetroGreenhouseHirebridgeHRMDirectiCIMSJobApsJobviteJOINLeverLoxoManatalOracle CloudPageUpPaylocityPeopleForcePinpointHQRecruitCRMRecruiteeRipplingSageHRSAP HR CloudSimplicantTalentlyftTalentReefTaleoTalexioTeamtailorThe Applicant ManagerUltiProWorkdayZoho
OVER 37000+ companies in total. All gathered from search engine data like Google and DuckDuckGo and also using subdomain searching techniques and directory searching techniques.
It pulls in new job data at random from companies and stores it in the database. If the posting has lasted longer than 24 hours in the database its no longer used/deleted.
Download the latest installer from the github releases page and run it. It will guide you through installation and setup.
Choose the setup type during install:
Typical: Installs the standard OpenPostings app setup (Includes the backend service worker, recommended for most users).Complete: Installs all available OpenPostings features. (Includes the backend service worker and MCP apply agent server, which may not be needed for all users).Custom: Lets you choose exactly which features to install (for example, whether to include the backend service worker and MCP apply agent server).
Once the installation is complete, you can launch OpenPostings from the start menu.
- Node.js 18+ and npm
- For Windows target: React Native Windows prerequisites
- For Android target: Android Studio/emulator or device
cd OpenPostings
npm installTerminal 1:
cd OpenPostings
npm run serverTerminal 2:
cd OpenPostings
npm run webAccess the Web UI
http://localhost:8081
Default API base URL behavior:
- Web/Windows:
http://localhost:8787 - Android emulator:
http://10.0.2.2:8787
npm run windows (For windows)
npm run android (For Android)Core:
GET /healthGET /sync/statusPOST /sync/ats(?wait=1optional)POST /sync/workday(alias route)
Postings:
GET /postingsGET /postings/filter-optionsPOST /postings/ignore
Applications:
GET /applicationsPOST /applicationsPATCH /applications/:idDELETE /applications/:id
Settings:
GET /settings/personal-informationPUT /settings/personal-informationGET /settings/mcpPUT /settings/mcp
MCP helper endpoints:
GET /mcp/candidatesPOST /mcp/cover-letter-draftPOST /mcp/applications/complete
You can have Codex/Claude/Gemini/Qwen/LLMs do the following for you:
- Get your applicantee information
get_applicant_context - Find the latest relevant jobs for you.
find_posting_candidates - Apply to those jobs (As long as your LLM model has access to a browser)
- Build a dynamic cover letter for you that relates to your resume, experience and the job you are applying for.
draft_cover_letter - Update job application tracking for you.
record_application_result
To turn on the MCP server so your model can interact with OpenPostings run:
cd OpenPostings
npm run mcp:apply-agentMCP server setup for your Codex (If you use a different LLM, ask it to setup an MCP setup for you):
[mcp_servers.openpostings-apply]
command = "node"
args = ['C:\Users\<path to where you cloned the repo>\OpenPostings\server\mcp-apply-server.js']
This is designed for local/self-hosted usage.
- MCP credentials/settings are stored in local SQLite fields.
- If you need stricter controls, add OS-level secret storage, DB encryption-at-rest, and tighter filesystem permissions.





