chia-health avatar

Chia Health MCP Server

chia-health/chia-mcp

Connects AI assistants to Chia Health's telehealth prescription platform for weight loss and longevity treatments. Exposes 34 tools across medication discovery, medical intake questionnaires, consent document signing, order placement with ID verification, and Stripe payment processing via ACP tokens or authenticated magic links. Public tools let users browse GLP-1 medications and check eligibility without auth. OTP-based authentication unlocks guest scope for completing intake and checkout, then upgrades to full scope post-payment for care plan access, weight logging, provider messaging, and refills. All prescriptions go through licensed US providers. Runs as a remote server over streamable HTTP, so you just point your MCP client at the URL without local installation.

GitHub stars
5
tools
34
transport
HTTP
last updated
Mar 18, 2026

Install

From registry metadata
$ npx add-mcp https://mcp.chia.health/ --name chia-mcp

Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http chia-mcp https://mcp.chia.health/

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 34 tools

Verified live against the running server on Nov 6, 2026.

auth_startStart 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 s...4 params

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 s...

Parameters* required
email*string
Patient's email address
first_name*string
Patient's first name
last_namestring
Patient's last namedefault:
phone*string
Patient's phone number (US format)
auth_verify_otpVerify 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 s...2 params

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 s...

Parameters* required
code*string
6-digit verification code from the email
session_id*string
Session ID from auth_start
auth_resend_otpResend 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.1 params

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.

Parameters* required
session_id*string
Session ID from auth_start
auth_check_paymentCheck 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 (ca...1 params

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 (ca...

Parameters* required
bearer_tokenstring
Guest token from auth_verify_otpdefault:
medications_listList 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 co...1 params

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 co...

Parameters* required
client_ipstring
Client IP address for rate limitingdefault:
medications_detailsGet 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 inc...3 params

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 inc...

Parameters* required
categoryvalue
Filter by category (e.g. 'weight loss', 'peptides', 'anti-aging')
client_ipstring
Client IP address for rate limitingdefault:
medication*string
Medication name (e.g. 'semaglutide', 'tirzepatide', 'sermorelin', 'NAD+', 'glutathione')
medications_availabilityCheck 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; when the name fits more than one treatment (e.g. a...3 params

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; when the name fits more than one treatment (e.g. a...

Parameters* required
client_ipstring
Client IP address for rate limitingdefault:
medication*string
Medication name (e.g. 'semaglutide') or its id from medications_list
state*string
US state abbreviation (e.g. 'CA', 'NY', 'TX')
medications_pricingGet 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...4 params

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...

Parameters* required
client_ipstring
Client IP address for rate limitingdefault:
form*string
Medication form: 'injectable', 'tablet', 'drops', 'nasal_spray' or 'cream'
medication*string
Medication name (e.g. 'semaglutide') or its id from medications_list
plan_months*integer
Plan duration in months (1, 4, or 6)
medications_categoriesList 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 an...1 params

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 an...

Parameters* required
client_ipstring
Client IP address for rate limitingdefault:
eligibility_checkPre-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 parame...7 params

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 parame...

Parameters* required
age*integer
Patient's age in years (must be 18+). Confirm with the patient before submitting.
bmivalue
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 thems...
client_ipstring
Client IP address for rate limitingdefault:
conditionsvalue
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 ha...
pregnancy_statusvalue
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 bio...
sexvalue
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 d...
state*string
US state abbreviation (e.g. 'CA', 'NY') where the patient resides. Confirm before submitting.
intake_questionsGet 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/delive...3 params

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/delive...

Parameters* required
additional_medicationsvalue
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_ipstring
Client IP address for rate limitingdefault:
medication*string
Primary medication slug (e.g. 'semaglutide', 'nad-injection', 'nad-nasal-spray')
intake_submitSubmit 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. Re...4 params

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. Re...

Parameters* required
bearer_tokenstring
Authentication token for the patient sessiondefault:
intake_answers*object
Completed intake questionnaire answers from intake_questions
patient_email*string
Patient's email address
patient_name*string
Patient's full legal name
intake_statusCheck 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 authentica...2 params

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 authentica...

Parameters* required
bearer_tokenstring
Authentication token for the patient sessiondefault:
intake_id*string
Intake ID returned from intake_submit
consent_listGet 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, H...2 params

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, H...

Parameters* required
bearer_tokenstring
Authentication token for the patient sessiondefault:
intake_id*string
Intake ID to get required consents for
consent_textFetch 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, e...2 params

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, e...

Parameters* required
bearer_tokenstring
Authentication token for the patient sessiondefault:
consent_id*string
Consent document ID from consent_list
consent_submitRecord 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 confirmat...8 params

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 confirmat...

Parameters* required
agent_platformstring
AI platform name: 'chatgpt', 'claude', or 'gemini'default:
agent_session_idstring
Unique session/conversation ID for audit traildefault:
bearer_tokenstring
Authentication token for the patient sessiondefault:
consent_id*string
Consent document ID being confirmed
consent_methodstring
Method of consent collectiondefault: ai_agent_conversational
intake_id*string
Intake ID this consent belongs to
patient_confirmation*string
Patient's exact confirmation text (e.g. 'I agree')
timestampstring
ISO 8601 timestamp of consent confirmationdefault:
consent_statusCheck 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.2 params

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.

Parameters* required
bearer_tokenstring
Authentication token for the patient sessiondefault:
intake_id*string
Intake ID to check consent completion for
order_createCreate 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 l...7 params

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 l...

Parameters* required
bearer_tokenstring
Authentication token for the patient sessiondefault:
form*string
Medication form: 'injectable', 'tablet', 'drops', 'nasal_spray' or 'cream'
intake_id*string
Approved intake ID from intake_submit
medication*string
Medication name (e.g. 'semaglutide') or its id from medications_list
offering_slugstring
The offering_slug medications_pricing returned for this plan. Pass it so the order is refused if a different plan went on sale since the quote.default:
plan_months*integer
Plan duration in months (1, 4, or 6)
shipping_address*object
Shipping address with keys: line1, city, state, zip, and optional line2
order_statusGet 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.2 params

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.

Parameters* required
bearer_tokenstring
Authentication token for the patient sessiondefault:
order_id*string
Order ID from order_create
order_documentsGet 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.2 params

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.

Parameters* required
bearer_tokenstring
Authentication token for the patient sessiondefault:
order_id*string
Order ID to check required documents for
order_uploadUpload 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.5 params

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.

Parameters* required
bearer_tokenstring
Authentication token for the patient sessiondefault:
document_type*string
Document type: 'photo_id' or 'selfie'
file_base64*string
Base64-encoded file content (PDF, JPEG, or PNG, max 10MB)
file_name*string
Original filename with extension (e.g. 'license.jpg')
order_id*string
Order ID to upload document for
checkout_createInitiate 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...2 params

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...

Parameters* required
bearer_tokenstring
Authentication token for the patient sessiondefault:
order_id*string
Order ID to create checkout for
checkout_updateUpdate an existing checkout session. Can modify shipping method, apply promo codes, or update customer details before payment is completed. Requires authentication.3 params

Update an existing checkout session. Can modify shipping method, apply promo codes, or update customer details before payment is completed. Requires authentication.

Parameters* required
bearer_tokenstring
Authentication token for the patient sessiondefault:
checkout_id*string
Checkout session ID to update
updates*object
Updates to apply: shipping method, promo code, or customer details
checkout_completeComplete 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. Re...3 params

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. Re...

Parameters* required
bearer_tokenstring
Authentication token for the patient sessiondefault:
checkout_id*string
Checkout session ID to complete payment for
shared_payment_token*string
Stripe ACP Shared Payment Token (SPT) provisioned by the client platform
checkout_statusCheck 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 con...2 params

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 con...

Parameters* required
bearer_tokenstring
Authentication token for the patient sessiondefault:
checkout_id*string
Checkout session ID to check payment status for
checkout_cancelCancel an in-progress checkout session. Releases any held inventory and cancels the associated Stripe PaymentIntent if not yet captured. Requires authentication.2 params

Cancel an in-progress checkout session. Releases any held inventory and cancels the associated Stripe PaymentIntent if not yet captured. Requires authentication.

Parameters* required
bearer_tokenstring
Authentication token for the patient sessiondefault:
checkout_id*string
Checkout session ID to cancel
portal_log_weightLog a patient's weight for tracking progress on their treatment plan. Requires patient_id, weight in pounds, and date (ISO 8601). Requires authentication.4 params

Log a patient's weight for tracking progress on their treatment plan. Requires patient_id, weight in pounds, and date (ISO 8601). Requires authentication.

Parameters* required
bearer_tokenstring
Authentication token for the patient sessiondefault:
date*string
Date of weight measurement in ISO 8601 format (YYYY-MM-DD)
patient_id*string
Patient ID
weight_lbs*number
Weight in pounds
portal_log_side_effectsLog 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.4 params

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.

Parameters* required
bearer_tokenstring
Authentication token for the patient sessiondefault:
effects*array
List of side effects being experienced (e.g. ['nausea', 'headache'])
patient_id*string
Patient ID
severity*string
Severity level: 'mild', 'moderate', or 'severe'
portal_messageSend 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.3 params

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.

Parameters* required
bearer_tokenstring
Authentication token for the patient sessiondefault:
message*string
Message text to send to the healthcare provider
patient_id*string
Patient ID
portal_care_planGet 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.2 params

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.

Parameters* required
bearer_tokenstring
Authentication token for the patient sessiondefault:
patient_id*string
Patient ID
portal_refillRequest 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.2 params

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.

Parameters* required
bearer_tokenstring
Authentication token for the patient sessiondefault:
patient_id*string
Patient ID
portal_supportContact customer support with a question or issue. Creates a support ticket and returns the ticket ID and estimated response time. Requires authentication.4 params

Contact customer support with a question or issue. Creates a support ticket and returns the ticket ID and estimated response time. Requires authentication.

Parameters* required
bearer_tokenstring
Authentication token for the patient sessiondefault:
message*string
Detailed description of the question or issue
patient_id*string
Patient ID
subject*string
Support ticket subject line
provider_questionsGet 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 auth...2 params

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 auth...

Parameters* required
bearer_tokenstring
Authentication token for the patient sessiondefault:
order_id*string
Order ID to get provider questions for
provider_respondSubmit 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.3 params

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.

Parameters* required
answers*object
Answers to the provider's follow-up questions keyed by question ID
bearer_tokenstring
Authentication token for the patient sessiondefault:
order_id*string
Order ID to submit responses for

Sponsors

Readme

Chia Health MCP Server

License MCP HIPAA Tools Stripe ACP

The official MCP (Model Context Protocol) server for Chia (Chia Health, Inc.), a US telehealth prescription platform. It lets AI assistants (ChatGPT, Claude, Gemini, Copilot and custom agents) help patients browse treatments, check eligibility, complete a medical intake, sign consent documents, place an order, pay, and manage their treatment, all in conversation.


View the full README on GitHub

Details

Repository
github.com/chia-health/chia-mcp
Website
chia.health
Category
Finance & Commerce
Transport
HTTP
Registry
MCP registry, active
Prompts
1
Tools verified
Nov 6, 2026

Related Finance & Commerce MCP servers

View all
1kokogo100 avatarRagalgokokogo100/ragalgo-mcp-serverDynamic RAG Engine preventing AI hallucinations in Korean Finance and Crypto markets.5stars
2unclaimed-sol avatarUnclaimed Solunclaimed-sol/unclaimed-sol-mcpThe first Vibe Claiming MCP: AI agents scan and reclaim dormant SOL on Solana. Signs locally.5stars
3wattcoin-org avatarWattCoinwattcoin-org/wattcoinAgents earn WATT on Solana: register with no wallet, claim tasks, build a reputation score.5stars
4moltycel avatarMolTrust MCP Servermoltycel/moltrust-mcp-serverVerifiable agent identity and trust checks; MolCheck verdicts on mandates; Amazon Ads verdicts.5stars
5agirails avatarAgirails Mcp Serveragirails/agirails-mcp-serverPayment rails for AI agents — escrow, settlement, discovery, and disputes from any context window.4stars
6coinversaa avatarMcp Servercoinversaa/mcp-serverCrypto intelligence for AI agents. Hyperliquid trader analytics, cohorts, and live market data.0stars