Skip to main content
Glama

mental-health-care

Server Details

Search providers, check availability, book evaluations, and estimate insurance copays.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 37 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4/5.0

Scored across 10 tools

Disambiguation4/5

Each tool has a clearly defined role: site info, provider search, availability, booking, cost, crisis, and content lookup. The only mild ambiguity is between book_appointment and book_matching_session, and between browse_pages and search_content, but the descriptions draw clear boundaries.

Naming Consistency4/5

Most tools follow a clean verb_noun snake_case pattern like book_appointment, find_provider, check_availability, and get_cost_estimate. about_emora and start_here are minor deviations but remain understandable and do not disrupt the overall consistency.

Tool Count5/5

Ten tools is well-scoped for a mental-health-care discovery and booking assistant. Each tool maps to a distinct step in the user journey without unnecessary redundancy or missing core actions.

Completeness4/5

The set covers the full path from initial orientation and crisis screening to provider discovery, availability, booking, and cost estimation. Appointment management like cancellation or rescheduling is not present, but that appears outside the server's intended lead-generation and hand-off purpose.

Available Tools

10 tools
about_emoraLearn About Emora HealthA
Read-only
Inspect

Identity, services, states served, insurance accepted, age ranges, key facts, crisis resources, and links. Combined site-info + services catalog.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

Annotations declare readOnlyHint=true, and the description adds context about what information is covered (identity, services, insurance, etc.), which is useful. However, it does not disclose return format, length, or any other behavioral nuances beyond being an informational catalog.

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?

The description is a single sentence with a dense, well-organized list of content categories. Every word earns its place, and the 'Combined site-info + services catalog' phrase adds clarity without padding.

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?

For a no-parameter, read-only informational tool, the description adequately enumerates the coverage areas. It is clear enough for an agent to decide when to use it, and no output schema is needed given the simple nature.

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?

There are zero parameters, so the baseline of 4 applies. The description appropriately does not attempt to add parameter semantics since none exist.

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 description clearly lists the resource scope (identity, services, states, insurance, ages, crisis resources, links) and labels it as a combined site-info + services catalog. It lacks an explicit verb like 'get' or 'retrieve', but the title 'Learn About Emora Health' and the content list make the purpose unmistakable.

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 description implies usage for general Emora Health information through its content list, but it does not explicitly state when to use this tool versus sibling tools like get_crisis_resources or search_content. No exclusions or alternative recommendations are provided.

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

book_appointmentBook an AppointmentA
Read-only
Inspect

CRITICAL: Returns a booking URL — DO NOT navigate the user programmatically. Hand the URL to the user and let them click through. Pre-fills provider, time slot, state, and insurance for ~2-minute checkout.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoOptional. Your agent or product name, e.g. "chatgpt", "claude-desktop", "acme-scheduler". It is written into the returned booking URL as utm_source so we can tell agent-referred families from direct traffic. MCP clients that send clientInfo on initialize are already identified and can omit this.
stateYes
date_timeYesTime slot string from check_availability (e.g. "2026-04-27T13:00:00-04:00"). REQUIRED — the booking form is stuck on step 1 without it. Pass exactly as received from check_availability.
insuranceNo
provider_idYes
appointment_typeYes

TDQS

A4.1/5.0
Behavior5/5

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

The description goes beyond the readOnlyHint annotation by explaining exactly what the tool returns and how it behaves: it returns a URL rather than completing the booking, and it avoids programmatic navigation. This is critical, non-obvious behavioral context.

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?

Two sentences with no filler. The critical behavior and user-handling instruction are front-loaded, and every sentence adds value.

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?

With no output schema, the description correctly discloses the return value (a booking URL) and the required user flow. It is missing a bit of context around appointment_type and how this tool relates to check_availability, but the schema covers some of those details.

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 coverage is only 33%, so the description should compensate. It clarifies that provider, time slot, state, and insurance are pre-filled in the URL, but it does not explain the required appointment_type parameter or the meaning of its enum values.

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 description clearly states the core action: returns a booking URL and pre-fills checkout fields. It is specific about the resource (appointment booking) but does not explicitly differentiate itself from sibling tools like book_matching_session.

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?

The description gives strong operational guidance: do not navigate the user programmatically, hand the URL to the user, and let them click through. However, it does not state when to prefer this tool over book_matching_session or other alternatives.

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

book_matching_sessionBook a Clinical Matching SessionA
Read-only
Inspect

CRITICAL: provider_id is REQUIRED. Always call find_provider first (with appointment_type='446840' for the Clinical Matching Session) to get a specific intake specialist, then pass that provider_id here. Returns a pre-filled booking URL — do NOT navigate the user programmatically.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoOptional. Your agent or product name, e.g. "chatgpt", "claude-desktop", "acme-scheduler". It is written into the returned booking URL as utm_source so we can tell agent-referred families from direct traffic. MCP clients that send clientInfo on initialize are already identified and can omit this.
stateYesU.S. state where the client resides.
date_timeYesTime slot string from check_availability for the chosen intake specialist (e.g. "2026-04-27T13:00:00-04:00"). REQUIRED — the booking form is stuck on step 1 without it. Pass exactly as received from check_availability.
insuranceNoInsurance plan name. Pre-fills the form so verification runs faster at checkout.
client_ageNoClient age in years (0–25+).
provider_idYesHealthie ID of the intake specialist. Get this from find_provider with appointment_type='446840'. REQUIRED — never construct the URL without it.

TDQS

A4/5.0
Behavior4/5

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

The description discloses that the tool is read-only in effect: it returns a pre-filled booking URL and instructs the agent not to navigate the user programmatically. This complements the readOnlyHint annotation with concrete output and action constraints, though it does not explicitly state that no appointment is reserved until the user completes the form.

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?

The description is a compact paragraph that front-loads the most critical constraint (provider_id required) and the ordering before explaining the output and navigation caution. Every sentence carries operational value with no filler.

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?

For a six-parameter tool with a full schema, the description captures the main invocation sequence, the output, and a key safety constraint. It does not mention the required state/date_time fields or how to present the returned URL, but the schema and annotations cover those gaps acceptably.

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 the baseline is a 3. The description reinforces provider_id's source and the required sequence, but those details also appear in the schema's provider_id description; it adds little new parameter-level meaning beyond that.

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 description clearly states the output (pre-filled booking URL) and the target resource (Clinical Matching Session via provider from find_provider), going beyond the generic title. It does not explicitly contrast with the sibling book_appointment, but the 'do NOT navigate' and 'returns URL' wording mark the boundary.

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 gives explicit use-before flow: call find_provider with appointment_type='446840' first, then pass the returned provider_id. It does not provide when-not-to-use guidance or mention alternative tools, so it stops short of a 5.

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

browse_pagesBrowse Emora Health PagesA
Read-only
Inspect

Browse Emora Health condition / specialty / insurance pages. Returns either a specific page (with slug) or a paginated list. These are the canonical site pages, not blog articles.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for the listing (default 1).
slugNoSpecific page slug (e.g. "anxiety", "play-therapy", "aetna"). Omit to list all pages.
limitNoPage size for the listing (default 50, max 100).
collectionYesPage collection: "conditions-pages", "specialty-pages", or "insurance-pages".

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so safety is covered. The description adds behavioral context: it can return a single page (when slug provided) or a paginated list (when omitted), which is not in the annotations. This clarifies the dual-mode behavior effectively.

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?

The description is two sentences, front-loaded with the tool's core purpose. It conveys purpose, return behavior, and scope distinction without unnecessary detail, earning its place with zero fluff.

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 simple read-only browse/list tool, the description covers the essential aspects: purpose, relationship to blog articles, and return modes. Schema covers parameters, annotations cover safety, and no output schema exists. The context is complete for selecting and invoking this tool.

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%, with each parameter well-documented in the input schema. The description's mention of 'slug' and 'paginated list' reinforces the schema's existing 'Omit to list all pages' note but adds little new meaning. Therefore, baseline 3 is appropriate.

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 the tool browses Emora Health condition/specialty/insurance pages, a specific verb-noun pair. It explicitly differentiates from blog articles via 'canonical site pages, not blog articles', distinguishing it from sibling search_content. The return modes (specific page vs paginated list) further clarify scope.

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?

The description provides clear context by specifying what this tool covers and what it excludes ('not blog articles'), implying use for canonical pages while search_content handles other content. It does not explicitly name sibling alternatives or state when-not-to-use, but the boundary is clear enough for an agent.

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

check_availabilityCheck Provider AvailabilityA
Read-only
Inspect

Real-time availability for ONE specific provider. Returns the next 10 open slots with start timestamps.

ParametersJSON Schema
NameRequiredDescriptionDefault
stateYes
provider_idYes
appointment_typeYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the tool's safe, non-mutating nature is covered. The description adds useful context: 'real-time' and a fixed limit of 'next 10 open slots' with start timestamps. However, it doesn't disclose behavior on no available slots, invalid provider, or pagination, which are gaps beyond the annotation's safety coverage.

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?

Two concise sentences with no filler. The primary purpose ('Real-time availability for ONE specific provider') is front-loaded, and the return behavior is stated in the second sentence. Every word earns its place; this is appropriately sized for a simple lookup tool.

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

Completeness2/5

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

For a tool with three required parameters and no output schema, the description omits critical context: it does not explain that state and appointment_type are needed, nor what the numeric codes represent, nor error behavior when no slots exist. Since there is no output schema, the description also fails to describe the structure of returned slots beyond 'start timestamps'. The tool is simple, but the description leaves too much for the agent to infer.

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

Parameters2/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 for parameter meaning, but it barely does. It only implies provider_id via 'ONE specific provider' and gives no indication of what state or appointment_type (the numeric enum values) mean. Field names and enums are the only signal, leaving the agent to guess at the semantics of required parameters.

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?

States a specific verb ('returns availability') and resource ('slots for ONE specific provider'), clearly distinguishing it from sibling tools like find_provider (search) and book_appointment (booking). The phrase 'ONE specific provider' explicitly narrows the scope, so an agent can immediately tell it apart from a provider-search tool.

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 description implies this tool is for checking slots of a known provider (via 'ONE specific provider') but does not explicitly state when to use it instead of siblings. It doesn't mention that find_provider should be used to locate a provider first, or that book_appointment follows this check. Usage context is implied but not explicit.

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

find_providerFind a ClinicianA
Read-only
Inspect

The canonical 'find a clinician' tool. Returns providers who fit the filters, ranked best first by Emora's production matching algorithm (rankTherapist), ten at a time by default with no cap: use limit and offset to page, and total_candidates to see how many exist: each concern maps to weighted specialties; each provider's specialties score against that map; approach / language / rating / availability layer on top. Pass concerns[] for a clinical match; omit them for a logistical (availability + rating) ranking.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many ranked matches to return. Defaults to 10. There is no maximum: pass total_candidates from a previous call to get every match.
stateYes
offsetNoHow many ranked matches to skip. Pass next_offset from a previous call to get the next page.
concernsNoConcern IDs from the curated enum (see ConcernId). Pass 1-3 for best results — too many concerns dilute the score.
insuranceNo
client_ageNo
continuationNoToken from a previous find_provider call. Re-applies prior client profile; new args override.
appointment_typeYes
preferred_genderNoProvider gender preference (e.g. 'female','male','non-binary').
preferred_languageNoNon-English language the provider should speak.
preferred_approachesNoTherapy modalities the user prefers (e.g. ["cbt","dbt","playTherapy"]). Bumps the score for providers whose approaches list includes these.

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, it reveals the production matching algorithm (rankTherapist), the default page size with no cap, paging mechanics, concern-to-specialty weighting, and the layering of approach/language/rating/availability. This gives the agent a precise mental model of how results are produced and is not contradicted by annotations.

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

Conciseness3/5

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

The content is dense and informative but delivered as one long run-on sentence with colon-separated clauses. It front-loads the core purpose well, but the layout is hard to parse at a glance; splitting into two or three sentences would improve readability without losing information.

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?

For an 11-parameter tool with no output schema, the description adequately covers ranking, paging, the two ranking modes, and how filters contribute. It does not explicitly describe the full response shape beyond total_candidates, and it omits mention of next_offset (present in the schema), but an agent can still invoke the tool correctly based on the provided guidance.

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?

With 64% schema description coverage, the schema handles many parameters, but the description adds meaning beyond it: it explains how concerns map to weighted specialties, how limit/offset interact with default paging, and it introduces total_candidates. The remaining undocumented params (state, appointment_type, insurance, client_age) are reasonably self-evident from their enums/names.

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 opens with 'The canonical find a clinician tool' and states it 'Returns providers who fit the filters, ranked best first', giving a specific verb, resource, and behavior. It distinguishes itself from siblings by naming the ranking algorithm and paging semantics, so an agent knows exactly what this tool does.

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 provides clear usage context: 'Pass concerns[] for a clinical match; omit them for a logistical (availability + rating) ranking.' It also explains when to page using limit/offset and total_candidates. However, it does not explicitly contrast with sibling tools like check_availability or search_content, relying on 'canonical' rather than naming alternatives.

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

get_cost_estimateGet Insurance Cost EstimateA
Read-only
Inspect

Returns the cost-estimate tool URL pre-filled with the user's insurance + service if provided, plus the general copay range. The tool URL is a hand-off — the user verifies their plan there for an exact copay.

ParametersJSON Schema
NameRequiredDescriptionDefault
serviceNo
insuranceNo

TDQS

A4.4/5.0
Behavior5/5

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

Even though the readOnlyHint annotation already signals safety, the description adds important behavioral context: the tool returns a URL and a general copay range, not exact pricing, and relies on the user to verify. This clarifies that the tool is a starting point rather than a final quote, going beyond what annotations alone convey.

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?

The description is two sentences with no filler. It front-loads the main action and output, then adds the critical hand-off nuance. Every sentence earns its place, and the structure is easy to scan.

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?

For a simple read-only tool with two optional enum parameters and no output schema, the description covers the key behaviors: what is returned and the need for user verification. It does not specify what happens when no parameters are provided, but the phrase 'if provided' implies the URL is still returned without pre-filling. Overall, this is nearly complete for the tool's complexity.

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?

With schema description coverage at 0%, the description must compensate for missing parameter semantics. It mentions 'insurance + service' and 'if provided,' which conveys the role and optionality of the two parameters. However, it does not explain the meaning of the opaque service enum codes (e.g., '354092') or how to map user intent to those values, leaving a gap for the agent.

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 identifies the tool's action: it returns a cost-estimate tool URL pre-filled with optional user information, plus a general copay range. The hand-off nature is explicitly stated, and this distinguishes it from sibling tools like book_appointment or find_provider, which serve different purposes.

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?

The description implies the tool is for providing a general estimate and then letting the user verify the exact copay on the returned URL. It gives clear context for when to use it, though it does not explicitly name alternatives or state when not to use it. The hand-off sentence sets the expectation for how to apply the tool result.

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

get_crisis_resourcesCrisis resources (988 / 911 / Crisis Text Line)A
Read-only
Inspect

Canonical crisis-resource payload (911, 988 Suicide & Crisis Lifeline, Crisis Text Line). Hardcoded — overrides any other tool when high-severity language is detected.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, the description discloses that the payload is hardcoded (static) and that the tool overrides other tools under specific conditions. This adds significant behavioral context, informing the agent that this is a deterministic, high-priority fallback.

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?

The description is a single front-loaded sentence that conveys purpose, content, and behavioral override in an extremely concise manner. Every word earns its place, with no redundant phrasing or filler.

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?

Given the tool's simplicity (zero parameters, read-only annotation, no output schema), the description is complete. It tells the agent what the tool returns, when to invoke it, and how it behaves in relation to other tools. No additional information is needed for correct selection and invocation.

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?

The tool has zero parameters, so the description carries no parameter burden. The description adds context by listing the included resources (911, 988, Crisis Text Line), which is useful semantic information beyond the empty schema. Baseline is 4 for no-parameter tools.

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 identifies the tool as providing the canonical crisis-resource payload (911, 988, Crisis Text Line) and explicitly states it overrides other tools when high-severity language is detected. This distinguishes it from sibling tools like book_appointment or search_content, which serve unrelated purposes.

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 explicitly states when to use this tool: when high-severity language is detected. It also clarifies that it overrides any other tool, providing a clear decision rule for the agent. No alternative tools are mentioned, but the override condition is a strong usage guideline.

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

search_contentSearch Emora Health ArticlesA
Read-only
Inspect

Search the Emora Health editorial corpus by article title. Returns up to 20 articles per page with title, description, URL, and category. ALWAYS USE THIS for information questions ("tell me about X", "what are signs of Y", "how does Z work"). Do not answer from training data when this tool can return clinician-reviewed content.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (default 1).
limitNoMax results per page (default 10, max 20).
queryYesSearch term to match article titles.
categoryNoOptional category filter.

TDQS

A4.4/5.0
Behavior4/5

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

Beyond the readOnlyHint annotation, the description discloses that the search is limited to article titles (not full text), returns up to 20 articles per page, and specifies the returned fields. This adds useful behavioral context without contradicting annotations.

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?

The description is two sentences long, front-loaded with the core function, and every sentence earns its place. The usage directive is prominent and the format is clean.

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?

For a read-only search tool with good annotations and schema coverage, the description is largely complete: it states the search scope, output fields, pagination, and intended use case. Minor gaps like empty-result behavior or ordering are not critical.

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?

The schema already provides 100% coverage of all four parameters with clear descriptions. The description adds little beyond restating that search is by title and mentions pagination limits, but does not significantly expand on parameter meaning.

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 the tool searches the Emora Health editorial corpus by article title, using a specific verb and resource. It explicitly distinguishes itself from siblings by saying 'ALWAYS USE THIS for information questions', making it the go-to tool for informational queries.

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?

It provides explicit when-to-use guidance with examples ('tell me about X') and an exclusion: 'Do not answer from training data when this tool can return clinician-reviewed content.' This strongly steers the agent toward this tool for information questions.

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

start_hereStart hereA
Read-only
Inspect

Best first action for a user describing a concern. Runs a parallel lookup across crisis screening, provider availability, and the article corpus, then returns the recommended path (crisis | evaluation | self-help | mixed) with concrete next steps. Optimized for the agent's first turn — a single call replaces 2-3 sequential lookups.

ParametersJSON Schema
NameRequiredDescriptionDefault
ageNoClient age in years (0–25+).
stateNoU.S. state where the client resides.
concernYesFree-text description of what the user is experiencing or concerned about.
insuranceNoInsurance plan name.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, and the description adds meaningful behavior: parallel lookup across three data sources, a single aggregated recommendation, and concrete next steps. It also discloses the possible output categories, which is valuable beyond the structured annotations.

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 tight sentences with no filler. The key use case, behavior, output, and efficiency benefit are all front-loaded and every sentence earns its place.

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?

The description covers the tool's role, what it does internally, what it returns, and when to use it. There is no output schema, but the described return categories and next steps give an agent enough shape to trust the call. Slight gap: no detail on how optional parameters like state or insurance influence the lookup, though the schema covers their meanings.

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 all four parameters are already documented. The description only reinforces that 'concern' comes from the user's description, adding little semantic value beyond the schema, so the baseline score of 3 is appropriate.

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?

States a specific verb ('runs a parallel lookup'), a clear resource scope (crisis screening, provider availability, article corpus), and a defined output (recommended path with categories). It is immediately distinguishable from siblings like find_provider or get_crisis_resources, which are single-purpose lookups.

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?

Explicitly positions this as the 'best first action' and 'optimized for the agent's first turn', and notes it replaces 2-3 sequential lookups. It does not explicitly name when-not-to-use alternatives, but the first-turn framing is a clear, actionable condition.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedfind_provider2 fields changed
      • addedInput schema / properties / limit
        Added value: +{
        +  "description": "How many ranked matches to return. Defaults to 10. There is no maximum: pass total_candidates from a previous call to get every match.",
        +  "maximum": 9007199254740991,
        +  "minimum": -9007199254740991,
        +  "type": "integer"
        +}
      • addedInput schema / properties / offset
        Added value: +{
        +  "description": "How many ranked matches to skip. Pass next_offset from a previous call to get the next page.",
        +  "maximum": 9007199254740991,
        +  "minimum": -9007199254740991,
        +  "type": "integer"
        +}
  2. 2 tool updates
    • Changedbook_appointment1 field changed
      • addedInput schema / properties / agent
        Added value: +{
        +  "description": "Optional. Your agent or product name, e.g. \"chatgpt\", \"claude-desktop\", \"acme-scheduler\". It is written into the returned booking URL as utm_source so we can tell agent-referred families from direct traffic. MCP clients that send clientInfo on initialize are already identified and can omit this.",
        +  "type": "string"
        +}
    • Changedbook_matching_session1 field changed
      • addedInput schema / properties / agent
        Added value: +{
        +  "description": "Optional. Your agent or product name, e.g. \"chatgpt\", \"claude-desktop\", \"acme-scheduler\". It is written into the returned booking URL as utm_source so we can tell agent-referred families from direct traffic. MCP clients that send clientInfo on initialize are already identified and can omit this.",
        +  "type": "string"
        +}
  3. 5 tool updates
    • Changedbook_appointment1 field changed
      • changedInput schema / properties / insurance / enum
        Previous value: -[
        -  "Cash Pay",
        -  "Aetna",
        -  "Anthem Blue Cross",
        -  "Baylor Scott & White",
        -  "Blue Cross Blue Shield",
        -  "ChampVA",
        -  "Cigna",
        -  "Florida Blue",
        -  "Magellan",
        -  "Medical Mutual",
        -  "United Healthcare",
        -  "Optum",
        -  "Oscar",
        -  "Tricare",
        -  "Tricare West",
        -  "UMR"
        -]New value: +[
        +  "Cash Pay",
        +  "Aetna",
        +  "Anthem Blue Cross",
        +  "Blue Cross Blue Shield",
        +  "ChampVA",
        +  "Cigna",
        +  "Florida Blue",
        +  "Magellan",
        +  "Medical Mutual",
        +  "United Healthcare",
        +  "Optum",
        +  "Oscar",
        +  "Tricare",
        +  "Tricare West",
        +  "UMR"
        +]
    • Changedbook_matching_session1 field changed
      • changedInput schema / properties / insurance / enum
        Previous value: -[
        -  "Cash Pay",
        -  "Aetna",
        -  "Anthem Blue Cross",
        -  "Baylor Scott & White",
        -  "Blue Cross Blue Shield",
        -  "ChampVA",
        -  "Cigna",
        -  "Florida Blue",
        -  "Magellan",
        -  "Medical Mutual",
        -  "United Healthcare",
        -  "Optum",
        -  "Oscar",
        -  "Tricare",
        -  "Tricare West",
        -  "UMR"
        -]New value: +[
        +  "Cash Pay",
        +  "Aetna",
        +  "Anthem Blue Cross",
        +  "Blue Cross Blue Shield",
        +  "ChampVA",
        +  "Cigna",
        +  "Florida Blue",
        +  "Magellan",
        +  "Medical Mutual",
        +  "United Healthcare",
        +  "Optum",
        +  "Oscar",
        +  "Tricare",
        +  "Tricare West",
        +  "UMR"
        +]
    • Changedfind_provider1 field changed
      • changedInput schema / properties / insurance / enum
        Previous value: -[
        -  "Cash Pay",
        -  "Aetna",
        -  "Anthem Blue Cross",
        -  "Baylor Scott & White",
        -  "Blue Cross Blue Shield",
        -  "ChampVA",
        -  "Cigna",
        -  "Florida Blue",
        -  "Magellan",
        -  "Medical Mutual",
        -  "United Healthcare",
        -  "Optum",
        -  "Oscar",
        -  "Tricare",
        -  "Tricare West",
        -  "UMR"
        -]New value: +[
        +  "Cash Pay",
        +  "Aetna",
        +  "Anthem Blue Cross",
        +  "Blue Cross Blue Shield",
        +  "ChampVA",
        +  "Cigna",
        +  "Florida Blue",
        +  "Magellan",
        +  "Medical Mutual",
        +  "United Healthcare",
        +  "Optum",
        +  "Oscar",
        +  "Tricare",
        +  "Tricare West",
        +  "UMR"
        +]
    • Changedget_cost_estimate1 field changed
      • changedInput schema / properties / insurance / enum
        Previous value: -[
        -  "Cash Pay",
        -  "Aetna",
        -  "Anthem Blue Cross",
        -  "Baylor Scott & White",
        -  "Blue Cross Blue Shield",
        -  "ChampVA",
        -  "Cigna",
        -  "Florida Blue",
        -  "Magellan",
        -  "Medical Mutual",
        -  "United Healthcare",
        -  "Optum",
        -  "Oscar",
        -  "Tricare",
        -  "Tricare West",
        -  "UMR"
        -]New value: +[
        +  "Cash Pay",
        +  "Aetna",
        +  "Anthem Blue Cross",
        +  "Blue Cross Blue Shield",
        +  "ChampVA",
        +  "Cigna",
        +  "Florida Blue",
        +  "Magellan",
        +  "Medical Mutual",
        +  "United Healthcare",
        +  "Optum",
        +  "Oscar",
        +  "Tricare",
        +  "Tricare West",
        +  "UMR"
        +]
    • Changedstart_here1 field changed
      • changedInput schema / properties / insurance / enum
        Previous value: -[
        -  "Cash Pay",
        -  "Aetna",
        -  "Anthem Blue Cross",
        -  "Baylor Scott & White",
        -  "Blue Cross Blue Shield",
        -  "ChampVA",
        -  "Cigna",
        -  "Florida Blue",
        -  "Magellan",
        -  "Medical Mutual",
        -  "United Healthcare",
        -  "Optum",
        -  "Oscar",
        -  "Tricare",
        -  "Tricare West",
        -  "UMR"
        -]New value: +[
        +  "Cash Pay",
        +  "Aetna",
        +  "Anthem Blue Cross",
        +  "Blue Cross Blue Shield",
        +  "ChampVA",
        +  "Cigna",
        +  "Florida Blue",
        +  "Magellan",
        +  "Medical Mutual",
        +  "United Healthcare",
        +  "Optum",
        +  "Oscar",
        +  "Tricare",
        +  "Tricare West",
        +  "UMR"
        +]
  4. 5 tool updates
    • Changedbook_appointment1 field changed
      • changedInput schema / properties / state / enum
        Previous value: -[
        -  "Florida",
        -  "Texas",
        -  "Illinois",
        -  "North Carolina",
        -  "Ohio",
        -  "Missouri",
        -  "Arizona",
        -  "Georgia",
        -  "Wisconsin",
        -  "South Carolina",
        -  "Indiana"
        -]New value: +[
        +  "Florida",
        +  "Texas",
        +  "Illinois",
        +  "North Carolina",
        +  "Georgia",
        +  "Ohio",
        +  "Missouri",
        +  "Arizona",
        +  "Wisconsin",
        +  "South Carolina",
        +  "Indiana"
        +]
    • Changedbook_matching_session1 field changed
      • changedInput schema / properties / state / enum
        Previous value: -[
        -  "Florida",
        -  "Texas",
        -  "Illinois",
        -  "North Carolina",
        -  "Ohio",
        -  "Missouri",
        -  "Arizona",
        -  "Georgia",
        -  "Wisconsin",
        -  "South Carolina",
        -  "Indiana"
        -]New value: +[
        +  "Florida",
        +  "Texas",
        +  "Illinois",
        +  "North Carolina",
        +  "Georgia",
        +  "Ohio",
        +  "Missouri",
        +  "Arizona",
        +  "Wisconsin",
        +  "South Carolina",
        +  "Indiana"
        +]
    • Changedcheck_availability1 field changed
      • changedInput schema / properties / state / enum
        Previous value: -[
        -  "Florida",
        -  "Texas",
        -  "Illinois",
        -  "North Carolina",
        -  "Ohio",
        -  "Missouri",
        -  "Arizona",
        -  "Georgia",
        -  "Wisconsin",
        -  "South Carolina",
        -  "Indiana"
        -]New value: +[
        +  "Florida",
        +  "Texas",
        +  "Illinois",
        +  "North Carolina",
        +  "Georgia",
        +  "Ohio",
        +  "Missouri",
        +  "Arizona",
        +  "Wisconsin",
        +  "South Carolina",
        +  "Indiana"
        +]
    • Changedfind_provider1 field changed
      • changedInput schema / properties / state / enum
        Previous value: -[
        -  "Florida",
        -  "Texas",
        -  "Illinois",
        -  "North Carolina",
        -  "Ohio",
        -  "Missouri",
        -  "Arizona",
        -  "Georgia",
        -  "Wisconsin",
        -  "South Carolina",
        -  "Indiana"
        -]New value: +[
        +  "Florida",
        +  "Texas",
        +  "Illinois",
        +  "North Carolina",
        +  "Georgia",
        +  "Ohio",
        +  "Missouri",
        +  "Arizona",
        +  "Wisconsin",
        +  "South Carolina",
        +  "Indiana"
        +]
    • Changedstart_here1 field changed
      • changedInput schema / properties / state / enum
        Previous value: -[
        -  "Florida",
        -  "Texas",
        -  "Illinois",
        -  "North Carolina",
        -  "Ohio",
        -  "Missouri",
        -  "Arizona",
        -  "Georgia",
        -  "Wisconsin",
        -  "South Carolina",
        -  "Indiana"
        -]New value: +[
        +  "Florida",
        +  "Texas",
        +  "Illinois",
        +  "North Carolina",
        +  "Georgia",
        +  "Ohio",
        +  "Missouri",
        +  "Arizona",
        +  "Wisconsin",
        +  "South Carolina",
        +  "Indiana"
        +]
  5. 5 tool updates
    • Changedbook_appointment1 field changed
      • changedInput schema / properties / insurance / enum
        Previous value: -[
        -  "Cash Pay",
        -  "Aetna",
        -  "Anthem Blue Cross",
        -  "Baylor Scott & White",
        -  "Blue Cross Blue Shield",
        -  "ChampVA",
        -  "Cigna",
        -  "Florida Blue",
        -  "Magellan",
        -  "United Healthcare",
        -  "Optum",
        -  "Oscar",
        -  "Tricare",
        -  "Tricare West",
        -  "UMR"
        -]New value: +[
        +  "Cash Pay",
        +  "Aetna",
        +  "Anthem Blue Cross",
        +  "Baylor Scott & White",
        +  "Blue Cross Blue Shield",
        +  "ChampVA",
        +  "Cigna",
        +  "Florida Blue",
        +  "Magellan",
        +  "Medical Mutual",
        +  "United Healthcare",
        +  "Optum",
        +  "Oscar",
        +  "Tricare",
        +  "Tricare West",
        +  "UMR"
        +]
    • Changedbook_matching_session1 field changed
      • changedInput schema / properties / insurance / enum
        Previous value: -[
        -  "Cash Pay",
        -  "Aetna",
        -  "Anthem Blue Cross",
        -  "Baylor Scott & White",
        -  "Blue Cross Blue Shield",
        -  "ChampVA",
        -  "Cigna",
        -  "Florida Blue",
        -  "Magellan",
        -  "United Healthcare",
        -  "Optum",
        -  "Oscar",
        -  "Tricare",
        -  "Tricare West",
        -  "UMR"
        -]New value: +[
        +  "Cash Pay",
        +  "Aetna",
        +  "Anthem Blue Cross",
        +  "Baylor Scott & White",
        +  "Blue Cross Blue Shield",
        +  "ChampVA",
        +  "Cigna",
        +  "Florida Blue",
        +  "Magellan",
        +  "Medical Mutual",
        +  "United Healthcare",
        +  "Optum",
        +  "Oscar",
        +  "Tricare",
        +  "Tricare West",
        +  "UMR"
        +]
    • Changedfind_provider1 field changed
      • changedInput schema / properties / insurance / enum
        Previous value: -[
        -  "Cash Pay",
        -  "Aetna",
        -  "Anthem Blue Cross",
        -  "Baylor Scott & White",
        -  "Blue Cross Blue Shield",
        -  "ChampVA",
        -  "Cigna",
        -  "Florida Blue",
        -  "Magellan",
        -  "United Healthcare",
        -  "Optum",
        -  "Oscar",
        -  "Tricare",
        -  "Tricare West",
        -  "UMR"
        -]New value: +[
        +  "Cash Pay",
        +  "Aetna",
        +  "Anthem Blue Cross",
        +  "Baylor Scott & White",
        +  "Blue Cross Blue Shield",
        +  "ChampVA",
        +  "Cigna",
        +  "Florida Blue",
        +  "Magellan",
        +  "Medical Mutual",
        +  "United Healthcare",
        +  "Optum",
        +  "Oscar",
        +  "Tricare",
        +  "Tricare West",
        +  "UMR"
        +]
    • Changedget_cost_estimate1 field changed
      • changedInput schema / properties / insurance / enum
        Previous value: -[
        -  "Cash Pay",
        -  "Aetna",
        -  "Anthem Blue Cross",
        -  "Baylor Scott & White",
        -  "Blue Cross Blue Shield",
        -  "ChampVA",
        -  "Cigna",
        -  "Florida Blue",
        -  "Magellan",
        -  "United Healthcare",
        -  "Optum",
        -  "Oscar",
        -  "Tricare",
        -  "Tricare West",
        -  "UMR"
        -]New value: +[
        +  "Cash Pay",
        +  "Aetna",
        +  "Anthem Blue Cross",
        +  "Baylor Scott & White",
        +  "Blue Cross Blue Shield",
        +  "ChampVA",
        +  "Cigna",
        +  "Florida Blue",
        +  "Magellan",
        +  "Medical Mutual",
        +  "United Healthcare",
        +  "Optum",
        +  "Oscar",
        +  "Tricare",
        +  "Tricare West",
        +  "UMR"
        +]
    • Changedstart_here1 field changed
      • changedInput schema / properties / insurance / enum
        Previous value: -[
        -  "Cash Pay",
        -  "Aetna",
        -  "Anthem Blue Cross",
        -  "Baylor Scott & White",
        -  "Blue Cross Blue Shield",
        -  "ChampVA",
        -  "Cigna",
        -  "Florida Blue",
        -  "Magellan",
        -  "United Healthcare",
        -  "Optum",
        -  "Oscar",
        -  "Tricare",
        -  "Tricare West",
        -  "UMR"
        -]New value: +[
        +  "Cash Pay",
        +  "Aetna",
        +  "Anthem Blue Cross",
        +  "Baylor Scott & White",
        +  "Blue Cross Blue Shield",
        +  "ChampVA",
        +  "Cigna",
        +  "Florida Blue",
        +  "Magellan",
        +  "Medical Mutual",
        +  "United Healthcare",
        +  "Optum",
        +  "Oscar",
        +  "Tricare",
        +  "Tricare West",
        +  "UMR"
        +]
  6. 10 tool updates
    • Changedabout_emora1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedbook_appointment1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedbook_matching_session1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedbrowse_pages1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedcheck_availability1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedfind_provider1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedget_cost_estimate1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedget_crisis_resources1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedsearch_content1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedstart_here1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  7. 1 tool update
    • Changedfind_provider1 field changed
      • changedInput schema / properties / concerns / items / enum
        Previous value: -[
        -  "sep-anxiety",
        -  "gad",
        -  "social-anxiety",
        -  "specific-phobia",
        -  "panic-attacks",
        -  "depression",
        -  "bipolar",
        -  "irritability",
        -  "grief",
        -  "adhd",
        -  "odd",
        -  "conduct",
        -  "impulsivity",
        -  "autism",
        -  "speech-delay",
        -  "motor-delay",
        -  "learning-disability",
        -  "sleep-disorder",
        -  "peer-issues",
        -  "life-transitions",
        -  "family-changes",
        -  "relocation",
        -  "social-stress",
        -  "relationship-issues",
        -  "build-confidence",
        -  "grow-faith",
        -  "mindfulness",
        -  "personal-values",
        -  "resilience",
        -  "self-compassion",
        -  "unsure",
        -  "other"
        -]New value: +[
        +  "parenting-stress",
        +  "sep-anxiety",
        +  "gad",
        +  "social-anxiety",
        +  "specific-phobia",
        +  "panic-attacks",
        +  "depression",
        +  "bipolar",
        +  "irritability",
        +  "grief",
        +  "adhd",
        +  "odd",
        +  "conduct",
        +  "impulsivity",
        +  "autism",
        +  "speech-delay",
        +  "motor-delay",
        +  "learning-disability",
        +  "sleep-disorder",
        +  "peer-issues",
        +  "life-transitions",
        +  "family-changes",
        +  "relocation",
        +  "social-stress",
        +  "relationship-issues",
        +  "build-confidence",
        +  "grow-faith",
        +  "mindfulness",
        +  "personal-values",
        +  "resilience",
        +  "self-compassion",
        +  "unsure",
        +  "other"
        +]
  8. 2 tool updates
    • Changedbook_appointment1 field changed
      • changedInput schema / properties / date_time / description
        Previous value: -"Time slot string from check_availability (e.g. \"2026-04-27 13:00:00 -0400\"). REQUIRED — the booking form is stuck on step 1 without it. Pass exactly as received from check_availability."New value: +"Time slot string from check_availability (e.g. \"2026-04-27T13:00:00-04:00\"). REQUIRED — the booking form is stuck on step 1 without it. Pass exactly as received from check_availability."
    • Changedbook_matching_session1 field changed
      • changedInput schema / properties / date_time / description
        Previous value: -"Time slot string from check_availability for the chosen intake specialist (e.g. \"2026-04-27 13:00:00 -0400\"). REQUIRED — the booking form is stuck on step 1 without it. Pass exactly as received from check_availability."New value: +"Time slot string from check_availability for the chosen intake specialist (e.g. \"2026-04-27T13:00:00-04:00\"). REQUIRED — the booking form is stuck on step 1 without it. Pass exactly as received from check_availability."
  9. 5 tool updates
    • Changedbook_appointment1 field changed
      • changedInput schema / properties / state / enum
        Previous value: -[
        -  "Florida",
        -  "Texas",
        -  "Illinois",
        -  "North Carolina",
        -  "Ohio",
        -  "Missouri",
        -  "Arizona",
        -  "Georgia",
        -  "Wisconsin",
        -  "South Carolina"
        -]New value: +[
        +  "Florida",
        +  "Texas",
        +  "Illinois",
        +  "North Carolina",
        +  "Ohio",
        +  "Missouri",
        +  "Arizona",
        +  "Georgia",
        +  "Wisconsin",
        +  "South Carolina",
        +  "Indiana"
        +]
    • Changedbook_matching_session1 field changed
      • changedInput schema / properties / state / enum
        Previous value: -[
        -  "Florida",
        -  "Texas",
        -  "Illinois",
        -  "North Carolina",
        -  "Ohio",
        -  "Missouri",
        -  "Arizona",
        -  "Georgia",
        -  "Wisconsin",
        -  "South Carolina"
        -]New value: +[
        +  "Florida",
        +  "Texas",
        +  "Illinois",
        +  "North Carolina",
        +  "Ohio",
        +  "Missouri",
        +  "Arizona",
        +  "Georgia",
        +  "Wisconsin",
        +  "South Carolina",
        +  "Indiana"
        +]
    • Changedcheck_availability1 field changed
      • changedInput schema / properties / state / enum
        Previous value: -[
        -  "Florida",
        -  "Texas",
        -  "Illinois",
        -  "North Carolina",
        -  "Ohio",
        -  "Missouri",
        -  "Arizona",
        -  "Georgia",
        -  "Wisconsin",
        -  "South Carolina"
        -]New value: +[
        +  "Florida",
        +  "Texas",
        +  "Illinois",
        +  "North Carolina",
        +  "Ohio",
        +  "Missouri",
        +  "Arizona",
        +  "Georgia",
        +  "Wisconsin",
        +  "South Carolina",
        +  "Indiana"
        +]
    • Changedfind_provider1 field changed
      • changedInput schema / properties / state / enum
        Previous value: -[
        -  "Florida",
        -  "Texas",
        -  "Illinois",
        -  "North Carolina",
        -  "Ohio",
        -  "Missouri",
        -  "Arizona",
        -  "Georgia",
        -  "Wisconsin",
        -  "South Carolina"
        -]New value: +[
        +  "Florida",
        +  "Texas",
        +  "Illinois",
        +  "North Carolina",
        +  "Ohio",
        +  "Missouri",
        +  "Arizona",
        +  "Georgia",
        +  "Wisconsin",
        +  "South Carolina",
        +  "Indiana"
        +]
    • Changedstart_here1 field changed
      • changedInput schema / properties / state / enum
        Previous value: -[
        -  "Florida",
        -  "Texas",
        -  "Illinois",
        -  "North Carolina",
        -  "Ohio",
        -  "Missouri",
        -  "Arizona",
        -  "Georgia",
        -  "Wisconsin",
        -  "South Carolina"
        -]New value: +[
        +  "Florida",
        +  "Texas",
        +  "Illinois",
        +  "North Carolina",
        +  "Ohio",
        +  "Missouri",
        +  "Arizona",
        +  "Georgia",
        +  "Wisconsin",
        +  "South Carolina",
        +  "Indiana"
        +]
  10. 10 tool updates
    • Changedabout_emora1 field changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
    • Changedbook_appointment2 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • changedInput schema / properties / appointment_type / enum
        Previous value: -[
        -  "354092",
        -  "446840",
        -  "465593",
        -  "446841",
        -  "449671"
        -]New value: +[
        +  "354092",
        +  "446840",
        +  "446841",
        +  "449671",
        +  "465593"
        +]
    • Changedbook_matching_session1 field changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
    • Changedbrowse_pages1 field changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
    • Changedcheck_availability2 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • changedInput schema / properties / appointment_type / enum
        Previous value: -[
        -  "354092",
        -  "446840",
        -  "465593",
        -  "446841",
        -  "449671"
        -]New value: +[
        +  "354092",
        +  "446840",
        +  "446841",
        +  "449671",
        +  "465593"
        +]
    • Changedfind_provider2 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • changedInput schema / properties / appointment_type / enum
        Previous value: -[
        -  "354092",
        -  "446840",
        -  "465593",
        -  "446841",
        -  "449671"
        -]New value: +[
        +  "354092",
        +  "446840",
        +  "446841",
        +  "449671",
        +  "465593"
        +]
    • Changedget_cost_estimate2 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • changedInput schema / properties / service / enum
        Previous value: -[
        -  "354092",
        -  "446840",
        -  "465593",
        -  "446841",
        -  "449671"
        -]New value: +[
        +  "354092",
        +  "446840",
        +  "446841",
        +  "449671",
        +  "465593"
        +]
    • Changedget_crisis_resources1 field changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
    • Changedsearch_content1 field changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
    • Changedstart_here1 field changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
  11. 2 tool updates
    • Changedbook_appointment2 fields changed
      • changedInput schema / properties / date_time / description
        Previous value: -"Time slot string from check_availability (e.g. \"2026-04-27 13:00:00 -0400\"). Pass exactly as received."New value: +"Time slot string from check_availability (e.g. \"2026-04-27 13:00:00 -0400\"). REQUIRED — the booking form is stuck on step 1 without it. Pass exactly as received from check_availability."
      • changedInput schema / required
        Previous value: -[
        -  "provider_id",
        -  "state",
        -  "appointment_type"
        -]New value: +[
        +  "provider_id",
        +  "state",
        +  "appointment_type",
        +  "date_time"
        +]
    • Changedbook_matching_session3 fields changed
      • changedInput schema / properties / date_time / description
        Previous value: -"Optional. If the user has already chosen a slot from check_availability for the matching-session intake type, pass it here. Otherwise the booking page lets the user pick."New value: +"Time slot string from check_availability for the chosen intake specialist (e.g. \"2026-04-27 13:00:00 -0400\"). REQUIRED — the booking form is stuck on step 1 without it. Pass exactly as received from check_availability."
      • addedInput schema / properties / provider_id
        Added value: +{
        +  "description": "Healthie ID of the intake specialist. Get this from find_provider with appointment_type='446840'. REQUIRED — never construct the URL without it.",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "state"
        -]New value: +[
        +  "provider_id",
        +  "state",
        +  "date_time"
        +]
  12. 10 tool updates
    • First observedabout_emora
    • First observedbook_appointment
    • First observedbook_matching_session
    • First observedbrowse_pages
    • First observedcheck_availability
    • First observedfind_provider
    • First observedget_cost_estimate
    • First observedget_crisis_resources
    • First observedsearch_content
    • First observedstart_here

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to search an Oscar Health in-network provider directory for doctors and facilities, with specialty resolution, local filtering by gender and review quality, plan details, and live provider records.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Provides live US healthcare cost data including procedure cost estimates, provider pricing, insurance coverage rules, and medical bill analysis using real hospital transparency and CMS data.
    12
    49 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources