openings
Enables searching and retrieving job openings from companies using Greenhouse as their applicant tracking system.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@openingsFind backend jobs in India that match my resume."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Openings
A free, candidate-safe job search for AI agents.
Openings indexes public company job boards into a private index on your machine and exposes it to any MCP client. Your agent can find roles that fit a resume, explain the fit with evidence, and propose truthful resume improvements. There are no accounts, no API keys, no model calls, and no way to submit an application.
Five providers. Greenhouse, Lever, Ashby, Workday, and Recruitee, crawled from their public structured endpoints. No HTML scraping.
Verified sources only. Every company in the catalog passed an identity check against its own board.
Resumes stay in memory. Resume content is parsed for a single request and never written to disk.
Honest coverage. Before you share a resume, Openings tells you how many employers and jobs it actually has for your countries.
For job seekers
Install Bun 1.3 or newer, then the package with whichever package manager you use:
bun add --global openings
# or
npm install --global openings
# or
yarn global add openingsBun must be on your PATH either way; it is the runtime the server runs on.
Add the server to your MCP client:
{
"mcpServers": {
"openings": { "command": "openings-mcp", "args": [] }
}
}Then ask your agent something like:
Show me what Openings covers in India. If that looks useful, use my resume to find backend roles, including good jobs whose titles I would not have searched for. Rank by evidence and explain every gap.
On first use the agent builds your private index in resumable batches of ten sources, reports real coverage, and only then asks for a resume. Results come back in three buckets: direct title matches, hidden roles found through grounded title families, and stretch roles, each with separate evidence and keyword scores. The index lives under ~/.openings.
The job-seeker quickstart has sample prompts, an example conversation, privacy details, and common errors.
Related MCP server: LinkedIn Jobs MCP Server
The tools
Tool | What it does |
| Builds or refreshes the index for your countries and reports coverage. Uses the network, never touches a resume. |
| Reports current coverage with no network access. |
| Ranks jobs against a resume and explicit intent. Returns direct, hidden, and stretch results with evidence. Performs at most one scoped refresh; |
| Explains one job against verbatim resume evidence: supported, transferable, unsupported, and screening risks. |
| Proposes grounded suggestions, an additive diff, or revised Markdown. Never invents experience. |
| Plain keyword, location, country, and remote search over the index. |
| Returns one job with its full description. |
There is deliberately no form-fill, apply, or submit tool. The only thing Openings writes is your own job index.
From a source checkout
bun install
bun run src/mcp.ts # stdio MCP server
bun run src/cli.ts crawl --country IN # build the index
bun run src/cli.ts search "platform engineer" --remote
bun run src/cli.ts get greenhouse:anthropic:12345CLI commands return JSON. Search refreshes a missing or stale index automatically; pass --offline to guarantee no network request. The source entrypoint stores its index under .openings in the working directory unless OPENINGS_DATA_DIR is set. The included .mcp.json is picked up when this repository is installed as a Codex plugin.
Discovery campaigns, source verification, corpus expansion, coverage reports, and lock recovery are documented in the maintainer guide.
Add a company
Append a candidate to data/source-candidates.json and run verification. Never edit the generated catalog in data/companies.json by hand.
{
"companyName": "Example",
"companyDomain": "example.com",
"sourceUrl": "https://job-boards.greenhouse.io/example",
"cohorts": ["IN"],
"discoveredFrom": { "channel": "community", "reference": "issue-123" }
}bun run src/cli.ts sources verify data/source-candidates.jsonThe verifier resolves the canonical board endpoint, validates its payload, applies the provider's identity check, and regenerates the catalog atomically. Rejected candidates are reported with a machine-readable reason. cohorts records why a source was selected for a country campaign; eligibility is always decided per job. An optional slug keeps existing job IDs stable when it differs from the first label of the company domain.
Sharing crawls
The packaged server reports each source you crawl to the shared Openings aggregator at openings.avagama.co, which merges reports from every install and publishes the result. New installs download the published index on first setup instead of crawling every source. Only public job data is sent, never resume content. Set OPENINGS_AGGREGATOR_URL to an empty string to keep every crawl local, or to another URL to use your own aggregator. The source entrypoint reports only when the variable is set.
Privacy
Job data comes straight from public ATS endpoints and is stored only on your machine. Your MCP client reads the resume file and passes its content to a tool; Openings never sees the path and never persists the content or anything derived from it. Every proposed change stays subject to your review.
Develop
bun test
bun run typecheck
bun run test:live # one real board per provider, needs internetLicense
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Job platform for AI agents. Track tech jobs from companies that match your stack.
Search AI-native jobs, inspect application forms, and fetch free interview-prep resources.
Analyze job listings against your resume, track applications, and generate cover letters.
Score and tailor your CV/resume against a job posting — for AI agents and humans, no-login trial.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to pull live job listings from major ATS platforms (Greenhouse, Lever, Ashby, Workable), Hacker News hiring threads, and detect hiring signals on company career pages.-
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to search and analyze LinkedIn jobs with advanced filters, salary requirements, and market insights through natural language.21MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to discover, filter, and track job openings based on the user's local resume, without uploading data to the cloud.15MIT

FoundRole MCPofficial
AlicenseAqualityBmaintenanceEnables AI assistants to search live jobs, view full details, save and track applications in a Kanban board, set follow-up reminders, and subscribe to job alerts—no account needed for searching.2094MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/abhay-avagama/hiring-agent'
If you have feedback or need assistance with the MCP directory API, please join our Discord server