
Post jobs, screen applicants, move stages and source talent from your Jobiba employer account.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Recruiter-safe candidate profile (summary, skills, experience, education; no phone/email) for an applicant or a candidate surfaced by find_candidates and visible to recruiters.
candidateProfileId from find_candidates or applicants.
Optional job context.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http hiring https://jobiba.com/mcp/hiring
Recruiter-safe candidate profile (summary, skills, experience, education; no phone/email) for an applicant or a candidate surfaced by find_candidates and visible to recruiters.
| Argument | Type | Description |
|---|---|---|
| jobId | string | Optional job context. |
| candidateProfileId* | string | candidateProfileId from find_candidates or applicants. |
{
"type": "object",
"required": [
"candidateProfileId"
],
"properties": {
"jobId": {
"type": "string",
"description": "Optional job context."
},
"candidateProfileId": {
"type": "string",
"description": "candidateProfileId from find_candidates or applicants."
}
},
"additionalProperties": false
}Company research from Jobiba data: profile, verified status, open jobs, anonymous moderated employee reviews (ratings, would-recommend), interview difficulty and published pay by role.
| Argument | Type | Description |
|---|---|---|
| company* | string | Company name. |
{
"type": "object",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"description": "Company name."
}
},
"additionalProperties": false
}Side-by-side comparison of 2-5 candidates for a job (score breakdown, matched/missing skills, notice period) with a recommendation.
| Argument | Type | Description |
|---|---|---|
| jobId* | string | Jobiba job ID (the id field from search_jobs or list_my_jobs). |
| candidateProfileIds* | array | 2-5 candidateProfileIds. |
{
"type": "object",
"required": [
"jobId",
"candidateProfileIds"
],
"properties": {
"jobId": {
"type": "string",
"description": "Jobiba job ID (the id field from search_jobs or list_my_jobs)."
},
"candidateProfileIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "2-5 candidateProfileIds."
}
},
"additionalProperties": false
}Generates a job post draft from a short brief, using only facts in the brief (a structured template if AI is unavailable), and scores it.
| Argument | Type | Description |
|---|---|---|
| role* | string | Role to hire. |
| level | string | Seniority. |
| benefits | array | |
| location | string | Location. |
| workMode | string | remote/hybrid/on-site. |
| aboutTeam | string | Short team/company context. |
| mustHaves | array | |
| salaryMax | number | Max pay. |
| salaryMin | number | Min pay. |
| niceToHaves | array | |
| salaryPeriod |
Updates fields of one of the employer's jobs (title, description, location, type, mode, level, salary, skills, apply URL) and re-indexes it for search.
| Argument | Type | Description |
|---|---|---|
| jobId* | string | Jobiba job ID (the id field from search_jobs or list_my_jobs). |
| title | string | New title. |
| skills | array | |
| jobType | string | Type. |
| applyUrl | string | https URL, or empty string to clear. |
| location | string | New location. |
| salaryMax | number | Max pay. |
| salaryMin | number | Min pay. |
| remoteType | string | Mode. |
| description | string | New description. |
Hiring snapshot: plan, wallet, active jobs vs limit, applications by stage, last-30-day impressions/clicks/apply clicks, top jobs and which premium features are on.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}AI talent search over opted-in candidate profiles for a job (jobId) or a description/skills. Plan-gated (candidate matching); if the plan lacks it the result says which upgrade is needed.
| Argument | Type | Description |
|---|---|---|
| jobId | string | Jobiba job ID (the id field from search_jobs or list_my_jobs). |
| limit | integer | Max 25. |
| title | string | Role title if no jobId. |
| location | string | Optional. |
| minScore | integer | 0-100 minimum match score. |
| remoteType | string | Optional. |
| description | string | Role description if no jobId. |
| requiredSkills | array | Must-have skills. |
| experienceLevel | string | Optional. |
Retrieve one active Jobiba vacancy by jobId or slug: sanitized full description, published salary, skills, location and canonical URL. Inactive or expired postings are not returned.
| Argument | Type | Description |
|---|---|---|
| slug | string | |
| jobId | string |
{
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"jobId": {
"type": "string"
}
},
"additionalProperties": false
}Public plan and pricing information. Jobiba has no paid candidate plan (candidate tools are free); employer plans (Free, Starter, Growth, Enterprise) list prices, limits and features. No payment is taken by this tool.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Employer's current plan, billing cycle, wallet, active-job usage vs limit, and what the next plan unlocks.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Applicants for one of the employer's jobs: name, stage, fit score, applied date, plus stage counts. Contact details and resumes stay in the Jobiba dashboard.
| Argument | Type | Description |
|---|---|---|
| jobId* | string | Jobiba job ID (the id field from search_jobs or list_my_jobs). |
| limit | integer | Max 50. |
| status | string | Filter by stage. |
{
"type": "object",
"required": [
"jobId"
],
"properties": {
"jobId": {
"type": "string",
"description": "Jobiba job ID (the id field from search_jobs or list_my_jobs)."
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Max 50."
},
"status": {
"enum": [
"APPLIED",
"SCREENING",
"INTERVIEW",
"OFFERED",
"HIRED",
"REJECTED"
],
"type": "string",
"description": "Filter by stage."
}
},
"additionalProperties": false
}The employer's jobs with open/closed state, applicant counts, impressions and clicks.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max 50. |
| offset | integer | Paging offset. |
| status | string | Filter. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Max 50."
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "Paging offset."
},
"status": {
"enum": [
"active",
"closed"
],
"type": "string",
"description": "Filter."
}
},
"additionalProperties": false
}Shortlisted and contacted candidates with scores, optionally for one job. Plan-gated.
| Argument | Type | Description |
|---|---|---|
| jobId | string | Optional job filter. |
{
"type": "object",
"properties": {
"jobId": {
"type": "string",
"description": "Optional job filter."
}
},
"additionalProperties": false
}Sends recruiter outreach to a talent-search candidate. Without confirm=true it returns a preview and sends nothing; with confirm=true it sends an email through Jobiba (limits: 20 per day, 2 per candidate per 30 days). The candidate's contact details are never exposed.
| Argument | Type | Description |
|---|---|---|
| jobId* | string | Jobiba job ID (the id field from search_jobs or list_my_jobs). |
| confirm | boolean | true only after explicit user approval. |
| message* | string | Message (20+ chars). Be specific and honest about the role. |
| subject* | string | Email subject (4+ chars). |
| candidateProfileId* | string | candidateProfileId from find_candidates. |
{
"type": "object",
"required": [
"jobId",
"candidateProfileId",
"subject",
"message"
],
"properties": {
"jobId": {
"type": "string",
"description": "Jobiba job ID (the id field from search_jobs or list_my_jobs)."
},
"confirm": {
"type": "boolean",
"description": "true only after explicit user approval."
},
"message": {
"type": "string",
"description": "Message (20+ chars). Be specific and honest about the role."
},
"subject": {
"type": "string",
"description": "Email subject (4+ chars)."
},
"candidateProfileId": {
"type": "string",
"description": "candidateProfileId from find_candidates."
}
},
"additionalProperties": false
}Create an employer-owned job through Jobiba validation and plan limits.
| Argument | Type | Description |
|---|---|---|
| city | string | |
| state | string | |
| title* | string | Job title. |
| skills | array | |
| country | string | |
| jobType | string | |
| applyUrl | string | Optional https URL for external applications. |
| location* | string | Display location, e.g. 'Pune, India'. |
| expiresAt | string | Optional ISO date when the job closes. |
| salaryMax | number | |
| salaryMin | number |
Scores a job post (an existing jobId or a draft title and description) on length, structure, salary transparency, skills, inclusive language and clarity, and compares stated pay with published market salaries.
| Argument | Type | Description |
|---|---|---|
| jobId | string | Jobiba job ID (the id field from search_jobs or list_my_jobs). |
| title | string | Draft title. |
| skills | array | |
| location | string | Draft location. |
| salaryMax | number | Draft maximum pay. |
| salaryMin | number | Draft minimum pay. |
| description | string | Draft description. |
| salaryCurrency | string | Currency. |
{
"type": "object",
"properties": {
"jobId": {
"type": "string",
"description": "Jobiba job ID (the id field from search_jobs or list_my_jobs)."
},
"title": {
"type": "string",
"description": "Draft title."
},
"skills": {
"type": "array",
"items": {
"type": "string"
}
},
"location": {
"type": "string",
"description": "Draft location."
},
"salaryMax": {
"type": "number",
"minimum": 0,
"description": "Draft maximum pay."
},
"salaryMin": {
"type": "number",
"minimum": 0,
"description": "Draft minimum pay."
},
"description": {
"type": "string",
"description": "Draft description."
},
"salaryCurrency": {
"type": "string",
"maxLength": 3,
"minLength": 3,
"description": "Currency."
}
},
"additionalProperties": false
}Basic salary range from matching active Jobiba jobs. salary_research returns a fuller view (percentiles, trend, experience curve, skill premiums, cities). Not financial advice.
| Argument | Type | Description |
|---|---|---|
| query | string | |
| currency | string | |
| location | string |
{
"type": "object",
"properties": {
"query": {
"type": "string"
},
"currency": {
"type": "string"
},
"location": {
"type": "string"
}
},
"additionalProperties": false
}India pay calculators. mode 'ctc_to_in_hand' (needs annualCtc in INR) estimates monthly take-home with PF, gratuity and tax. mode 'hike' (needs currentSalary plus newSalary or hikePercent) shows the raise, real raise after inflation.
| Argument | Type | Description |
|---|---|---|
| mode* | string | Calculator. |
| annualCtc | number | Annual CTC in INR. |
| newSalary | number | New salary. |
| hikePercent | number | Hike %. |
| basicPercent | number | Basic pay as % of CTC (default 40). |
| currentSalary | number | Current salary. |
| inflationPercent | number | Inflation % for real-terms raise. |
| variablePayPercent | number | Variable pay % of CTC. |
{
"type": "object",
"required": [
"mode"
],
"properties": {
"mode": {
"enum": [
"ctc_to_in_hand",
"hike"
],
"type": "string",
"description": "Calculator."
},
"annualCtc": {
"type": "number",
"minimum": 0,
"description": "Annual CTC in INR."
},
"newSalary": {
"type": "number",
"minimum": 0,
"description": "New salary."
},
"hikePercent": {
"type": "number",
"minimum": 0,
"description": "Hike %."
},
"basicPercent": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Basic pay as % of CTC (default 40)."
},
"currentSalary": {
"type": "number",
"minimum": 0,
"description": "Current salary."
},
"inflationPercent": {
"type": "number",
"minimum": 0,
"description": "Inflation % for real-terms raise."
},
"variablePayPercent": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Variable pay % of CTC."
}
},
"additionalProperties": false
}Salary research for a role from published Jobiba salaries: market percentiles (p10-p90) with sample size and confidence, 3-year trend, pay by experience level, skills associated with higher pay, best-paying cities, live jobs that publish pay, and plain-language observations. Returns an explicit no-data result when samples are too few.
| Argument | Type | Description |
|---|---|---|
| role* | string | Role title, e.g. 'Product Manager'. |
| location | string | City or country (optional). |
| experienceLevel | string | Optional. |
{
"type": "object",
"required": [
"role"
],
"properties": {
"role": {
"type": "string",
"description": "Role title, e.g. 'Product Manager'."
},
"location": {
"type": "string",
"description": "City or country (optional)."
},
"experienceLevel": {
"enum": [
"ENTRY_LEVEL",
"MID_LEVEL",
"SENIOR_LEVEL",
"DIRECTOR",
"EXECUTIVE"
],
"type": "string",
"description": "Optional."
}
},
"additionalProperties": false
}Rank a job's active applicants by evidence-based fit (skills, experience, recency, logistics) with reasons, gaps and a shortlist/review/hold recommendation. Read-only: nobody is moved or emailed.
| Argument | Type | Description |
|---|---|---|
| jobId* | string | Jobiba job ID (the id field from search_jobs or list_my_jobs). |
| limit | integer | Max 50. |
{
"type": "object",
"required": [
"jobId"
],
"properties": {
"jobId": {
"type": "string",
"description": "Jobiba job ID (the id field from search_jobs or list_my_jobs)."
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Max 50."
}
},
"additionalProperties": false
}Search active Jobiba vacancies by role or skill keywords, location, work mode, employment type, experience level and salary range (a salary range needs a currency and pay period). Returns job cards with title, company, location, published pay, skills, a description excerpt and URLs, with paging.
| Argument | Type | Description |
|---|---|---|
| sort | string | |
| limit | integer | |
| query | string | Role, skill phrase or natural-language keywords; multiple terms are supported. |
| offset | integer | |
| jobType | string | |
| location | string | City, state, country or supported location query. |
| salaryMax | number | |
| salaryMin | number | |
| remoteType | string | |
| salaryPeriod | string |
Shortlist (bookmark) or skip a candidate from talent search; this also trains your future match ranking.
| Argument | Type | Description |
|---|---|---|
| jobId | string | Job context. |
| action* | string | What to do. |
| candidateProfileId* | string | candidateProfileId. |
{
"type": "object",
"required": [
"candidateProfileId",
"action"
],
"properties": {
"jobId": {
"type": "string",
"description": "Job context."
},
"action": {
"enum": [
"shortlist",
"skip"
],
"type": "string",
"description": "What to do."
},
"candidateProfileId": {
"type": "string",
"description": "candidateProfileId."
}
},
"additionalProperties": false
}Prices an employer plan upgrade (monthly or yearly) and returns the secure jobiba.com billing link. It does not charge anything or collect payment details; payment is completed on jobiba.com. Enterprise is handled by contacting Jobiba.
| Argument | Type | Description |
|---|---|---|
| planSlug* | string | Plan to upgrade to. |
| billingCycle | string | Billing cycle. |
{
"type": "object",
"required": [
"planSlug"
],
"properties": {
"planSlug": {
"enum": [
"STARTER",
"GROWTH",
"ENTERPRISE"
],
"type": "string",
"description": "Plan to upgrade to."
},
"billingCycle": {
"enum": [
"MONTHLY",
"YEARLY"
],
"type": "string",
"description": "Billing cycle."
}
},
"additionalProperties": false
}Moves an application to APPLIED, SCREENING, INTERVIEW, OFFERED, HIRED or REJECTED. For most stages the candidate receives the standard Jobiba status email, as in the ATS dashboard.
| Argument | Type | Description |
|---|---|---|
| status* | string | New stage. |
| applicationId* | string | Application ID from list_applicants. |
{
"type": "object",
"required": [
"applicationId",
"status"
],
"properties": {
"status": {
"enum": [
"APPLIED",
"SCREENING",
"INTERVIEW",
"OFFERED",
"HIRED",
"REJECTED"
],
"type": "string",
"description": "New stage."
},
"applicationId": {
"type": "string",
"description": "Application ID from list_applicants."
}
},
"additionalProperties": false
}Closes a job (removes it from search), reopens it within the plan's active-job limit, or extends its expiry by a number of days.
| Argument | Type | Description |
|---|---|---|
| days | integer | Days to extend/reopen for (1-90, default 30). |
| jobId* | string | Jobiba job ID (the id field from search_jobs or list_my_jobs). |
| action* | string | What to do. |
{
"type": "object",
"required": [
"jobId",
"action"
],
"properties": {
"days": {
"type": "integer",
"maximum": 90,
"minimum": 1,
"description": "Days to extend/reopen for (1-90, default 30)."
},
"jobId": {
"type": "string",
"description": "Jobiba job ID (the id field from search_jobs or list_my_jobs)."
},
"action": {
"enum": [
"close",
"reopen",
"extend"
],
"type": "string",
"description": "What to do."
}
},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 13, 2026.
| string |
| Period. |
| salaryCurrency | string | Currency. |
{
"type": "object",
"required": [
"role"
],
"properties": {
"role": {
"type": "string",
"description": "Role to hire."
},
"level": {
"type": "string",
"description": "Seniority."
},
"benefits": {
"type": "array",
"items": {
"type": "string"
}
},
"location": {
"type": "string",
"description": "Location."
},
"workMode": {
"type": "string",
"description": "remote/hybrid/on-site."
},
"aboutTeam": {
"type": "string",
"description": "Short team/company context."
},
"mustHaves": {
"type": "array",
"items": {
"type": "string"
}
},
"salaryMax": {
"type": "number",
"minimum": 0,
"description": "Max pay."
},
"salaryMin": {
"type": "number",
"minimum": 0,
"description": "Min pay."
},
"niceToHaves": {
"type": "array",
"items": {
"type": "string"
}
},
"salaryPeriod": {
"enum": [
"YEAR",
"MONTH",
"WEEK",
"DAY",
"HOUR"
],
"type": "string",
"description": "Period."
},
"salaryCurrency": {
"type": "string",
"maxLength": 3,
"minLength": 3,
"description": "Currency."
}
},
"additionalProperties": false
}| salaryPeriod |
| string |
| Period. |
| salaryCurrency | string | Currency. |
| experienceLevel | string | Level. |
{
"type": "object",
"required": [
"jobId"
],
"properties": {
"jobId": {
"type": "string",
"description": "Jobiba job ID (the id field from search_jobs or list_my_jobs)."
},
"title": {
"type": "string",
"description": "New title."
},
"skills": {
"type": "array",
"items": {
"type": "string"
}
},
"jobType": {
"enum": [
"FULL_TIME",
"PART_TIME",
"CONTRACT",
"INTERNSHIP",
"FREELANCE",
"TEMPORARY"
],
"type": "string",
"description": "Type."
},
"applyUrl": {
"type": "string",
"description": "https URL, or empty string to clear."
},
"location": {
"type": "string",
"description": "New location."
},
"salaryMax": {
"type": "number",
"minimum": 0,
"description": "Max pay."
},
"salaryMin": {
"type": "number",
"minimum": 0,
"description": "Min pay."
},
"remoteType": {
"enum": [
"REMOTE",
"HYBRID",
"ONSITE"
],
"type": "string",
"description": "Mode."
},
"description": {
"type": "string",
"description": "New description."
},
"salaryPeriod": {
"enum": [
"YEAR",
"MONTH",
"WEEK",
"DAY",
"HOUR"
],
"type": "string",
"description": "Period."
},
"salaryCurrency": {
"type": "string",
"maxLength": 3,
"minLength": 3,
"description": "Currency."
},
"experienceLevel": {
"enum": [
"ENTRY_LEVEL",
"MID_LEVEL",
"SENIOR_LEVEL",
"DIRECTOR",
"EXECUTIVE"
],
"type": "string",
"description": "Level."
}
},
"additionalProperties": false
}{
"type": "object",
"properties": {
"jobId": {
"type": "string",
"description": "Jobiba job ID (the id field from search_jobs or list_my_jobs)."
},
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "Max 25."
},
"title": {
"type": "string",
"description": "Role title if no jobId."
},
"location": {
"type": "string",
"description": "Optional."
},
"minScore": {
"type": "integer",
"maximum": 100,
"minimum": 0,
"description": "0-100 minimum match score."
},
"remoteType": {
"type": "string",
"description": "Optional."
},
"description": {
"type": "string",
"description": "Role description if no jobId."
},
"requiredSkills": {
"type": "array",
"items": {
"type": "string"
},
"description": "Must-have skills."
},
"experienceLevel": {
"type": "string",
"description": "Optional."
}
},
"additionalProperties": false
}| remoteType | string |
| description* | string | Full job description (responsibilities, requirements, benefits). |
| salaryPeriod | string |
| salaryCurrency | string |
| experienceLevel | string |
{
"type": "object",
"required": [
"title",
"description",
"location"
],
"properties": {
"city": {
"type": "string"
},
"state": {
"type": "string"
},
"title": {
"type": "string",
"description": "Job title."
},
"skills": {
"type": "array",
"items": {
"type": "string"
}
},
"country": {
"type": "string"
},
"jobType": {
"enum": [
"FULL_TIME",
"PART_TIME",
"CONTRACT",
"INTERNSHIP",
"FREELANCE",
"TEMPORARY"
],
"type": "string"
},
"applyUrl": {
"type": "string",
"description": "Optional https URL for external applications."
},
"location": {
"type": "string",
"description": "Display location, e.g. 'Pune, India'."
},
"expiresAt": {
"type": "string",
"description": "Optional ISO date when the job closes."
},
"salaryMax": {
"type": "number",
"minimum": 0
},
"salaryMin": {
"type": "number",
"minimum": 0
},
"remoteType": {
"enum": [
"REMOTE",
"HYBRID",
"ONSITE"
],
"type": "string"
},
"description": {
"type": "string",
"description": "Full job description (responsibilities, requirements, benefits)."
},
"salaryPeriod": {
"enum": [
"YEAR",
"MONTH",
"WEEK",
"DAY",
"HOUR"
],
"type": "string"
},
"salaryCurrency": {
"type": "string",
"maxLength": 3,
"minLength": 3
},
"experienceLevel": {
"enum": [
"ENTRY_LEVEL",
"MID_LEVEL",
"SENIOR_LEVEL",
"DIRECTOR",
"EXECUTIVE"
],
"type": "string"
}
},
"additionalProperties": false
}| Pay period used with salaryMin or salaryMax; required together with currency for an accurate range. |
| salaryCurrency | string | Currency used with salaryMin or salaryMax. |
| experienceLevel | string |
{
"type": "object",
"properties": {
"sort": {
"enum": [
"relevance",
"newest"
],
"type": "string"
},
"limit": {
"type": "integer",
"maximum": 20,
"minimum": 1
},
"query": {
"type": "string",
"description": "Role, skill phrase or natural-language keywords; multiple terms are supported."
},
"offset": {
"type": "integer",
"maximum": 200,
"minimum": 0
},
"jobType": {
"enum": [
"FULL_TIME",
"PART_TIME",
"CONTRACT",
"INTERNSHIP",
"FREELANCE",
"TEMPORARY"
],
"type": "string"
},
"location": {
"type": "string",
"description": "City, state, country or supported location query."
},
"salaryMax": {
"type": "number",
"minimum": 0
},
"salaryMin": {
"type": "number",
"minimum": 0
},
"remoteType": {
"enum": [
"REMOTE",
"HYBRID",
"ONSITE"
],
"type": "string"
},
"salaryPeriod": {
"enum": [
"YEAR",
"MONTH",
"WEEK",
"DAY",
"HOUR"
],
"type": "string",
"description": "Pay period used with salaryMin or salaryMax; required together with currency for an accurate range."
},
"salaryCurrency": {
"type": "string",
"maxLength": 3,
"minLength": 3,
"description": "Currency used with salaryMin or salaryMax."
},
"experienceLevel": {
"enum": [
"ENTRY_LEVEL",
"MID_LEVEL",
"SENIOR_LEVEL",
"DIRECTOR",
"EXECUTIVE"
],
"type": "string"
}
},
"additionalProperties": false
}