Skip to main content
Glama

Create Order

order_create
Destructive

Create a new prescription medication order. The patient must have completed intake questionnaire and consent before ordering. Required: medication name, selected form (injectable, tablet, drops), plan duration (1, 4, or 6 months), shipping address. The order is reviewed by a licensed US healthcare provider who makes the final prescribing decision. If approved, medication is compounded at a US-licensed 503A pharmacy and shipped directly to the patient. Returns order ID, estimated provider review time, and expected delivery window. Payment is processed via Stripe Agentic Commerce Protocol (ACP). Requires authentication.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
formYesMedication form: 'injectable', 'tablet', or 'drops'
intake_idYesApproved intake ID from intake_submit
medicationYesMedication name to order
plan_monthsYesPlan duration in months (1, 4, or 6)
bearer_tokenNoAuthentication token for the patient session
shipping_addressYesShipping address with keys: line1, city, state, zip, and optional line2

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations indicate readOnlyHint=false and destructiveHint=true, but the description adds substantial context: provider review, pharmacy compounding, shipping, payment via Stripe ACP, and authentication requirements. This goes beyond the structured hints. It does not elaborate on possible destructive effects (e.g., irreversible charges), but it doesn't contradict the 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 description is about 140 words and logically flows from action and prerequisites to required fields, process, return values, and payment/auth. Each sentence adds value, though slightly long, it remains informative without redundancy.

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?

Given the tool's complexity (6 params, nested shipping address, auth, payment, provider review), the description covers prerequisites, required inputs, the review process, return values, and financial handling. It doesn't mention failure modes or denial scenarios, but that is not critical given the output schema and overall detail.

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 coverage is 100%, so the baseline is 3. The description adds meaningful semantics by specifying valid values for form and plan_months, describing shipping_address keys, and noting that intake_id comes from intake_submit. This helps the agent construct valid arguments.

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

Purpose5/5

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

The description clearly states 'Create a new prescription medication order' with a specific verb and resource. It distinguishes from sibling tools like order_status and order_upload by focusing on the initial creation step. The mention of prescription medication also differentiates it from checkout tools.

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?

It explicitly states the prerequisite: 'The patient must have completed intake questionnaire and consent before ordering.' This tells the agent when the tool is appropriate. It does not explicitly name alternative tools, but the context strongly implies that if prerequisites are unmet, other tools (e.g., intake_submit, consent_submit) should be used first.

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.

TDQS

A3.9/5.0
Disambiguation5/5

Every tool targets a distinct resource and action within the telehealth workflow: auth, consent, eligibility, intake, medications, checkout, order, portal, and provider communication. Even the multiple medication tools (list, details, availability, pricing) have clearly separated purposes, and there is no overlap among the 34 tools.

Naming Consistency5/5

All tool names follow a consistent `domain_verb` or `domain_noun` snake_case pattern, prefixed by their domain (auth_, checkout_, consent_, intake_, medications_, order_, portal_, provider_). There are no mixed conventions or vague verbs, making the API predictable and easy to navigate.

Tool Count2/5

With 34 tools, the server exceeds the 25+ threshold for 'too many' and feels fragmented. Many tools could be consolidated (e.g., medication pricing and availability could fold into details, and consent list/status could be combined). While the scope is broad, the count is excessive for a well-scoped MCP server.

Completeness4/5

The tool surface covers the full patient lifecycle from authentication and consent through eligibility, intake, checkout, order management, and post-order portal features. Minor gaps include lack of order cancellation or order listing, and no explicit intake update mechanism, but these are workable and do not block core workflows.

Resources