Jobven

Search job postings and employers from company career sites; each result returns its REST call.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
96%
Integridad del esquema
96%
Calidad de los nombres
96%
Riesgo de envenenamiento
100%
Coincidencia de permisos
90%
Cumplimiento del protocolo
100%

Hallazgos (1)

  • LOWTool 'webhook_example' suggests web access but openWorldHint=falseen webhook_example

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,518Tokens (definiciones de herramientas)
~4.9 KBTamaño de respuesta típico
Impacto moderado en la atención (1.97% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "jobven": {
      "url": "https://api.jobven.com/mcp"
    }
  }
}

Puntos de conexión remotos

https://api.jobven.com/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (5)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢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.

Esquema de entrada

{
  "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"
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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"
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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"
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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"
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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"
}

Esquema de salida

{
  "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
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada5 herramientas