Skip to main content
Glama

validate_job_posting

Validate job-posting JSON against the JobPosting schema and return field-level errors for correction.

Instructions

Pass the ENTIRE job posting as ONE argument, posting: a JSON string, e.g. {"posting": "{"title": "...", ...}"}. Do not pass fields as separate arguments. Validate a job-posting JSON text against the JobPosting schema. Returns valid, a list of error lines ('field: problem (got: value)'), and the parsed posting when valid. Fix every line and call again: the duplicate-skills and intern/experience rules are reported only once every field is valid, so a fix can surface one more error. Pass the JSON as text; no post-processing is applied.

Input Schema

NameRequiredDescriptionDefault
postingYes

Output Schema

NameRequiredDescriptionDefault
validYes
errorsYes
postingYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations supplied, the description carries the full burden and does so well: it discloses the staged error-reporting behavior (some rules fire only after all fields validate), states no post-processing is applied, and specifies the error line format 'field: problem (got: value)'. These are non-obvious behavioral traits an agent could not infer from the schema or annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The most failure-prone instruction (pass everything as one escaped JSON string) is front-loaded, and the rest is dense with no filler. The opening example with doubled escape sequences is slightly hard to parse on first read, which is the only drag on an otherwise tight structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, yet the description adds genuinely useful return-value context beyond it: the shape of error lines, the parsed posting on success, and the fact that fixing one error can reveal another. For a one-parameter validation tool this covers everything an agent needs to call it correctly and interpret results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it does: the single `posting` parameter is explained as one argument containing the entire posting as an escaped JSON string, with an inline example of the required nesting and an explicit instruction not to pass fields as separate arguments.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: "Validate a job-posting JSON text against the JobPosting schema." That is clearly distinct from the sibling get_job_posting_schema, though the description never names the sibling or explicitly contrasts fetching the schema with validating against it, leaving the differentiation implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a concrete usage protocol: fix every reported error line and call again, with an explicit warning that duplicate-skills and intern/experience rules only surface once all fields are valid. What is missing is guidance on when to reach for this tool versus get_job_posting_schema, or any prerequisite about where the posting JSON comes from.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools