JOIN MCP. Manage candidate data, jobs, and applications in one place.
Works with every AI agent you already use
…and any MCP-compatible client
Just plug in your AI agents and start using Vinkius.
The JOIN MCP Server gives your AI agent full access to your recruiting pipeline. Use it to list jobs, find candidate profiles, track application statuses, and manage organization departments—all without leaving your workflow.
It handles everything from initial job postings (`list_jobs`) to deep candidate vetting (`get_candidate`) and monitoring the latest applicant flow (`list_applications`).
It's the single API connection for talent acquisition.
What your AI agents can do
Get application
Retrieves answers, notes, and the current status for a specific job application.
Get candidate
Pulls the full profile and details for a specific candidate ID.
Get job
Gets the detailed description, requirements, and metadata for a specific job posting.
Retrieves detailed information on a single application, including form answers, internal notes, and the current pipeline status.
Fetches the complete profile and history for any candidate ID, useful for interview prep or background checks.
Lists all current job postings, providing titles, IDs, and their active status to build a job overview.
Returns a list of all candidates, including their contact info and which jobs they are linked to.
Lists all departments (like HR or Engineering) and locations available in your organization to filter searches.
Accesses lists of all users and department/location data for administrative checks or scope limitations.
Ask AI about this MCP
Supported MCP Clients
Waiting for input…
JOIN MCP Server: 10 Tools for Recruiting & HR
Use these tools to automate complex tasks like vetting candidates, tracking applications, and managing job postings across your entire hiring pipeline.
019d75bdget application
Retrieves answers, notes, and the current status for a specific job application.
019d75bdget candidate
Pulls the full profile and details for a specific candidate ID.
019d75bdget job
Gets the detailed description, requirements, and metadata for a specific job posting.
019d75bdget me
Confirms the authenticated user's identity and checks the connection status.
019d75bdlist applications
Lists summaries of all job applications, essential for monitoring recent applicant activity.
019d75bdlist candidates
Lists all candidates in the system, including their profiles and job associations.
019d75bdlist departments
Lists all organizational departments (e.g., Engineering, Sales) within the organization.
019d75bdlist jobs
Lists all active job postings in the JOIN system.
019d75bdlist locations
Lists every physical location where the company hires.
019d75bdlist users
Lists all user accounts configured in your JOIN account.
Choose How to Get Started
Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.
Build Your Own
Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.
- Import from OpenAPI, Swagger, or YAML specs
- Create Agent Skills with progressive disclosure
- Deploy to edge with MCPFusion framework
- Built in DLP, auth, and compliance on every call
- Real time usage dashboard and cost metering
- Publish to catalog or keep private
Make Your AI Do More
Start with Join, then connect any of our 4,700+ other servers whenever your AI needs more. One click, no limits.
- Use this MCP plus 4,700+ others, all in one place
- Add new capabilities to your AI anytime you want
- Every connection is secured and compliant automatically
- Track usage and costs across all your servers
- Works with Claude, ChatGPT, Cursor, and more
- New servers added to the catalog every week
What you can do with this MCP connector
Your AI agent gets full access to your whole recruiting pipeline through this server. You can manage job postings, pull candidate profiles, and process applications using one set of tools.
get_application pulls the answers, notes, and current status for any specific job application. get_candidate grabs the complete profile and details for a given candidate ID. get_job pulls the full description, requirements, and metadata for a specific job posting. get_me confirms who's logged in and checks the connection status. list_applications lists summaries of every job application, so you can track recent activity. list_candidates lists all candidates in the system, including their profiles and which jobs they're linked to. list_departments lists every organizational department, like Engineering or Sales. list_jobs lists all active job postings in the JOIN system. list_locations lists every physical location where you hire. list_users lists all user accounts set up in your JOIN account.
How JOIN MCP Works
- 1 Tell your agent what data you need. For example, 'Show me candidates in the Marketing department.'
- 2 The agent calls the appropriate tool, like
list_candidatesandlist_departments, passing the required filters (e.g., 'Marketing'). - 3 The server runs the query and returns a structured JSON payload containing the requested list of candidates or job details.
The bottom line is, your agent gets precise, structured data on people, jobs, and applications, letting you automate entire hiring processes.
Who Is JOIN MCP For?
Recruiting Operations Managers, Talent Acquisition Specialists, and HR Tech Engineers. These are the people who spend too much time manually cross-referencing spreadsheets, jumping between ATS dashboards, and updating candidate statuses across multiple systems. They need a single, automated source of truth for their hiring pipeline.
Uses the list_applications and get_application tools to monitor application volume and quickly identify bottlenecks in the hiring funnel.
Integrates list_jobs, list_candidates, and list_departments to build automated data validation and reporting pipelines for HR systems.
Uses get_candidate and get_job to quickly pull specific background details and job requirements to prepare for interviews.
What Changes When You Connect
- See candidate profiles in depth: Use
get_candidateto pull a candidate's full history. You don't have to jump to a separate profile page; your agent gets the whole file instantly. - Monitor the pipeline instantly: Running
list_applicationsgives you a quick, aggregated view of the most recent applicants across all roles, helping you spot trends or stalled applications immediately. - Audit job requirements: Use
get_jobto pull the full description and metadata for any job ID. This is perfect for ensuring your agent has the latest version of the job spec before writing job descriptions. - Segment your search: Need candidates in a specific area? Use
list_departmentsandlist_locationstogether to filter candidates and jobs by organizational structure. - Check user access: Use
list_usersorget_meto confirm who has access to what data, which is necessary before running any bulk data operations. - Automate status checks: The
get_applicationtool allows your agent to check a candidate's current status and internal notes without needing manual form navigation.
Real-World Use Cases
Need to find all candidates for a specific role.
A recruiter needs to find every person who applied for the 'Senior Data Scientist' role. Instead of manually filtering the ATS dashboard, the agent calls list_jobs to get the job ID, then uses list_applications and filters by that ID to get a list of all relevant candidates.
Preparing for a difficult interview.
The hiring manager needs context on Candidate X. The agent calls get_candidate to pull the full profile. Then, it calls list_departments and get_job to ensure the candidate's background matches the specific role requirements.
Reviewing old job postings for compliance.
The compliance officer needs to verify that all job postings are correctly categorized. They run list_jobs to get all IDs, and then loop through them using get_job to pull the full description and metadata for compliance review.
Onboarding a new team member into the process.
A new TA Specialist needs to know the current hiring scope. They ask the agent to run list_jobs and list_departments to get a full overview of what's open and where the company is hiring.
The Tradeoffs
Treating the API like a simple search bar.
The user asks, 'Where are the people who are good at sales?' and expects a natural language list. This fails because the tools require structured inputs, not vague concepts.
→
You must break the request down. First, call list_departments to confirm the department ID. Then, call list_candidates and pass the 'Sales' department ID as a filter. This gives you the structured data you need.
Assuming write access.
The user tries to tell the agent, 'Change Candidate Y's status to 'Rejected'.'. This fails because the current tools only read data; they can't change status.
→
Use the tools to read the current state first. Run get_application to see the current status, and then use the data to inform the next step in your workflow. If you need to change status, you'll need a dedicated mutation tool.
Mixing up job and candidate data.
The user asks, 'What was the job title for Candidate Z?' This is ambiguous and can't be answered with one tool.
→
You need two steps. First, call list_candidates to get Candidate Z's ID. Then, you must use that ID to find the associated job ID, and finally, use get_job with the job ID to get the title.
When It Fits, When It Doesn't
Use this server if your task is about knowing data. If you need to pull lists of open jobs (list_jobs), vet a candidate (get_candidate), or check application statuses (get_application), this is what you need. It’s the source of truth for the entire hiring process.
Don't use it if your job requires making changes. Since all tools are read-only (get/list), this server cannot update a candidate's status, delete a job posting, or create a new user. If your workflow requires transactional steps, you'll need a different API connection that supports mutation.
If you only need to check if a job exists, list_jobs is enough. But if you need the detailed requirements, you must use get_job.
Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by JOIN. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.
VINKIUS INFRASTRUCTURE
Cloud Hosted
Managed infra
V8 Isolated
Sandboxed per request
Zero-Trust Proxy
No stored credentials
DLP Enforced
Policy on every call
GDPR Compliant
EU data residency
Token Compression
~60% cost reduction
Works with Claude, ChatGPT, Cursor, and more
The Model Context Protocol standardizes how applications expose capabilities to LLMs. Instead of operating in isolation, your AI gains direct access to external platforms, live data, and real-world actions through secure, standardized connections.
This server provides 10 capabilities that interface natively with Claude, ChatGPT, Cursor, and any MCP client. No middleware. No custom integration required.
Available Capabilities
Manually tracking candidate applications is a nightmare.
Right now, when a candidate applies, you have to jump between the ATS dashboard, the spreadsheet, and the departmental HR portal. You copy the name, paste the job ID, and manually check the status column. It’s a dozen clicks just to know if they passed the initial screening.
With this MCP server, your agent handles the whole thing. It calls `list_applications` to get a summary of the latest applicants. If you need details, it can run `get_application` on the specific ID, giving you the status and notes without you lifting a finger.
JOIN MCP Server: Pull Candidate Data with `get_candidate`
Previously, getting a full candidate profile meant finding the person's name, then manually searching the CRM, then switching to the ATS to see their application history. It was slow, and data often mismatched.
Now, you just ask for the candidate ID. The agent runs `get_candidate`, and you get the complete, verified profile and status in one shot. It’s immediate context for any agent.
Common Questions About JOIN MCP
How do I use `list_jobs` to see all open positions? +
You simply call the list_jobs tool. This returns a list of all active job postings, giving you the IDs and titles you need to build an overview of your hiring pipeline.
What is the difference between `list_candidates` and `get_candidate`? +
list_candidates gives you a list of all people and their basic contact info. Use get_candidate when you need the deep, detailed profile and full history for one specific person.
Can I use `list_departments` to filter my job search? +
Yes, you can use the list results to filter your search. First, run list_departments to get the department names, then pass those names into the job or candidate lookup tools.
What should I use if I need to check the status of one application? +
Use the get_application tool. You'll need to provide the specific application ID; it returns the status, form answers, and internal notes for that single submission.
Do I need `get_me` before using the other tools? +
No, but it's good practice. Running get_me first verifies your connection health and confirms the agent is authenticated against the JOIN API.
When should I use `list_applications` instead of `list_candidates`? +
Use list_applications when you need a summary of recent job submissions. It gives you candidate summaries and basic application info, which is perfect for monitoring the flow of new leads. If you need the full profile or contact info for a person, run list_candidates.
How do I get detailed info for a specific job posting using `get_job`? +
get_job returns the full description, requirements, and internal metadata for a single role. This is useful if your agent needs to analyze the specifics of a job or build content around its requirements. It's more detailed than just listing the job title.
Does `get_candidate` require a specific ID, and what happens if the ID is wrong? +
Yes, get_candidate requires a specific candidate ID. If the ID is incorrect or the candidate doesn't exist, the tool returns an error detailing the missing record. Your agent can then use the error message to prompt the user for a correct ID.
How do I get JOIN API credentials? +
Log in to your JOIN account, navigate to User Settings > API Credentials, and generate a new token.
Can I see candidates for specific jobs? +
Yes, you can retrieve applications and candidates associated with your job postings using this MCP.
Does it support departments and locations? +
Yes, you can list all configured departments and office locations using the corresponding tools.
Use it with your favorite AI tools
Connect this server to Cursor, Claude, VS Code, and more.
More in this category
Flow XO
Automate chatbots, manage end users, and trigger workflows via AI agents with Flow XO.
N26 Banking
Universal N26 intelligence — check balances, accounts, and spaces via AI.
Google Books Alternative
Search the world's most comprehensive index of full-text books, manage personal bookshelves, and retrieve detailed literary metadata.
You might also like
SavvyCal
Manage your SavvyCal scheduling links, check real-time availability, and coordinate automated bookings via AI.
Holiday API
Manage global holidays — audit public and federal holidays via AI.
PingCode
Agile project management and R&D collaboration platform — manage work items, sprints, and wiki pages via AI.