# JobsAI (cz.jobsai/jobsai): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/cz.jobsai%2Fjobsai/versions/latest)
- Connected to: https://agents.jobsai.cz/v1/mcp
- Homepage: https://jobsai.cz/agenti
- Scoring rules: v2
- Tools: 22
- Average: 23.8 / 100 (Rain)
- Near-identical pairs: 0

This page shows how JobsAI (cz.jobsai/jobsai)'s tool descriptions scored, the issues found and the names of its tools and parameters. The descriptions are the server's own: read them where the copy came from.

Forecall asked the URL this server lists in the official MCP Registry for its tools/list once, on the date above, without calling any tool. The server may have changed since.

## Across the server

- Minor: The server has no instructions. Say there, once, what the server is for and when to use it: Claude Code and Gemini CLI read the instructions before the tool descriptions.

## Tools

- `search_jobs`: 8 / 100
  - Major: The description only restates the name (5 words).
  - Major: The description is too short (5 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: query, occupation, kraj, remote, page, limit.
  - Minor: String arguments with no constraint or example: query, occupation, kraj.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The meaning of the boolean argument remote is unclear.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `stream_matches`: 10 / 100
  - Major: The description only restates the name (8 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: query_id, since, candidate_pseudonym, limit_per_minute.
  - Minor: String arguments with no constraint or example: query_id, candidate_pseudonym.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_application_status`: 11 / 100
  - Major: The description only restates the name (8 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: applicationId.
  - Minor: String arguments with no constraint or example: applicationId.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: applicationId. Name the tool or the place that returns it, or models look it up first.
- `withdraw_application`: 11 / 100
  - Major: The description only restates the name (9 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: applicationId.
  - Minor: String arguments with no constraint or example: applicationId.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: applicationId. Name the tool or the place that returns it, or models look it up first.
- `list_applications`: 13 / 100
  - Major: The description only restates the name (7 words).
  - Major: The description is too short (7 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: status, limit.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_job`: 15 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: id, slug.
  - Minor: String arguments with no constraint or example: id, slug.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `archive_job`: 16 / 100
  - Major: The description only restates the name (9 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: jobId.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: jobId. Name the tool or the place that returns it, or models look it up first.
- `saved_jobs`: 17 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: action, jobId.
  - Minor: String arguments with no constraint or example: jobId.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `subscribe`: 20 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: applicationIds.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_employer_jobs`: 24 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: status, limit, page.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `confirm_job_open`: 27 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: jobId.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: jobId. Name the tool or the place that returns it, or models look it up first.
- `confirm_job_terms`: 27 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: jobId, confirmation, confirmation.expectedRevision, confirmation.fields.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: jobId. Name the tool or the place that returns it, or models look it up first.
- `create_job_draft`: 27 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: kind, titleCs, descriptionCs, salaryRange, salaryRange.min, salaryRange.max, salaryPeriod, locationKraj, remoteOk, applyMode, applyUrl.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The meaning of the boolean argument remoteOk is unclear.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_action_proposal`: 27 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: proposalId.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: proposalId. Name the tool or the place that returns it, or models look it up first.
- `get_employer_job`: 27 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: jobId.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: jobId. Name the tool or the place that returns it, or models look it up first.
- `submit_application`: 28 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: jobId, coverLetterMarkdown, useExistingCv.
  - Minor: String arguments with no constraint or example: jobId.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The meaning of the boolean argument useExistingCv is unclear.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: jobId. Name the tool or the place that returns it, or models look it up first.
- `update_job`: 30 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: jobId, expectedEditHash, changes, changes.kind, changes.titleCs, changes.descriptionCs, changes.salaryRange, changes.salaryRange.min, changes.salaryRange.max, changes.salaryPeriod, changes.locationKraj, changes.remoteOk, changes.applyMode, changes.applyUrl.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The meaning of the boolean argument changes.remoteOk is unclear.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `publish_job`: 32 / 100
  - Major: Arguments without a description: jobId.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: jobId. Name the tool or the place that returns it, or models look it up first.
- `execute_approved_action`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: proposalId.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: proposalId. Name the tool or the place that returns it, or models look it up first.
- `update_job_terms`: 37 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: jobId, terms, terms.expectedRevision, terms.salaryBasis, terms.bonusDescription, terms.shifts, terms.startWindow, terms.training, terms.remoteMode, terms.branchId.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: jobId. Name the tool or the place that returns it, or models look it up first.
- `propose_action`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_employer_branches`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.

Is your server listed here and you would rather it were not? Email support@forecall.dev, and we will take it off within 7 days.

[All scored servers](https://forecall.dev/en/servers)
