Skip to main content
Glama

create_screening

Submit candidate resumes for AI screening against a specific job description. Use this as the entry point for candidate evaluation. It parses resumes, scores them (1-100), and provides reasoning. Side effect: Debits credits from the user account based on the number of resumes.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "title": "<title>",
      "description": "<description>",
      "resumes": "<resumes>"
    },
    "name": "create_screening"
  }
}

Input Schema

NameRequiredDescriptionDefault
titleYesThe official job title for the position.
resumesYesA list of resumes to screen. Each item must include a filename and the content (raw text, base64, or public URL).
descriptionYesThe complete job description including requirements and responsibilities (minimum 50 characters).
webhook_urlNoHTTPS URL for asynchronous completion notifications. Recommended for large batches.
leniency_levelNoStrictness scale (1-10). 1 is lenient, 10 is strict. Default is 5. Use 8+ for critical senior roles.

Output Schema

NameRequiredDescriptionDefault
job_idNo
statusNo
messageNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed10 schema fields changed
    • changedInput schema / properties / description / description
      Previous value: -"The complete job description including requirements, responsibilities, and qualifications (minimum 50 characters)."New value: +"The complete job description including requirements and responsibilities (minimum 50 characters)."
    • removedInput schema / properties / description / examples
      Removed value: -[
      -  "Looking for a Python expert with 5+ years experience in Django and AWS..."
      -]
    • changedInput schema / properties / leniency_level / description
      Previous value: -"Strictness of the AI screening on a scale of 1-10. 1 is very lenient, 10 is extremely strict. Default is 5."New value: +"Strictness scale (1-10). 1 is lenient, 10 is strict. Default is 5. Use 8+ for critical senior roles."
    • changedInput schema / properties / resumes / description
      Previous value: -"A list of candidate resumes to be screened."New value: +"A list of resumes to screen. Each item must include a filename and the content (raw text, base64, or public URL)."
    • changedInput schema / properties / resumes / items / properties / content / description
      Previous value: -"The raw text content, base64 encoded file, or a public URL to the resume file."New value: +"Raw text, base64 data, or a public HTTPS URL."
    • changedInput schema / properties / resumes / items / properties / filename / description
      Previous value: -"The name of the file (e.g., \"john_doe_resume.pdf\")."New value: +"e.g., \"resume.pdf\""
    • changedInput schema / properties / title / description
      Previous value: -"The official job title for the position (e.g., \"Senior Software Engineer\")."New value: +"The official job title for the position."
    • changedInput schema / properties / title / examples
      Previous value: -[
      -  "Senior Software Engineer",
      -  "Fullstack Developer"
      -]New value: +[
      +  "Senior Software Engineer",
      +  "Product Manager"
      +]
    • removedInput schema / properties / webhook_conditions
      Removed value: -{
      -  "description": "Optional triggers for the webhook (e.g., only trigger for candidates with score > 80).",
      -  "type": "object"
      -}
    • changedInput schema / properties / webhook_url / description
      Previous value: -"Optional HTTPS URL where a POST request will be sent upon job completion."New value: +"HTTPS URL for asynchronous completion notifications. Recommended for large batches."
  2. First observed

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose the critical behavioral trait: credits are debited from the user account proportional to the number of resumes. That is exactly the kind of non-obvious side effect an agent must know before calling. It still omits whether the call is synchronous or long-running, whether credits are refunded on failure, and any auth or rate-limit constraints.

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

Conciseness5/5

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

Three short sentences, each earning its place: purpose, positioning, mechanism, then the cost side effect front-loaded with an explicit "Side effect:" label. No filler and no repetition of schema content.

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

Completeness4/5

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

Output schema exists, so return values need not be explained, and the input schema is fully self-documenting. The description covers purpose, ordering, and cost, which is nearly everything needed for correct invocation; only execution mode (sync vs. async/webhook) and failure/refund behavior are left unaddressed.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter including leniency_level, webhook_url, and the nested resume content formats is already documented in the schema. The description adds no parameter-level meaning beyond that (it never mentions leniency or webhook behavior), so the baseline of 3 applies.

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?

Specific verb and resource: submits resumes for AI screening against a job description, and states what happens internally (parses, scores 1-100, provides reasoning). It positions itself as "the entry point for candidate evaluation," which helps distinguish it from downstream tools, but it never names siblings such as estimate_screening_cost or get_results, so differentiation is implied rather than explicit.

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

Usage Guidelines3/5

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

The phrase "Use this as the entry point for candidate evaluation" gives real contextual guidance about ordering, and the webhook parameter hints at batch workflows. However, there is no explicit when-not-to-use guidance, no mention of pre-checking cost with estimate_screening_cost, and no pointer to get_results or get_screening_status for retrieving outcomes.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources