Jobven
Search job postings and employers from company career sites; each result returns its REST call.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (1)
- LOWin webhook_example
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"jobven": {
"url": "https://api.jobven.com/mcp"
}
}
}Remote-Endpunkte
https://api.jobven.com/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (5)
🟢search_jobs(q, descriptionQuery, remoteType, experienceLevel, employmentType, ...)
Search Jobven job postings with the filters of GET /v1/public/jobs. Returns 10 jobs by default (at most 25) with a plain-text excerpt of each description; get_job has the full text. Pass nextCursor back as cursor, with the same filters, for the next page. Each job returned counts toward the monthly allowance.
Eingabe-Schema
{
"type": "object",
"properties": {
"q": {
"description": "Search job titles by whole word. Words are ANDed in any order; \"double quotes\" match an exact phrase, OR matches either side, and a leading - excludes a word. Case-insensitive. Does not search descriptions (see descriptionQuery).",
"type": "string",
"maxLength": 200
},
"descriptionQuery": {
"description": "Search job descriptions for a whole-word phrase, matched literally, case-insensitive. Slower than the other filters; pair it with postedAfter.",
"type": "string",
"maxLength": 200
},
"remoteType": {
"description": "Remote type, any of",
"minItems": 1,
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"enum": [
"onsite",
"remote",
"hybrid",
"flexible"
]
}
},
"experienceLevel": {
"description": "Experience level, any of",
"minItems": 1,
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"enum": [
"entry",
"mid",
"senior",
"lead",
"executive"
]
}
},
"employmentType": {
"description": "Employment type, any of",
"minItems": 1,
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"enum": [
"full_time",
"part_time",
"contract",
"internship",
"seasonal",
"volunteer",
"temporary",
"per_diem",
"other"
]
}
},
"skills": {
"description": "Skills, any of (up to 10), e.g. [\"typescript\", \"react\"]",
"minItems": 1,
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"industry": {
"description": "Industries, any of (up to 10)",
"minItems": 1,
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"language": {
"description": "Required spoken language, ISO 639-1 code, e.g. \"fr\"",
"type": "string",
"minLength": 2,
"maxLength": 2
},
"location": {
"description": "Free-text location: city, region or country",
"type": "string",
"maxLength": 200
},
"country": {
"description": "ISO 3166-1 alpha-2 country code, e.g. \"US\", \"CA\", \"GB\". \"XX\" matches jobs with no location at all.",
"type": "string",
"maxLength": 2
},
"state": {
"description": "State, province or region, comma-separated: full name (\"Ontario\") or, for the US and Canada, the postal code (\"ON\")",
"type": "string",
"maxLength": 500
},
"city": {
"description": "City, comma-separated; case and accents are ignored",
"type": "string",
"maxLength": 500
},
"minSalary": {
"description": "Minimum stated salary",
"type": "number",
"minimum": 0
},
"maxSalary": {
"description": "Maximum stated salary",
"type": "number",
"minimum": 0
},
"hasVisaSponsorship": {
"description": "true: postings that offer visa sponsorship; false: postings that say they do not",
"type": "boolean"
},
"hasRelocation": {
"description": "true: postings that offer relocation help; false: postings that say they do not",
"type": "boolean"
},
"status": {
"description": "\"active\" (the default) or \"closed\"",
"type": "string",
"enum": [
"active",
"closed"
]
},
"postedAfter": {
"description": "Posted at or after (Unix seconds)",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"postedBefore": {
"description": "Posted before (Unix seconds)",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"listedAfter": {
"description": "Listed at or after (Unix seconds), by listedAt: for incremental sync",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"sortBy": {
"description": "Sort field (default postedAt)",
"type": "string",
"enum": [
"postedAt",
"listedAt",
"title",
"company"
]
},
"order": {
"description": "Default DESC",
"type": "string",
"enum": [
"ASC",
"DESC"
]
},
"includeTotal": {
"description": "Also count every match (slower)",
"type": "boolean"
},
"cursor": {
"description": "nextCursor from the previous search_jobs result, same filters",
"type": "string",
"maxLength": 1000
},
"limit": {
"description": "Jobs per page, default 10, at most 25",
"type": "integer",
"minimum": 1,
"maximum": 25
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"jobs": {
"type": "array",
"items": {
"type": "object",
"properties": {},
"additionalProperties": {}
}
},
"hasMore": {
"type": "boolean"
},
"nextCursor": {
"type": "string"
},
"total": {
"type": "number"
},
"request": {
"type": "object",
"properties": {
"method": {
"type": "string",
"const": "GET"
},
"url": {
"type": "string"
},
"curl": {
"type": "string"
}
},
"required": [
"method",
"url",
"curl"
],
"additionalProperties": false,
"description": "The REST call this result came from. curl reads the key from $JOBVEN_API_KEY."
}
},
"required": [
"jobs",
"hasMore",
"request"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_job(id, descriptionFormat)
One Jobven job posting by id, with the full description (GET /v1/public/jobs/{id}). Counts as one job toward the monthly allowance.
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "A job id from search_jobs"
},
"descriptionFormat": {
"description": "Description as plain text (default) or markdown",
"type": "string",
"enum": [
"plain",
"markdown"
]
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"job": {
"type": "object",
"properties": {},
"additionalProperties": {}
},
"request": {
"type": "object",
"properties": {
"method": {
"type": "string",
"const": "GET"
},
"url": {
"type": "string"
},
"curl": {
"type": "string"
}
},
"required": [
"method",
"url",
"curl"
],
"additionalProperties": false,
"description": "The REST call this result came from. curl reads the key from $JOBVEN_API_KEY."
}
},
"required": [
"job",
"request"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢search_companies(search, industry, size, status, isVerified, ...)
Search the employers Jobven collects jobs from (GET /v1/public/companies). Free: company searches do not count toward the allowance.
Eingabe-Schema
{
"type": "object",
"properties": {
"search": {
"description": "Company name or description contains this text",
"type": "string",
"maxLength": 200
},
"industry": {
"description": "Industry, e.g. \"Technology\"",
"type": "string",
"maxLength": 100
},
"size": {
"description": "Company size band, e.g. \"51-200\"",
"type": "string",
"maxLength": 50
},
"status": {
"description": "\"active\" or \"inactive\"; both when unset",
"type": "string",
"enum": [
"active",
"inactive"
]
},
"isVerified": {
"description": "Only verified, or only unverified, companies",
"type": "boolean"
},
"sortBy": {
"description": "Sort field",
"type": "string",
"enum": [
"name",
"foundedYear",
"totalJobsPosted",
"activeJobsCount",
"createdAt"
]
},
"sortOrder": {
"type": "string",
"enum": [
"ASC",
"DESC"
]
},
"page": {
"description": "Page number, from 1",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"limit": {
"description": "Companies per page, default 10, at most 25",
"type": "integer",
"minimum": 1,
"maximum": 25
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"companies": {
"type": "array",
"items": {
"type": "object",
"properties": {},
"additionalProperties": {}
}
},
"request": {
"type": "object",
"properties": {
"method": {
"type": "string",
"const": "GET"
},
"url": {
"type": "string"
},
"curl": {
"type": "string"
}
},
"required": [
"method",
"url",
"curl"
],
"additionalProperties": false,
"description": "The REST call this result came from. curl reads the key from $JOBVEN_API_KEY."
}
},
"required": [
"companies",
"request"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": {}
}🟢get_company(id)
One employer by id (GET /v1/public/companies/{id}). Free.
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": 1,
"maximum": 2147483647,
"description": "A company id from search_companies"
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"company": {
"type": "object",
"properties": {},
"additionalProperties": {}
},
"request": {
"type": "object",
"properties": {
"method": {
"type": "string",
"const": "GET"
},
"url": {
"type": "string"
},
"curl": {
"type": "string"
}
},
"required": [
"method",
"url",
"curl"
],
"additionalProperties": false,
"description": "The REST call this result came from. curl reads the key from $JOBVEN_API_KEY."
}
},
"required": [
"company",
"request"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢webhook_example(event, language)
A sample Jobven webhook delivery for one event: the raw body and headers exactly as a receiver gets them, signed with an example secret, plus the signature verifier from the webhook docs in TypeScript, Python or Go. The verifier accepts the sample, so a receiver can be tested end to end. No API call, no key needed, free.
Eingabe-Schema
{
"type": "object",
"properties": {
"event": {
"type": "string",
"enum": [
"job.created",
"job.updated",
"job.closed",
"job.deleted"
],
"description": "The event to show a delivery of"
},
"language": {
"type": "string",
"enum": [
"typescript",
"python",
"go"
],
"description": "Language of the signature verifier"
}
},
"required": [
"event",
"language"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"event": {
"type": "string"
},
"language": {
"type": "string"
},
"rawBody": {
"type": "string"
},
"headers": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"exampleSecret": {
"type": "string"
},
"verifier": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"event",
"language",
"rawBody",
"headers",
"exampleSecret",
"verifier",
"note"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Community
Nachweis