Emora Health
Find kids' and teens' mental health clinicians, check availability, get booking links and costs.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"mental-health-care": {
"url": "https://www.emorahealth.com/api/mcp/v1"
}
}
}Remote endpoints
https://www.emorahealth.com/api/mcp/v1streamable-httpWhat it can do
Tool inventory
Tools (8)
๐ขrecommend_care(concern, age, state, service, insurance)
[Step 1 of find_a_clinician ยท optional] Takes a parent's concern and returns a recommended path: crisis resources when there is danger, the service that fits (therapy, medication, ADHD or autism testing, or a clinical matching session), matched clinicians with their next opening, and related care resources. Says so when the family's state is not one Emora serves. Use when: A parent has described a concern and the next step (crisis help, a clinician, reading, or all three) is not yet clear. Don't use when: A clinician is already chosen: get_availability and get_booking_link cover the rest. Example: recommend_care({ concern: "Teacher thinks my 9-year-old may have ADHD", state: "Texas", age: 9, insurance: "Aetna" })
Input Schema
{
"type": "object",
"properties": {
"concern": {
"type": "string",
"description": "What the parent is worried about, in their words."
},
"age": {
"type": "number",
"description": "Child's age in years."
},
"state": {
"type": "string",
"description": "U.S. state, full name or 2-letter code. For a state Emora does not serve, the result says so and lists alternatives."
},
"service": {
"type": "string",
"enum": [
"therapy",
"clinical-matching",
"medication",
"adhd-testing",
"autism-testing"
],
"description": "Optional; inferred from the concern when omitted. therapy, clinical-matching, medication, adhd-testing or autism-testing."
},
"insurance": {
"type": "string",
"description": "Insurance plan name, or \"Cash Pay\" for self-pay. A plan Emora does not take is ignored, and the result says so."
}
},
"required": [
"concern"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}๐ขsearch_providers(state, service, concerns, preferred_approaches, insurance, ...)
[Step 2 of find_a_clinician] Returns Emora clinicians who fit a state, service, insurance and child's age, ranked by clinical fit when concerns are given, then by availability and reviews. Each result has the clinician's next opening. Ten per page; limit and offset page through the rest. Use when: A family wants to see clinicians: therapists, psychiatric prescribers, psychologists for testing, or intake specialists (service clinical-matching). Don't use when: The family hasn't said what they're worried about yet: recommend_care orients first. Example: search_providers({ state: 'Florida', service: 'therapy', concerns: ['social-anxiety'], insurance: 'Aetna', client_age: 12 })
Input Schema
{
"type": "object",
"properties": {
"state": {
"type": "string",
"description": "U.S. state, full name or 2-letter code. For a state Emora does not serve, the result says so and lists alternatives."
},
"service": {
"type": "string",
"enum": [
"therapy",
"clinical-matching",
"medication",
"adhd-testing",
"autism-testing"
],
"description": "therapy (the default), clinical-matching (unsure what is needed), medication (non-stimulant only), adhd-testing or autism-testing."
},
"concerns": {
"type": "array",
"items": {
"type": "string",
"enum": [
"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"
]
},
"description": "One to three concern IDs from the list. More than three dilutes the ranking."
},
"preferred_approaches": {
"type": "array",
"items": {
"type": "string"
},
"description": "Therapy approaches, e.g. [\"cbt\",\"playTherapy\"]. Clinicians who use them rank higher."
},
"insurance": {
"type": "string",
"description": "Insurance plan name, or \"Cash Pay\" for self-pay. A plan Emora does not take is ignored, and the result says so."
},
"client_age": {
"type": "number",
"description": "Child's age in years."
},
"preferred_gender": {
"type": "string",
"description": "Clinician gender preference: 'female', 'male' or 'non-binary'."
},
"preferred_language": {
"type": "string",
"description": "A language other than English the clinician should speak."
},
"continuation": {
"type": "string",
"description": "Token from a previous search_providers result. Repeats its filters; new arguments take precedence."
},
"limit": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Matches to return. Defaults to 10, with no maximum."
},
"offset": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Matches to skip. next_offset from a previous result gives the next page."
}
},
"required": [
"state",
"service"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}๐ขget_availability(state, service, provider_id, time_zone)
[Step 3 of find_a_clinician] Returns open appointment times for one clinician and service, grouped by day and labelled in the family's state time zone. Each time carries the date_time value that get_booking_link takes. Use when: A family has chosen a clinician and wants to see open times. Don't use when: No clinician is chosen yet: search_providers or recommend_care find one. Example: get_availability({ state: 'Texas', service: 'adhd-testing', provider_id: '7598079' })
Input Schema
{
"type": "object",
"properties": {
"state": {
"type": "string",
"description": "U.S. state, full name or 2-letter code. For a state Emora does not serve, the result says so and lists alternatives."
},
"service": {
"type": "string",
"enum": [
"therapy",
"clinical-matching",
"medication",
"adhd-testing",
"autism-testing"
],
"description": "therapy (the default), clinical-matching (unsure what is needed), medication (non-stimulant only), adhd-testing or autism-testing."
},
"provider_id": {
"type": "string",
"description": "Clinician id from search_providers or recommend_care."
},
"time_zone": {
"type": "string",
"description": "Optional IANA time zone, e.g. 'America/Chicago'. Defaults to the state's main zone."
}
},
"required": [
"state",
"service",
"provider_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}๐ขget_booking_link(agent, provider_id, state, service, date_time, ...)
[Step 4 of find_a_clinician] Returns a booking link pre-filled with the clinician, service, time, state and insurance. Nothing is booked: the family opens the link and completes checkout, which takes about 2 minutes. A Clinical Matching Session is service clinical-matching with an intake specialist. Use when: A family has chosen a clinician and a time from get_availability. Don't use when: No clinician or time yet: search_providers and get_availability come first. Example: get_booking_link({ provider_id: '7598079', state: 'Texas', service: 'adhd-testing', date_time: '2026-10-29T14:00:00-05:00', insurance: 'Aetna' })
Input Schema
{
"type": "object",
"properties": {
"agent": {
"type": "string",
"description": "Optional. Your agent or product name, e.g. \"chatgpt\". Added to the booking link as utm_source."
},
"provider_id": {
"type": "string",
"description": "Clinician id from search_providers."
},
"state": {
"type": "string",
"description": "U.S. state, full name or 2-letter code. For a state Emora does not serve, the result says so and lists alternatives."
},
"service": {
"type": "string",
"enum": [
"therapy",
"clinical-matching",
"medication",
"adhd-testing",
"autism-testing"
],
"description": "therapy (the default), clinical-matching (unsure what is needed), medication (non-stimulant only), adhd-testing or autism-testing."
},
"date_time": {
"type": "string",
"description": "The date_time of a slot from get_availability, unchanged, e.g. \"2026-10-29T14:00:00-05:00\"."
},
"insurance": {
"type": "string",
"description": "Insurance plan name, or \"Cash Pay\" for self-pay. A plan Emora does not take is ignored, and the result says so."
},
"client_age": {
"type": "number",
"description": "Child's age in years."
}
},
"required": [
"provider_id",
"state",
"service",
"date_time"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}๐ขsearch_care_resources(query, type, limit)
[Step 2 of explore_information] Searches Emora's clinician-reviewed resources for parents by words: articles on behavior, conditions, treatment and medication, free self-tests, activities, condition and specialty pages, and clinical insights. Each result has a type, title, description and URL to cite. Use when: A parent wants to understand something (a behavior, a condition, a treatment, a medication question) or asks for a test, worksheet or activity. Don't use when: The parent wants a clinician: search_providers or recommend_care. Example: search_care_resources({ query: 'social anxiety test for teens' })
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "The parent's question or topic, in their words."
},
"type": {
"type": "string",
"enum": [
"article",
"self_test",
"activity",
"condition",
"specialty",
"clinical_insight"
],
"description": "Optional. Only this kind of resource."
},
"limit": {
"type": "number",
"description": "Results to return (default 10, max 20)."
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}๐ขget_cost_estimate(insurance, service)
[Step 1 of cost_check] Returns a general cost range and a link to the cost estimate page, pre-filled with the plan and service, where the family sees the exact amount for their plan. Use when: A parent asks what care costs, about a copay, or whether a plan is covered. Example: get_cost_estimate({ insurance: 'Aetna', service: 'adhd-testing' })
Input Schema
{
"type": "object",
"properties": {
"insurance": {
"type": "string",
"description": "Insurance plan name, or \"Cash Pay\" for self-pay. A plan Emora does not take is ignored, and the result says so."
},
"service": {
"type": "string",
"enum": [
"therapy",
"clinical-matching",
"medication",
"adhd-testing",
"autism-testing"
],
"description": "therapy (the default), clinical-matching (unsure what is needed), medication (non-stimulant only), adhd-testing or autism-testing."
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}๐ขget_emora_overview
[Step 1 of explore_information ยท optional] Describes Emora Health: services, states served, insurance accepted, ages seen, how care works, and how to reach the care team. Use when: A parent asks what Emora is, what it offers, where it works, or which plans it takes. Example: get_emora_overview({})
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}๐ขget_crisis_resources
[Step 1 of crisis] Returns 911, the 988 Suicide & Crisis Lifeline and the Crisis Text Line, for a child or teen in danger now. Use when: Any mention of self-harm, suicidal thoughts, or someone in immediate danger. Example: get_crisis_resources({})
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Evidence