Jobs by Workable
Jobs by Workable MCP server. Access over 150K jobs & thousands of companies listed on the job board.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"jobs-by-workable": {
"url": "https://jobs.workable.com/mcp"
}
}
}Remote endpoints
https://jobs.workable.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (10)
🟢search_jobs(query, location, workplace, employment_type, day_range, ...)
Search published jobs on the Workable job board.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Free-text search across job title, description, skills, company, name"
},
"location": {
"type": "string",
"description": "City, region, or country to filter by"
},
"workplace": {
"type": "array",
"items": {
"type": "string",
"enum": [
"on_site",
"hybrid",
"remote"
]
},
"description": "Filter by workplace types"
},
"employment_type": {
"type": "array",
"items": {
"type": "string",
"enum": [
"full",
"part",
"contract",
"temporary",
"internship"
]
},
"description": "Filter by employment types"
},
"day_range": {
"type": "integer",
"minimum": 0,
"description": "Restrict to jobs posted in the last N days"
},
"companyId": {
"type": "string",
"description": "Restrict to a single company by id"
},
"pageToken": {
"type": "string",
"description": "Opaque cursor returned as nextPageToken from a previous call; pass with the same filters to fetch the next page"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"totalItems": {
"type": "number"
},
"jobs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uid": {
"type": "string"
},
"title": {
"type": "string"
},
"location": {
"type": "string"
},
"workplace": {
"type": "string",
"enum": [
"on_site",
"hybrid",
"remote"
]
},
"employmentType": {
"type": "string"
},
"url": {
"type": "string"
},
"company": {
"type": "object",
"properties": {
"name": {
"type": [
"string",
"null"
]
},
"id": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
"remote": {
"type": "boolean"
},
"description": {
"type": "string"
},
"requirements": {
"type": "string"
},
"benefits": {
"type": "string"
},
"department": {
"type": "string"
}
},
"required": [
"title",
"location"
],
"additionalProperties": false
}
},
"nextPageToken": {
"type": "string"
}
},
"required": [
"totalItems",
"jobs"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_job(uid)
Get the full details of a single published job by its advertising UID.
Input Schema
{
"type": "object",
"properties": {
"uid": {
"type": "string",
"description": "Advertising UUID of the job (accepts full or shortened form)"
}
},
"required": [
"uid"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"uid": {
"type": "string"
},
"title": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"requirements": {
"type": [
"string",
"null"
]
},
"benefits": {
"type": [
"string",
"null"
]
},
"workplace": {
"type": [
"string",
"null"
]
},
"employmentType": {
"type": [
"string",
"null"
]
},
"department": {
"type": [
"string",
"null"
]
},
"location": {
"anyOf": [
{
"type": "object",
"properties": {
"city": {
"type": [
"string",
"null"
]
},
"country_name": {
"type": [
"string",
"null"
]
},
"country_code": {
"type": [
"string",
"null"
]
},
"state_code": {
"type": [
"string",
"null"
]
},
"subregion": {
"type": [
"string",
"null"
]
},
"zip_code": {
"type": [
"string",
"null"
]
},
"coords": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"company": {
"anyOf": [
{
"type": "object",
"properties": {
"name": {
"type": [
"string",
"null"
]
},
"id": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"applyUrl": {
"type": "string"
}
},
"required": [
"uid",
"title"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_company(companyId)
Get the full profile of a company by its id (Workable UUID or database _id), including open job listings.
Input Schema
{
"type": "object",
"properties": {
"companyId": {
"type": "string",
"description": "Company id — accepts either the Workable UUID or the database _id (returned as company.id by other tools)"
}
},
"required": [
"companyId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"logo": {
"type": [
"string",
"null"
]
},
"description": {
"type": "string"
},
"website": {
"type": [
"string",
"null"
]
},
"openJobCount": {
"type": "number"
},
"openJobs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uid": {
"type": "string"
},
"title": {
"type": "string"
},
"location": {
"type": "string"
},
"workplace": {
"type": "string",
"enum": [
"on_site",
"hybrid",
"remote"
]
},
"employmentType": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"title",
"location"
],
"additionalProperties": false
}
},
"openJobsUrl": {
"type": "string"
}
},
"required": [
"id",
"name",
"slug",
"openJobCount",
"openJobs",
"openJobsUrl"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_job_locations(query, size, after)
List city/country pairs where jobs are published. Optionally filter by a partial city or country name. Supports pagination via after_key.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Partial city or country name to filter by (case-insensitive prefix match)"
},
"size": {
"type": "integer",
"minimum": 1,
"maximum": 150,
"description": "Maximum number of location buckets to return (default 100)"
},
"after": {
"type": "object",
"properties": {
"city": {
"type": [
"string",
"null"
]
},
"country": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false,
"description": "Pagination cursor from a previous response after_key"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"locations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"city": {
"type": [
"string",
"null"
]
},
"country": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
}
},
"after_key": {
"type": "object",
"properties": {
"city": {
"type": [
"string",
"null"
]
},
"country": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
}
},
"required": [
"locations"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_my_profile
Get your candidate profile: name, contact details, headline, summary, resume, education and experience.
Input Schema
{
"type": "object",
"properties": {}
}Output Schema
{
"type": "object",
"properties": {
"firstname": {
"type": "string"
},
"lastname": {
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"address": {
"type": "string"
},
"headline": {
"type": "string"
},
"summary": {
"type": "string"
},
"coverLetter": {
"type": "string"
},
"resume": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"url": {
"type": "string"
}
},
"additionalProperties": false
},
"education": {
"type": "array",
"items": {
"type": "object",
"properties": {
"school": {
"type": "string",
"description": "School or university name"
},
"degree": {
"type": "string",
"description": "e.g. BSc, MSc, PhD"
},
"field_of_study": {
"type": "string"
},
"start_date": {
"type": "string",
"description": "ISO date, e.g. 2019-09-01"
},
"end_date": {
"type": "string",
"description": "ISO date; omit if ongoing"
}
},
"additionalProperties": false
}
},
"experience": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Job title"
},
"company": {
"type": "string",
"description": "Company name"
},
"industry": {
"type": "string"
},
"summary": {
"type": "string",
"description": "Role description"
},
"start_date": {
"type": "string",
"description": "ISO date, e.g. 2020-01-01"
},
"end_date": {
"type": "string",
"description": "ISO date; omit if current role"
},
"current": {
"type": "boolean",
"description": "Set true if this is the current role"
}
},
"additionalProperties": false
}
}
},
"required": [
"email"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴update_my_profile(firstname, lastname, phone, address, education, ...)
Update your candidate profile: name, phone, location, education, and work experience.
Input Schema
{
"type": "object",
"properties": {
"firstname": {
"type": "string",
"description": "First name"
},
"lastname": {
"type": "string",
"description": "Last name"
},
"phone": {
"type": "string",
"description": "Phone number"
},
"address": {
"type": "string",
"description": "Postal address or location"
},
"education": {
"type": "array",
"items": {
"type": "object",
"properties": {
"school": {
"type": "string",
"description": "School or university name"
},
"degree": {
"type": "string",
"description": "e.g. BSc, MSc, PhD"
},
"field_of_study": {
"type": "string"
},
"start_date": {
"type": "string",
"description": "ISO date, e.g. 2019-09-01"
},
"end_date": {
"type": "string",
"description": "ISO date; omit if ongoing"
}
},
"required": [
"school"
],
"additionalProperties": false
},
"description": "Full education history — replaces existing list"
},
"experience": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Job title"
},
"company": {
"type": "string",
"description": "Company name"
},
"industry": {
"type": "string"
},
"summary": {
"type": "string",
"description": "Role description"
},
"start_date": {
"type": "string",
"description": "ISO date, e.g. 2020-01-01"
},
"end_date": {
"type": "string",
"description": "ISO date; omit if current role"
},
"current": {
"type": "boolean",
"description": "Set true if this is the current role"
}
},
"required": [
"title",
"company"
],
"additionalProperties": false
},
"description": "Full work experience — replaces existing list"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"firstname": {
"type": "string"
},
"lastname": {
"type": "string"
},
"phone": {
"type": "string"
},
"address": {
"type": "string"
},
"education": {
"type": "array",
"items": {
"type": "object",
"properties": {
"school": {
"type": "string",
"description": "School or university name"
},
"degree": {
"type": "string",
"description": "e.g. BSc, MSc, PhD"
},
"field_of_study": {
"type": "string"
},
"start_date": {
"type": "string",
"description": "ISO date, e.g. 2019-09-01"
},
"end_date": {
"type": "string",
"description": "ISO date; omit if ongoing"
}
},
"additionalProperties": false
}
},
"experience": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Job title"
},
"company": {
"type": "string",
"description": "Company name"
},
"industry": {
"type": "string"
},
"summary": {
"type": "string",
"description": "Role description"
},
"start_date": {
"type": "string",
"description": "ISO date, e.g. 2020-01-01"
},
"end_date": {
"type": "string",
"description": "ISO date; omit if current role"
},
"current": {
"type": "boolean",
"description": "Set true if this is the current role"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_my_applications(page)
List your submitted job applications, most recent first, paginated. Each item includes jobOpen, indicating whether the job is still open, and isWithdrawable, indicating whether the application can be withdrawn via the withdraw_application tool. If isWithdrawable is false, the application cannot be withdrawn from MCP; it can still be withdrawn from the confirmation email sent when applying. Recruiting-pipeline stages (in_review, interviewed, offered, rejected) are not tracked here.
Input Schema
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"minimum": 1,
"default": 1,
"description": "1-based page number; 10 applications per page (default 1)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"totalItems": {
"type": "number"
},
"page": {
"type": "number"
},
"pageSize": {
"type": "number"
},
"totalPages": {
"type": "number"
},
"hasMore": {
"type": "boolean"
},
"applications": {
"type": "array",
"items": {
"type": "object",
"properties": {
"applicationId": {
"type": "string",
"description": "Application identifier (use with withdraw_application)"
},
"uid": {
"type": "string",
"description": "Job/posting identifier (use with get_job)"
},
"title": {
"type": "string"
},
"company": {
"type": "object",
"properties": {
"name": {
"type": [
"string",
"null"
]
},
"id": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
"location": {
"type": "string"
},
"workplace": {
"type": "string"
},
"employmentType": {
"type": "string"
},
"applicationDate": {
"type": "string",
"description": "ISO date the application was submitted"
},
"jobOpen": {
"type": "boolean",
"description": "Whether the job is still active/open"
},
"isWithdrawable": {
"type": "boolean",
"description": "Whether this application can be withdrawn via the withdraw_application MCP tool. If false, it cannot be withdrawn from MCP; it can still be withdrawn from the confirmation email sent when applying."
},
"url": {
"type": "string"
}
},
"required": [
"applicationId",
"uid",
"title",
"location",
"applicationDate",
"jobOpen",
"isWithdrawable"
],
"additionalProperties": false
}
}
},
"required": [
"totalItems",
"page",
"pageSize",
"totalPages",
"hasMore",
"applications"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_recommendations(limit, pageToken)
Get personalized job recommendations for you. Recommendations are matched to your profile (skills, education, experience) and exclude jobs you have already applied to. If your profile is incomplete, recommendations fall back to jobs near your location.
Input Schema
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 10,
"description": "Number of recommendations to return (default 10)"
},
"pageToken": {
"type": "string",
"description": "Opaque cursor returned as nextPageToken from a previous call; pass it to fetch the next page"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"jobs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uid": {
"type": "string"
},
"title": {
"type": "string"
},
"location": {
"type": "string"
},
"workplace": {
"type": "string",
"enum": [
"on_site",
"hybrid",
"remote"
]
},
"employmentType": {
"type": "string"
},
"url": {
"type": "string"
},
"company": {
"type": "object",
"properties": {
"name": {
"type": [
"string",
"null"
]
},
"id": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
"remote": {
"type": "boolean"
}
},
"required": [
"title",
"location"
],
"additionalProperties": false
}
},
"nextPageToken": {
"type": "string"
}
},
"required": [
"jobs"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_recent_searches
List popular/recent job search terms, tailored to your last known location, with a URL to run each search.
Input Schema
{
"type": "object",
"properties": {}
}Output Schema
{
"type": "object",
"properties": {
"searches": {
"type": "array",
"items": {
"type": "object",
"properties": {
"query": {
"type": "string"
},
"location": {
"type": "string"
},
"display": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"query",
"display",
"url"
],
"additionalProperties": false
}
}
},
"required": [
"searches"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴withdraw_application(applicationId)
Withdraw one of your submitted job applications by its application id. This action cannot be undone from here.
Input Schema
{
"type": "object",
"properties": {
"applicationId": {
"type": "string",
"description": "Application identifier, as returned by get_my_applications. Only applications with isWithdrawable true can be withdrawn via this tool"
}
},
"required": [
"applicationId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"applicationId": {
"type": "string"
},
"withdrawn": {
"type": "boolean"
}
},
"required": [
"applicationId",
"withdrawn"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence