Comprehensive Model Context Protocol server for managing Home Assistant through AI assistants.
Chia Health is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Licensed US telehealth — GLP-1 medications, intake, consents, Stripe ACP. HIPAA-compliant, 30 tools.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http chia-health-mcp https://mcp.chia.health/
# 2 — ask your agent for something these tools do
# auth_start, auth_verify_otp, auth_resend_otp and 31 more
Chia Health costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http chia-health-mcp https://mcp.chia.health/Reconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
34 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Start a patient session by providing their contact information. Sends a 6-digit verification code to the patient's email. Returns a session_id (NOT a token). The session_id is used with auth_verify_otp to prove email ownership and get a bearer token. The code is in the email subject line: 'Chia Health: Your code is XXXXXX'. If you have access to the patient's email (e.g. Gmail MCP), search for t
| Parameter | Type | Required | Notes |
|---|---|---|---|
| string | yes | Patient's email address | |
| phone | string | yes | Patient's phone number (US format) |
| first_name | string | yes | Patient's first name |
| last_name | string | no | Patient's last name |
Verify the 6-digit code sent to the patient's email. Returns a guest-scope bearer token for intake, consent, order, and checkout tools. Requires the session_id from auth_start — no email needed. After checkout and payment, call auth_check_payment to upgrade the token to full scope for portal access.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| session_id | string | yes | Session ID from auth_start |
| code | string | yes | 6-digit verification code from the email |
Resend the verification code to the patient's email. Use this if the original code expired (5-minute window) or was not received. Requires the session_id from auth_start — no email needed.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| session_id | string | yes | Session ID from auth_start |
Check if the patient has completed payment and upgrade the token to full scope. Call this after sharing the checkout payment link with the patient. Poll every 10-15 seconds. When payment is detected, the token is automatically upgraded to full scope, unlocking portal tools (care plan, refills, messaging, weight logs, etc.). Requires the guest token from auth_verify_otp as bearer_token.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| bearer_token | string | no | Guest token from auth_verify_otp |
List all available prescription medications including GLP-1 weight loss drugs (compounded semaglutide, compounded tirzepatide), peptide therapies (sermorelin for growth hormone support, NAD+ for cellular energy and anti-aging, glutathione for antioxidant support), and other compounded wellness treatments. Returns medication names, categories, available forms (injectable, oral tablet, sublingual dr
| Parameter | Type | Required | Notes |
|---|---|---|---|
| client_ip | string | no | Client IP address for rate limiting |
Get detailed information about a specific medication including: all available dosage strengths and titration schedules, available forms (injectable vials, pre-filled syringes, oral dissolving tablets, sublingual drops), all active plan options with pricing for each, what's included (provider consultation, medication, shipping, ongoing support), contraindications, and common side effects. Supports
| Parameter | Type | Required | Notes |
|---|---|---|---|
| medication | string | yes | Medication name (e.g. 'semaglutide', 'tirzepatide', 'sermorelin', 'NAD+', 'glutathione') |
| category | no | Filter by category (e.g. 'weight loss', 'peptides', 'anti-aging') | |
| client_ip | string | no | Client IP address for rate limiting |
Check if a specific medication is available for shipping to the patient's state. Some compounded medications have state-specific restrictions based on pharmacy licensing. Returns availability status and reason if unavailable.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| medication | string | yes | Medication name to check availability for |
| state | string | yes | US state abbreviation (e.g. 'CA', 'NY', 'TX') |
| client_ip | string | no | Client IP address for rate limiting |
Get detailed pricing for a specific medication, form, and plan duration. Returns price breakdown including medication cost, provider consultation fee, shipping, and any applicable discounts for longer plans. Plan durations vary by medication — use medications_details first to see available plan_months values. Supports semaglutide, tirzepatide, sermorelin, NAD+, glutathione and all other available
| Parameter | Type | Required | Notes |
|---|---|---|---|
| medication | string | yes | Medication name |
| form | string | yes | Medication form: 'injectable', 'tablet', or 'drops' |
| plan_months | integer | yes | Plan duration in months (1, 4, or 6) |
| client_ip | string | no | Client IP address for rate limiting |
List all medication categories available through the telehealth platform: Weight Loss (GLP-1 medications), Peptide Therapy (sermorelin, growth hormone peptides), Anti-Aging & Longevity (NAD+, glutathione), and other treatment categories. Each category includes a description and count of available medications.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| client_ip | string | no | Client IP address for rate limiting |
Pre-screen a patient's basic eligibility for telehealth prescription services. Required: age (18+) and state (where the patient resides). Optional: BMI (20+ required for GLP-1 / weight-loss products), biological sex, pregnancy status, and diagnosed conditions. Only pass parameters that apply to this patient. pregnancy_status applies ONLY when biological sex is female — omit it entirely for male
| Parameter | Type | Required | Notes |
|---|---|---|---|
| age | integer | yes | Patient's age in years (must be 18+). Confirm with the patient before submitting. |
| state | string | yes | US state abbreviation (e.g. 'CA', 'NY') where the patient resides. Confirm before submitting. |
| bmi | no | Patient's Body Mass Index. Required for GLP-1 / weight-loss eligibility (must be 20+). Omit for longevity products. Compute from confirmed height + weight; don't ask the patient to compute it themselv | |
| sex | no | Patient's biological sex. Pass 'female' when you'll also pass pregnancy_status (so the server knows pregnancy screening was considered). Pass 'male' to make it explicit that pregnancy screening does | |
| pregnancy_status | no | Pregnancy status. Use one of these exact values: 'not pregnant', 'currently pregnant', 'planning pregnancy', 'breastfeeding'. ONLY applies when sex == 'female'. OMIT this parameter entirely for biolog | |
| conditions | no | List of diagnosed medical conditions the patient confirms they have. Disqualifiers include medullary thyroid carcinoma (MTC) and MEN2 syndrome. Omit if the patient has no diagnosed conditions or hasn' | |
| client_ip | string | no | Client IP address for rate limiting |
Get the medical intake questionnaire for the chosen medication(s). The questionnaire is product-aware: GLP-1 / weight-loss medications return weight-loss goals, GLP-1 history, and MTC/MEN2 screening; NAD+ and other longevity peptides return energy/sleep/stress/cognitive/delivery-method questions instead. If the patient wants more than one medication, pass the additional slugs in `additional_medica
| Parameter | Type | Required | Notes |
|---|---|---|---|
| medication | string | yes | Primary medication slug (e.g. 'semaglutide', 'nad-injection', 'nad-nasal-spray') |
| additional_medications | no | Optional list of additional medication slugs the patient also wants. Use this when the patient is ordering more than one product in the same visit (e.g. GLP-1 + NAD+) so the questionnaire is deduped. | |
| client_ip | string | no | Client IP address for rate limiting |
Submit a completed medical intake questionnaire for provider review. All fields from intake_questions must be completed. Returns an intake ID and estimated provider review time. The intake is reviewed by a licensed US healthcare provider who makes all prescribing decisions. Requires authentication.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| patient_email | string | yes | Patient's email address |
| patient_name | string | yes | Patient's full legal name |
| intake_answers | object | yes | Completed intake questionnaire answers from intake_questions |
| bearer_token | string | no | Authentication token for the patient session |
Check the current status of a previously submitted intake questionnaire. Returns whether the intake is under review, approved, or denied by a licensed healthcare provider. Use this to poll for provider review completion before proceeding to order placement. Requires authentication.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| intake_id | string | yes | Intake ID returned from intake_submit |
| bearer_token | string | no | Authentication token for the patient session |
Get the list of all consent documents a patient must accept before ordering medication. Returns consent IDs, titles, summaries, and order of presentation. Required consents include: telehealth informed consent, compounded medication treatment consent, pharmacy authorization, HIPAA notice of privacy practices, and AI-assisted intake disclosure. Each consent must be fetched individually via consent_
| Parameter | Type | Required | Notes |
|---|---|---|---|
| intake_id | string | yes | Intake ID to get required consents for |
| bearer_token | string | no | Authentication token for the patient session |
Fetch the full text of a specific consent document for patient review. Returns the complete consent document split into titled sections that the agent MUST present to the patient verbatim in the conversation — do not summarize or paraphrase. Includes: consent version number, effective date, section headings and body text, a confirmation prompt the patient should agree to, and withdrawal instructio
| Parameter | Type | Required | Notes |
|---|---|---|---|
| consent_id | string | yes | Consent document ID from consent_list |
| bearer_token | string | no | Authentication token for the patient session |
Record a patient's consent confirmation for a specific consent document. The agent must have already presented the full consent text (from consent_text) to the patient and received explicit confirmation. Required parameters: intake_id, consent_id, the patient's exact confirmation text (e.g. 'I agree'), consent method ('ai_agent_conversational'), the AI platform name ('chatgpt', 'claude', 'gemini')
| Parameter | Type | Required | Notes |
|---|---|---|---|
| intake_id | string | yes | Intake ID this consent belongs to |
| consent_id | string | yes | Consent document ID being confirmed |
| patient_confirmation | string | yes | Patient's exact confirmation text (e.g. 'I agree') |
| consent_method | string | no | Method of consent collection |
| agent_platform | string | no | AI platform name: 'chatgpt', 'claude', or 'gemini' |
| agent_session_id | string | no | Unique session/conversation ID for audit trail |
| timestamp | string | no | ISO 8601 timestamp of consent confirmation |
| bearer_token | string | no | Authentication token for the patient session |
Check whether all required consents are complete for a patient intake. Returns status of each consent and whether the patient can proceed to ordering. This is a gate — order_create will reject if consents are incomplete. Requires authentication.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| intake_id | string | yes | Intake ID to check consent completion for |
| bearer_token | string | no | Authentication token for the patient session |
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-lice
| Parameter | Type | Required | Notes |
|---|---|---|---|
| intake_id | string | yes | Approved intake ID from intake_submit |
| medication | string | yes | Medication name to order |
| form | string | yes | Medication form: 'injectable', 'tablet', or 'drops' |
| plan_months | integer | yes | Plan duration in months (1, 4, or 6) |
| shipping_address | object | yes | Shipping address with keys: line1, city, state, zip, and optional line2 |
| bearer_token | string | no | Authentication token for the patient session |
Get the current status of a medication order. Returns status (pending_review, provider_reviewing, approved, needs_info, denied, compounding, shipped, delivered), tracking information, and delivery estimate. Requires authentication.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| order_id | string | yes | Order ID from order_create |
| bearer_token | string | no | Authentication token for the patient session |
Get the list of documents a patient needs to upload for their order. Returns required documents (photo ID, selfie for verification) with upload status and accepted file formats. Requires authentication.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| order_id | string | yes | Order ID to check required documents for |
| bearer_token | string | no | Authentication token for the patient session |
Upload a verification document for a medication order. Accepts photo ID and selfie as base64-encoded files. Supported formats: PDF, JPEG, PNG. Maximum size: 10MB. Requires authentication.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| order_id | string | yes | Order ID to upload document for |
| document_type | string | yes | Document type: 'photo_id' or 'selfie' |
| file_base64 | string | yes | Base64-encoded file content (PDF, JPEG, or PNG, max 10MB) |
| file_name | string | yes | Original filename with extension (e.g. 'license.jpg') |
| bearer_token | string | no | Authentication token for the patient session |
Initiate a checkout session for a medication order. Returns checkout details including line items, total, and payment options. TWO PAYMENT PATHS are supported: 1. Stripe ACP (preferred): If your platform supports Stripe Agentic Commerce Protocol, provision a Shared Payment Token (SPT) and call checkout_complete to pay instantly. 2. Payment link (fallback): If ACP/SPT is not available, pre
| Parameter | Type | Required | Notes |
|---|---|---|---|
| order_id | string | yes | Order ID to create checkout for |
| bearer_token | string | no | Authentication token for the patient session |
Update an existing checkout session. Can modify shipping method, apply promo codes, or update customer details before payment is completed. Requires authentication.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| checkout_id | string | yes | Checkout session ID to update |
| updates | object | yes | Updates to apply: shipping method, promo code, or customer details |
| bearer_token | string | no | Authentication token for the patient session |
Complete payment using Stripe ACP (Shared Payment Token). Only use this if your platform supports Stripe Agentic Commerce Protocol and can provision an SPT. If your platform does NOT support ACP, use the payment_url from checkout_create instead, then poll checkout_status. Requires authentication.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| checkout_id | string | yes | Checkout session ID to complete payment for |
| shared_payment_token | string | yes | Stripe ACP Shared Payment Token (SPT) provisioned by the client platform |
| bearer_token | string | no | Authentication token for the patient session |
Check the payment status of a checkout session. Use this to poll for completion after sending the patient a payment link (the payment_url from checkout_create). When the patient pays via the link, this tool detects the payment, triggers order fulfillment, and returns the confirmation. Poll every 5-10 seconds while waiting. Requires authentication.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| checkout_id | string | yes | Checkout session ID to check payment status for |
| bearer_token | string | no | Authentication token for the patient session |
Cancel an in-progress checkout session. Releases any held inventory and cancels the associated Stripe PaymentIntent if not yet captured. Requires authentication.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| checkout_id | string | yes | Checkout session ID to cancel |
| bearer_token | string | no | Authentication token for the patient session |
Log a patient's weight for tracking progress on their treatment plan. Requires patient_id, weight in pounds, and date (ISO 8601). Requires authentication.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| patient_id | string | yes | Patient ID |
| weight_lbs | number | yes | Weight in pounds |
| date | string | yes | Date of weight measurement in ISO 8601 format (YYYY-MM-DD) |
| bearer_token | string | no | Authentication token for the patient session |
Log side effects a patient is experiencing. If severity is 'severe', the case is auto-flagged for immediate provider review and returns urgent guidance. Requires authentication.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| patient_id | string | yes | Patient ID |
| effects | array | yes | List of side effects being experienced (e.g. ['nausea', 'headache']) |
| severity | string | yes | Severity level: 'mild', 'moderate', or 'severe' |
| bearer_token | string | no | Authentication token for the patient session |
Send a message to the patient's healthcare provider. Returns sent confirmation and estimated response time. Urgent messages (containing keywords like 'emergency', 'chest pain', 'difficulty breathing') are flagged for priority response. Requires authentication.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| patient_id | string | yes | Patient ID |
| message | string | yes | Message text to send to the healthcare provider |
| bearer_token | string | no | Authentication token for the patient session |
Get the patient's current care plan including: current medication, current dosage, titration schedule, next dose adjustment date, upcoming refill date, provider notes, and weight progress summary. Requires authentication.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| patient_id | string | yes | Patient ID |
| bearer_token | string | no | Authentication token for the patient session |
Request a medication refill for the patient's current prescription. Creates a refill order that will be reviewed by a provider within 24-48 hours. Requires authentication.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| patient_id | string | yes | Patient ID |
| bearer_token | string | no | Authentication token for the patient session |
Contact customer support with a question or issue. Creates a support ticket and returns the ticket ID and estimated response time. Requires authentication.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| patient_id | string | yes | Patient ID |
| subject | string | yes | Support ticket subject line |
| message | string | yes | Detailed description of the question or issue |
| bearer_token | string | no | Authentication token for the patient session |
Get follow-up questions from the healthcare provider for a specific order. The provider may request additional information before making a prescribing decision. Returns the questions if the order status is 'needs_info', or a message that no questions are pending. Requires authentication.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| order_id | string | yes | Order ID to get provider questions for |
| bearer_token | string | no | Authentication token for the patient session |
Submit answers to provider follow-up questions for a specific order. The responses are sent to the provider for review. Returns confirmation and updated order status. Requires authentication.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| order_id | string | yes | Order ID to submit responses for |
| answers | object | yes | Answers to the provider's follow-up questions keyed by question ID |
| bearer_token | string | no | Authentication token for the patient session |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Chia Health or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | moderate | capability blast radius (moderate) — client exposure if the model is manipulated | −3 |
| coverage-honesty | manifest | inspection depth (manifest) — how much of the target the scan could see | −4 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
The scan read each tool’s name, description, input schema and annotations exactly as the server listed them the last time it answered us; no code was reviewed. We ask the server again about once a month, and a list that changed is graded again.
The implementation source was not read — this reflects the declared tool metadata only.
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. moderate is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| auth_start | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| auth_verify_otp | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| auth_resend_otp | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| auth_check_payment | no tags | |
| medications_list | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| medications_details | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| medications_availability | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| medications_pricing | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| medications_categories | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| eligibility_check | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| intake_questions | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| intake_submit | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| intake_status | no tags | |
| consent_list | no tags | |
| consent_text | untrusted-input | untrusted-input: keyword "fetch" |
| consent_submit | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| consent_status | no tags | |
| order_create | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| order_status | no tags | |
| order_documents | no tags | |
| order_upload | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| checkout_create | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| checkout_update | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| checkout_complete | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| checkout_status | no tags | |
| checkout_cancel | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| portal_log_weight | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| portal_log_side_effects | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| portal_message | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| portal_care_plan | no tags | |
| portal_refill | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| portal_support | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| provider_questions | no tags | |
| provider_respond | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
The public result for this release does not print the flow graph, so there is nothing to show here. That is not the same as "no paths were found": what the scan did read is above, under coverage.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.0.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Chia Health can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.