Skip to main content
Glama

Prepare employer anesthesia requisition draft

prepare_anesthesia_job_draft

For a supplied CRNA job match request, use search_anesthesia_coverage_for_job instead. Use exactly once and alone for a clear employer or recruiter CRNA or anesthesiologist staffing need, including first-person coverage, vacancy, shift, case, or start-date facts. Do not use for CAA intake or a clinician evaluating or applying to a job; if audience is ambiguous, ask the exact router question before any tool. Submit only supplied structured facts, ask only the returned next_question, carry known facts and skipped_optional_fields forward, and never preview missing_fields. Preserve partial dates without inventing a day or year. Before job_description, disclose local contact-block minimization plus the external parser, advise removal of sensitive data, and obtain explicit choice; prefer structured fields. The tool may create only a short-lived, unclaimed first-party review intent, never a live requisition; publication requires verified sign-in, exact review, company/facility authority, fresh identity confirmation, transaction-bound passkey confirmation, and explicit first-party approval.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "prepare_anesthesia_job_draft"
  }
}

Input Schema

NameRequiredDescriptionDefault
draftNoPreferred structured fields for requisition facts already supplied in the chat, plus previously returned privacy-safe fields, explicit corrections, or follow-up answers. A draft-only submission without job_description does not call the external parser.
job_descriptionNoFree-text employer/recruiter hiring text for a CRNA or anesthesiologist opening, including a full requisition, facility vacancy, or shorthand brief such as 'CRNA in Miami; $215/hr; weekdays; no call.' Any job_description value—whether pasted, typed, dictated, described, or shorthand—uses the external parser path when parseable. Before populating this field, disclose that RxRooster locally removes recognizable contact blocks and sends only the minimized text to its configured AI parsing provider, an external parser, advise removal of personal, credential, patient, or confidential information, and obtain the user's explicit choice between this parser path and structured draft fields. Prefer structured draft fields for facts already supplied in the chat; a draft-only submission without job_description does not call the external parser. This field is not for a candidate's request to summarize, compare, evaluate, or apply to a job. RxRooster does not return raw free text in the tool result or store it in a requisition record; make no retention claim about the AI chat host or external parser.
partial_start_dateNoKnown month-only start timing that is not a publishable draft field. Use when the user supplied a month and optional year but not an exact day; the workflow returns it only as a known partial fact and asks for the missing day or year.
skipped_optional_fieldsNoOptional quality fields the user explicitly chose to skip during the guided intake. Preserve and resend these values on later calls so the stateless workflow advances without re-asking them. Required handoff fields cannot be skipped.

Output Schema

NameRequiredDescriptionDefault
draftYes
statusYes
next_stepYes
redactionsYes
generated_atYes
parse_statusYes
filled_fieldsYes
next_questionYes
employer_valueYes
missing_fieldsYes
schema_versionYes
draft_fingerprintYes
known_partial_factsYes
skipped_optional_fieldsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • addedInput schema / properties / draft / properties / location_confirmed / description
      Added value: +"Set only from the user's explicit yes/no confirmation of the proposed work location. A user merely mentioning or supplying a location does not confirm it."
    • addedInput schema / properties / draft / properties / title / description
      Added value: +"Set only when the user explicitly chooses or supplies the candidate-facing title. Never synthesize a title from provider type, case types, schedule, location, or other requisition facts."
    • addedInput schema / properties / skipped_optional_fields
      Added value: +{
      +  "description": "Optional quality fields the user explicitly chose to skip during the guided intake. Preserve and resend these values on later calls so the stateless workflow advances without re-asking them. Required handoff fields cannot be skipped.",
      +  "items": {
      +    "enum": [
      +      "start_date",
      +      "contract_type",
      +      "assignment_type",
      +      "weekly_hours",
      +      "schedule_type",
      +      "on_call_required",
      +      "weekends_required",
      +      "case_types",
      +      "care_team_model",
      +      "certifications",
      +      "emr_system"
      +    ],
      +    "type": "string"
      +  },
      +  "maxItems": 11,
      +  "type": "array"
      +}
    • addedOutput schema / properties / draft / properties / location_confirmed / description
      Added value: +"Set only from the user's explicit yes/no confirmation of the proposed work location. A user merely mentioning or supplying a location does not confirm it."
    • addedOutput schema / properties / draft / properties / title / description
      Added value: +"Set only when the user explicitly chooses or supplies the candidate-facing title. Never synthesize a title from provider type, case types, schedule, location, or other requisition facts."
    • addedOutput schema / properties / next_question
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "fallback_instruction": {
      +          "type": "string"
      +        },
      +        "field": {
      +          "type": "string"
      +        },
      +        "options": {
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "label": {
      +                "type": "string"
      +              },
      +              "value": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "value",
      +              "label"
      +            ],
      +            "type": "object"
      +          },
      +          "maxItems": 12,
      +          "type": "array"
      +        },
      +        "prompt": {
      +          "type": "string"
      +        },
      +        "required_for_handoff": {
      +          "type": "boolean"
      +        },
      +        "response_kind": {
      +          "enum": [
      +            "free_text",
      +            "single_select",
      +            "multi_select",
      +            "number",
      +            "date",
      +            "confirmation"
      +          ],
      +          "type": "string"
      +        },
      +        "skippable": {
      +          "type": "boolean"
      +        }
      +      },
      +      "required": [
      +        "field",
      +        "prompt",
      +        "response_kind",
      +        "options",
      +        "required_for_handoff",
      +        "skippable",
      +        "fallback_instruction"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / skipped_optional_fields
      Added value: +{
      +  "items": {
      +    "enum": [
      +      "start_date",
      +      "contract_type",
      +      "assignment_type",
      +      "weekly_hours",
      +      "schedule_type",
      +      "on_call_required",
      +      "weekends_required",
      +      "case_types",
      +      "care_team_model",
      +      "certifications",
      +      "emr_system"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "schema_version",
      -  "generated_at",
      -  "status",
      -  "parse_status",
      -  "draft",
      -  "known_partial_facts",
      -  "filled_fields",
      -  "missing_fields",
      -  "redactions",
      -  "draft_fingerprint",
      -  "employer_value",
      -  "next_step"
      -]New value: +[
      +  "schema_version",
      +  "generated_at",
      +  "status",
      +  "parse_status",
      +  "draft",
      +  "known_partial_facts",
      +  "filled_fields",
      +  "missing_fields",
      +  "next_question",
      +  "skipped_optional_fields",
      +  "redactions",
      +  "draft_fingerprint",
      +  "employer_value",
      +  "next_step"
      +]
  2. Changed27 schema fields changed
    • changedInput schema / properties / draft / description
      Previous value: -"Previously returned privacy-safe draft fields plus explicit corrections or follow-up answers."New value: +"Preferred structured fields for requisition facts already supplied in the chat, plus previously returned privacy-safe fields, explicit corrections, or follow-up answers. A draft-only submission without job_description does not call the external parser."
    • addedInput schema / properties / draft / properties / assignment_type / description
      Added value: +"Set only when the user explicitly states the assignment type; never infer locum tenens, permanent, full-time, part-time, or PRN."
    • addedInput schema / properties / draft / properties / contract_type / description
      Added value: +"Set only when the user explicitly states W2 or 1099; never infer contract type from locums, temporary, permanent, or recruiter language."
    • addedInput schema / properties / draft / properties / on_call_required / description
      Added value: +"Set true or false only when the user explicitly states whether call is required; otherwise omit it."
    • addedInput schema / properties / draft / properties / pay_amount / description
      Added value: +"Set only when the user explicitly supplies the compensation amount; never estimate or infer pay."
    • addedInput schema / properties / draft / properties / pay_period / description
      Added value: +"Set only when the user explicitly states the compensation period; never infer it from role, market, or assignment context."
    • addedInput schema / properties / draft / properties / provider_type / description
      Added value: +"Recruiter intake supports CRNA and Anesthesiologist only. CAA recruiter-intake activation is deferred and is rejected by this draft contract."
    • changedInput schema / properties / draft / properties / provider_type / enum
      Previous value: -[
      -  "CRNA",
      -  "Anesthesiologist",
      -  "CAA"
      -]New value: +[
      +  "CRNA",
      +  "Anesthesiologist"
      +]
    • addedInput schema / properties / draft / properties / schedule_type / description
      Added value: +"Set only when the user explicitly states this schedule pattern; preserve all unstated schedule facts as unknown."
    • changedInput schema / properties / draft / properties / start_date / description
      Previous value: -"Calendar date in YYYY-MM-DD format."New value: +"Set only when the user explicitly supplies a complete exact YYYY-MM-DD date. If only a month, relative timing, day without year, or year without day is supplied, omit start_date and ask for the missing date parts."
    • addedInput schema / properties / draft / properties / weekends_required / description
      Added value: +"Set true or false only when the user explicitly states whether weekends are required; otherwise omit it."
    • addedInput schema / properties / draft / properties / weekly_hours / description
      Added value: +"Set only when the user explicitly supplies weekly hours; never derive weekly hours from shift length or weekdays."
    • changedInput schema / properties / job_description / description
      Previous value: -"Pasted anesthesia requisition text. RxRooster locally removes recognizable contact blocks, does not store or return the pasted text, and sends only the minimized text to RxRooster's configured AI parsing provider. Do not include personal, credential, patient, or confidential information."New value: +"Free-text employer/recruiter hiring text for a CRNA or anesthesiologist opening, including a full requisition, facility vacancy, or shorthand brief such as 'CRNA in Miami; $215/hr; weekdays; no call.' Any job_description value—whether pasted, typed, dictated, described, or shorthand—uses the external parser path when parseable. Before populating this field, disclose that RxRooster locally removes recognizable contact blocks and sends only the minimized text to its configured AI parsing provider, an external parser, advise removal of personal, credential, patient, or confidential information, and obtain the user's explicit choice between this parser path and structured draft fields. Prefer structured draft fields for facts already supplied in the chat; a draft-only submission without job_description does not call the external parser. This field is not for a candidate's request to summarize, compare, evaluate, or apply to a job. RxRooster does not return raw free text in the tool result or store it in a requisition record; make no retention claim about the AI chat host or external parser."
    • addedInput schema / properties / partial_start_date
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Known month-only start timing that is not a publishable draft field. Use when the user supplied a month and optional year but not an exact day; the workflow returns it only as a known partial fact and asks for the missing day or year.",
      +  "properties": {
      +    "month": {
      +      "enum": [
      +        "January",
      +        "February",
      +        "March",
      +        "April",
      +        "May",
      +        "June",
      +        "July",
      +        "August",
      +        "September",
      +        "October",
      +        "November",
      +        "December"
      +      ],
      +      "type": "string"
      +    },
      +    "year": {
      +      "maximum": 2100,
      +      "minimum": 2020,
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "month"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / draft / properties / assignment_type / description
      Added value: +"Set only when the user explicitly states the assignment type; never infer locum tenens, permanent, full-time, part-time, or PRN."
    • addedOutput schema / properties / draft / properties / contract_type / description
      Added value: +"Set only when the user explicitly states W2 or 1099; never infer contract type from locums, temporary, permanent, or recruiter language."
    • addedOutput schema / properties / draft / properties / on_call_required / description
      Added value: +"Set true or false only when the user explicitly states whether call is required; otherwise omit it."
    • addedOutput schema / properties / draft / properties / pay_amount / description
      Added value: +"Set only when the user explicitly supplies the compensation amount; never estimate or infer pay."
    • addedOutput schema / properties / draft / properties / pay_period / description
      Added value: +"Set only when the user explicitly states the compensation period; never infer it from role, market, or assignment context."
    • addedOutput schema / properties / draft / properties / provider_type / description
      Added value: +"Recruiter intake supports CRNA and Anesthesiologist only. CAA recruiter-intake activation is deferred and is rejected by this draft contract."
    • changedOutput schema / properties / draft / properties / provider_type / enum
      Previous value: -[
      -  "CRNA",
      -  "Anesthesiologist",
      -  "CAA"
      -]New value: +[
      +  "CRNA",
      +  "Anesthesiologist"
      +]
    • addedOutput schema / properties / draft / properties / schedule_type / description
      Added value: +"Set only when the user explicitly states this schedule pattern; preserve all unstated schedule facts as unknown."
    • changedOutput schema / properties / draft / properties / start_date / description
      Previous value: -"Calendar date in YYYY-MM-DD format."New value: +"Set only when the user explicitly supplies a complete exact YYYY-MM-DD date. If only a month, relative timing, day without year, or year without day is supplied, omit start_date and ask for the missing date parts."
    • addedOutput schema / properties / draft / properties / weekends_required / description
      Added value: +"Set true or false only when the user explicitly states whether weekends are required; otherwise omit it."
    • addedOutput schema / properties / draft / properties / weekly_hours / description
      Added value: +"Set only when the user explicitly supplies weekly hours; never derive weekly hours from shift length or weekdays."
    • addedOutput schema / properties / known_partial_facts
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "start_date": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": false,
      +          "properties": {
      +            "month": {
      +              "enum": [
      +                "January",
      +                "February",
      +                "March",
      +                "April",
      +                "May",
      +                "June",
      +                "July",
      +                "August",
      +                "September",
      +                "October",
      +                "November",
      +                "December"
      +              ],
      +              "type": "string"
      +            },
      +            "year": {
      +              "maximum": 2100,
      +              "minimum": 2020,
      +              "type": "integer"
      +            }
      +          },
      +          "required": [
      +            "month"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    }
      +  },
      +  "required": [
      +    "start_date"
      +  ],
      +  "type": "object"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "schema_version",
      -  "generated_at",
      -  "status",
      -  "parse_status",
      -  "draft",
      -  "filled_fields",
      -  "missing_fields",
      -  "redactions",
      -  "draft_fingerprint",
      -  "employer_value",
      -  "next_step"
      -]New value: +[
      +  "schema_version",
      +  "generated_at",
      +  "status",
      +  "parse_status",
      +  "draft",
      +  "known_partial_facts",
      +  "filled_fields",
      +  "missing_fields",
      +  "redactions",
      +  "draft_fingerprint",
      +  "employer_value",
      +  "next_step"
      +]
  3. Added

TDQS

A4.5/5.0
Behavior5/5

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

The annotations declare this is not read-only, not idempotent, open-world, and non-destructive. The description adds substantial behavioral context beyond that: it creates only a short-lived, unclaimed first-party review intent, never a live requisition, and publication requires verified sign-in, exact review, company/facility authority, fresh identity confirmation, transaction-bound passkey confirmation, and explicit first-party approval. It also discloses the external parser path and local contact-block minimization.

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 description is dense and procedural, but this is a high-stakes intake tool with routing, privacy, and publication constraints that need coverage. It front-loads the alternative and use scope; some sentences pack multiple conditions and could be more structured, but the content generally earns its place.

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?

For a complex draft-intake tool with an external parser path and publication safeguards, the description covers routing, privacy disclosure, partial-date handling, skipped-field handoff, and the boundary between review intent and live requisition. An output schema exists, so return-shape details need not be repeated in the description.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3, but the description adds meaningful workflow semantics: submit only supplied structured facts, carry known facts and skipped_optional_fields forward, ask only the returned next_question, never preview missing_fields, and preserve partial dates without inventing a day or year. It also adds the privacy-disclosure and explicit-choice requirement before using job_description, which is more than the schema alone conveys.

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?

The name/title and the sentence 'Use exactly once and alone for a clear employer or recruiter CRNA or anesthesiologist staffing need' identify the resource and audience, and the description explicitly redirects supplied CRNA job match requests to search_anesthesia_coverage_for_job. It never plainly says 'prepare a draft requisition' in the description itself, but the audience, scope, and sibling routing make the purpose clear enough to place the tool.

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

Usage Guidelines5/5

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

The description gives explicit when-to-use guidance: supplied job match requests go to search_anesthesia_coverage_for_job, while clear employer or recruiter staffing needs go here. It also states exclusions—CAA intake and clinician-side evaluating/applying—and says to ask the exact router question when audience is ambiguous.

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