mcp-registry/cz.jobsai/jobsai · v0.0.0
As of 2026-10-26 23:14 UTC, the Jobsai MCP server is up with a Glimind reliability score of 89/100 (grade B). Over the last 30 days it answered 99.9% of Glimind's liveness checks. It had 6 outages in 90 days, with a median recovery of 7 minutes.
Czech AI job board: search live listings, read job details, apply for a consenting candidate.
Point your MCP client at this streamable-http endpoint: https://agents.jobsai.cz/v1/mcp
2 tool definition(s) exceed ~1,200 tokens each (largest: propose_action, ~2,615).
Move long reference material out of descriptions (link a doc or expose a resource), drop repeated examples, and collapse large enums. Trimming these to ~600 tokens saves ~3,933 tokens every session. How to fix →
22 of 22 tool(s) carry no readOnlyHint/destructiveHint annotations.
Annotate read-only tools with {"readOnlyHint": true}. Agents and gateways can then run them without a confirmation prompt, and route around destructive ones. How to fix →
47 parameter(s) across 20 tool(s) have no description.
Add a "description" to each parameter with its format and an example ("ISO 8601 date, e.g. 2026-10-17"). This is the commonest cause of wrong arguments on the first call. How to fix →
7 tool(s) look like they change state (create/send/delete/pay…) but declare no destructiveHint.
Set annotations {"readOnlyHint": false, "destructiveHint": true|false, "idempotentHint": …}. Clients use these to ask the user before a side effect and to auto-approve safe reads. How to fix →
No tool declares an outputSchema.
Declare outputSchema and return structuredContent (MCP 2025-06-18+). Agents can then parse results without guessing, and chain tools reliably. How to fix →
Runs commands or code supplied by the model. Legitimate for dev tools; clients should require confirmation. Example (execute_approved_action, name): "execute_approved_action(command, proposalId)"
Declare destructiveHint/readOnlyHint on these tools and say plainly in the description what runs, where, and with what limits. How to fix →
Paste-ready definitions with the problems above fixed. Changes marked verify need a human look. 20 tool(s) still need parameter descriptions written by someone who knows the API. All of them as JSON: /v1/readiness/mcp-registry%2Fcz.jobsai%2Fjobsai/fixes
{
"name": "archive_job",
"description": "Archive (unpublish) a job posting of the represented company.",
"inputSchema": {
"type": "object",
"required": [
"jobId"
],
"properties": {
"jobId": {
"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)$"
}
},
"additionalProperties": false
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": true
}
}{
"name": "create_job_draft",
"description": "Create a draft job posting for the represented company. Nothing is public until publish_job.",
"inputSchema": {
"type": "object",
"required": [
"kind",
"titleCs",
"descriptionCs",
"locationKraj",
"remoteOk"
],
"properties": {
"kind": {
"enum": [
"hpp",
"dpp",
"dpc",
"brigada",
"freelance"
],
"type": "string"
},
"titleCs": {
"type": "string",
"maxLength": 200,
"minLength": 3
},
"applyUrl": {
"type": "string",
"maxLength": 500
},
"remoteOk": {
"type": "boolean"
},
"applyMode": {
"enum": [
"internal",
"external"
],
"type": "string",
"default": "internal"
},
"salaryRange": {
"type": "object",
"required": [
"min",
"max"
],
"properties": {
"max": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"min": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
}
}
},
"locationKraj": {
"enum": [
"Hlavní město Praha",
"Středočeský kraj",
"Jihočeský kraj",
"Plzeňský kraj",
"Karlovarský kraj",
"Ústecký kraj",
"Liberecký kraj",
"Královéhradecký kraj",
"Pardubický kraj",
"Kraj Vysočina",
"Jihomoravský kraj",
"Olomoucký kraj",
"Zlínský kraj",
"Moravskoslezský kraj"
],
"type": "string"
},
"salaryPeriod": {
"enum": [
"MONTHLY",
"HOURLY"
],
"type": "string",
"default": "MONTHLY"
},
"descriptionCs": {
"type": "string",
"maxLength": 20000,
"minLength": 20
}
},
"description": "Creates a DRAFT job of the represented company. descriptionCs is plain text or Markdown in Czech (HTML is stripped). salaryRange is optional for a draft but required to publish.",
"additionalProperties": false
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false
}
}{
"name": "execute_approved_action",
"description": "Execute exactly the command the candidate confirmed, once, while the approval is valid.",
"inputSchema": {
"type": "object",
"required": [
"proposalId"
],
"properties": {
"command": {
"oneOf": [
{
"type": "object",
"required": [
"actionType",
"command"
],
"properties": {
"command": {
"type": "object",
"required": [
"expectedRevision"
],
"properties": {
"nightWork": {
"anyOf": [
{
"enum": [
"allowed",
"excluded"
],
"type": "string"
},
{
"type": "null"
}
]
},
"priorities": {
"type": "object",
"properties": {
"remote": {
"anyOf": [
{
"enum": [
"preferred",
"required"
],
"type": "string"
},
{
"type": "null"
}
]
},
"salary": {
"anyOf": [
{
"enum": [
"preferred",
"required"
],
"type": "string"
},
{
"type": "null"
}
]
},
"shifts": {
"anyOf": [
{
"enum": [
"preferred",
"required"
],
"type": "string"
},
{
"type": "null"
}
]
},
"commute": {
"anyOf": [
{
"enum": [
"preferred",
"required"
],
"type": "string"
},
{
"type": "null"
}
]
},
"location": {
"anyOf": [
{
"enum": [
"preferred",
"required"
],
"type": "string"
},
{
"type": "null"
}
]
},
"employment": {
"anyOf": [
{
"enum": [
"preferred",
"required"
],
"type": "string"
},
{
"type": "null"
}
]
},
"availability": {
"anyOf": [
{
"enum": [
"preferred",
"required"
],
"type": "string"
},
{
"type": "null"
}
]
},
"workingHours": {
"anyOf": [
{
"enum": [
"preferred",
"required"
],
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
},
"weekendWork": {
"anyOf": [
{
"enum": [
"allowed",
"excluded"
],
"type": "string"
},
{
"type": "null"
}
]
},
"commuteModes": {
"anyOf": [
{
"type": "array",
"items": {
"enum": [
"car",
"transit",
"bicycle",
"walk"
],
"type": "string"
},
"maxItems": 4,
"minItems": 1
},
{
"type": "null"
}
]
},
"confirmExisting": {
"type": "object",
"properties": {
"remotePref": {
"enum": [
"ONSITE",
"HYBRID",
"REMOTE"
],
"type": "string"
},
"workingHoursPref": {
"enum": [
"FULL_TIME",
"PART_TIME",
"CONTRACT",
"DPP_DPC"
],
"type": "string"
}
},
"additionalProperties": false
},
"expectedRevision": {
"type": "integer",
"maximum": 2147483647,
"minimum": 0
},
"maxCommuteMinutes": {
"anyOf": [
{
"type": "integer",
"maximum": 240,
"minimum": 1
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
},
"actionType": {
"type": "string",
"const": "CANDIDATE_REQUIREMENTS_UPDATE"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"actionType",
"command"
],
"properties": {
"command": {
"type": "object",
"required": [
"jobId",
"topic",
"expectedTermsRevision"
],
"properties": {
"jobId": {
"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)$"
},
"topic": {
"enum": [
"salary",
"shifts",
"start_window",
"training"
],
"type": "string"
},
"channels": {
"type": "array",
"items": {
"enum": [
"email",
"push"
],
"type": "string"
},
"maxItems": 2
},
"expectedTermsRevision": {
"type": "integer",
"maximum": 2147483647,
"minimum": 0
}
},
"additionalProperties": false
},
"actionType": {
"type": "string",
"const": "JOB_QUESTION_OPEN"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"actionType",
"command"
],
"properties": {
"command": {
"type": "object",
"required": [
"questionId"
],
"properties": {
"questionId": {
"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)$"
}
},
"additionalProperties": false
},
"actionType": {
"type": "string",
"const": "JOB_QUESTION_WITHDRAW"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"actionType",
"command"
],
"properties": {
"command": {
"type": "object",
"required": [
"jobId",
"previous",
"cvId",
"coverLetterMarkdown",
"coverLetterAiAssisted"
],
"properties": {
"cvId": {
"anyOf": [
{
"type": "string",
"format": "cuid",
"pattern": "^[cC][0-9a-z]{6,}$"
},
{
"type": "null"
}
]
},
"jobId": {
"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)$"
},
"previous": {
"anyOf": [
{
"type": "object",
"required": [
"id",
"submissionVersion"
],
"properties": {
"id": {
"type": "string",
"format": "cuid",
"pattern": "^[cC][0-9a-z]{6,}$"
},
"submissionVersion": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"coverLetterAiModel": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"coverLetterMarkdown": {
"anyOf": [
{
"type": "string",
"maxLength": 20000
},
{
"type": "null"
}
]
},
"coverLetterAiAssisted": {
"type": "boolean"
}
},
"additionalProperties": false
},
"actionType": {
"type": "string",
"const": "APPLICATION_SUBMIT"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"actionType",
"interviewId",
"command"
],
"properties": {
"command": {
"type": "object",
"required": [
"submissionVersion",
"expectedRevision",
"expectedProposalRevision",
"slotId"
],
"properties": {
"slotId": {
"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)$"
},
"expectedRevision": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"submissionVersion": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"expectedProposalRevision": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
"actionType": {
"type": "string",
"const": "INTERVIEW_ACCEPT"
},
"interviewId": {
"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)$"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"actionType",
"interviewId",
"command"
],
"properties": {
"command": {
"type": "object",
"required": [
"submissionVersion",
"expectedRevision",
"expectedProposalRevision",
"reason"
],
"properties": {
"reason": {
"type": "string",
"maxLength": 1000,
"minLength": 1
},
"expectedRevision": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"submissionVersion": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"expectedProposalRevision": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
"actionType": {
"type": "string",
"const": "INTERVIEW_DECLINE"
},
"interviewId": {
"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)$"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"actionType",
"command"
],
"properties": {
"command": {
"type": "object",
"required": [
"applicationId",
"submissionVersion",
"expectedRevision",
"expiresAt",
"slots"
],
"properties": {
"slots": {
"type": "array",
"items": {
"type": "object",
"required": [
"startsAt",
"endsAt",
"timeZone"
],
"properties": {
"endsAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
},
"startsAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
},
"timeZone": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
},
"additionalProperties": false
},
"maxItems": 20,
"minItems": 1
},
"expiresAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
},
"applicationId": {
"type": "string",
"format": "cuid",
"pattern": "^[cC][0-9a-z]{6,}$"
},
"expectedRevision": {
"type": "integer",
"maximum": 2147483647,
"minimum": 0
},
"submissionVersion": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
"actionType": {
"type": "string",
"const": "INTERVIEW_PROPOSE"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"actionType",
"interviewId",
"command"
],
"properties": {
"command": {
"type": "object",
"required": [
"submissionVersion",
"expectedRevision",
"reason"
],
"properties": {
"reason": {
"type": "string",
"maxLength": 1000,
"minLength": 1
},
"expectedRevision": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"submissionVersion": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
"actionType": {
"type": "string",
"const": "INTERVIEW_CANCEL"
},
"interviewId": {
"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)$"
}
},
"additionalProperties": false
}
],
"description": "Optional: must equal the confirmed command (including the candidate's edits); otherwise approval_mismatch. Same shape as propose_action.command."
},
"proposalId": {
"type": "string",
"format": "uuid"
}
},
"additionalProperties": false
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false
}
}Get an email or webhook when this server's readiness drops by 10+ points, tool-poisoning text appears, or a tool breaks:
curl -X POST https://glimind.com/v1/subscriptions -H 'content-type: application/json' -d '{"tools":["mcp-registry/cz.jobsai/jobsai"],"email":"[email protected]"}'Agents: watch_tool({"toolId": "mcp-registry/cz.jobsai/jobsai"}) over MCP.
propose_action ~2,615 tokensexecute_approved_action ~2,518 tokensupdate_job_terms ~717 tokensupdate_job ~526 tokenscreate_job_draft ~395 tokensStatic checks of the advertised tools/list (schema, descriptions, annotations, tool-poisoning patterns, names, size) plus observed protocol, uptime, latency and contract changes. Read-only: no tool is ever called. Weights: schema 15, docs 20, safety 15, efficiency 15, compatibility 15, protocol 5, reliability 10, stability 5. Token counts are estimates (~3.6 characters per token).
Operator? Fix these, then re-check live. Embed the readiness badge:
[](https://glimind.com/server/mcp-registry%2Fcz.jobsai%2Fjobsai?ref=badge)
<a href="https://glimind.com/server/mcp-registry%2Fcz.jobsai%2Fjobsai?ref=badge"><img src="https://glimind.com/v1/readiness/badge/mcp-registry%2Fcz.jobsai%2Fjobsai.svg" alt="MCP agent-readiness"></a>
.. image:: https://glimind.com/v1/readiness/badge/mcp-registry%2Fcz.jobsai%2Fjobsai.svg :target: https://glimind.com/server/mcp-registry%2Fcz.jobsai%2Fjobsai?ref=badge :alt: MCP agent-readiness
Glimind records every version of this server's tool definitions in a signed, append-only transparency log. Current manifest sha256:b8a841d51e2fb2ea…, first seen 2026-10-22, included at leaf 43442 of 76,028. Version history · verify what your client received.
Compare: most reliable productivity servers · most reliable data servers · most reliable other servers · most reliable search servers · most reliable communication servers
Glimind tells agents whether a server is up right now and how to call it, then fails over to a live alternative when it isn't.
Claude Code
claude mcp add --transport http glimind https://glimind.com/mcp
Claude Desktop · Windsurf · Cline (mcpServers JSON)
{
"mcpServers": {
"glimind": {
"type": "http",
"url": "https://glimind.com/mcp"
}
}
}
As of 2026-10-26 23:14 UTC, the Jobsai MCP server is up with a Glimind reliability score of 89/100 (grade B). Over the last 30 days it answered 99.9% of Glimind's liveness checks. It had 6 outages in 90 days, with a median recovery of 7 minutes.
Jobsai MCP server advertises 22 tools, including archive_job, confirm_job_open, confirm_job_terms, create_job_draft, execute_approved_action.
Point your MCP client at this streamable-http endpoint: https://agents.jobsai.cz/v1/mcp
Glimind scanned all 22 tool definitions for tool-poisoning patterns — hidden or invisible characters, instructions that override the model, concealment from the user, requests to read credential or MCP config files, conversation exfiltration and cross-tool shadowing — and found none. This checks what the server tells the model, not what its code does; review the source before granting access to sensitive data.
Status page: 90-day uptime, every outage and how long it lasted.
Claim this listing to get the Verified operator marker, a remediation checklist and owner analytics, or embed the live badge from any of the tool pages above. Maintainers: alerts, deploy attestation and monthly reports.
Status is an automated estimate from Glimind's liveness checks (handshake and tool listing only; no tool is ever called) and may lag or differ from your network. Glimind is not affiliated with this server or its operator. Operator? Request a correction or opt out at https://glimind.com/opt-out.