CAT
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

Chia Health MCP Server

chia-health/chia-mcp
530 toolsHTTPregistry active
Summary

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.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Tools

Public tool metadata for what this MCP can expose to an agent.

30 tools
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:
medicationstring
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.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.

Parameters* required
statestring
US state abbreviation (e.g. 'CA', 'NY', 'TX')
client_ipstring
Client IP address for rate limitingdefault:
medicationstring
Medication name to check availability for
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
formstring
Medication form: 'injectable', 'tablet', or 'drops'
client_ipstring
Client IP address for rate limitingdefault:
medicationstring
Medication name
plan_monthsinteger
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. Checks: age (must be 18+), state (must be where our providers are licensed), BMI (must be 20+), pregnancy status (must not be pregnant, planning pregnancy, or breastfeeding), and medical conditions...7 params

Pre-screen a patient's basic eligibility for telehealth prescription services. Checks: age (must be 18+), state (must be where our providers are licensed), BMI (must be 20+), pregnancy status (must not be pregnant, planning pregnancy, or breastfeeding), and medical conditions...

Parameters* required
ageinteger
Patient's age in years (must be 18+)
bmivalue
Patient's Body Mass Index (must be 20+)
sexvalue
Patient's biological sex ('male' or 'female')
statestring
US state abbreviation where the patient resides
client_ipstring
Client IP address for rate limitingdefault:
conditionsvalue
List of diagnosed medical conditions
pregnancy_statusvalue
Pregnancy status: 'not_pregnant', 'pregnant', 'planning', or 'breastfeeding'
intake.questionsGet the full medical intake questionnaire a patient needs to complete before a provider can evaluate them for a prescription. Returns two phases of questions: (1) pre_checkout — screening questions including demographics, pregnancy status, weight/BMI, lifestyle, GLP-1 history,...2 params

Get the full medical intake questionnaire a patient needs to complete before a provider can evaluate them for a prescription. Returns two phases of questions: (1) pre_checkout — screening questions including demographics, pregnancy status, weight/BMI, lifestyle, GLP-1 history,...

Parameters* required
client_ipstring
Client IP address for rate limitingdefault:
medicationstring
Medication name to get intake questions for
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:
patient_namestring
Patient's full legal name
patient_emailstring
Patient's email address
intake_answersobject
Completed intake questionnaire answers from doctormcp_get_intake_questions
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
intake_idstring
Intake ID returned from doctormcp_submit_intake
bearer_tokenstring
Authentication token for the patient sessiondefault:
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
intake_idstring
Intake ID to get required consents for
bearer_tokenstring
Authentication token for the patient sessiondefault:
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
consent_idstring
Consent document ID from doctormcp_get_required_consents
bearer_tokenstring
Authentication token for the patient sessiondefault:
consent.submitRecord a patient's consent confirmation for a specific consent document. The agent must have already presented the full consent text (from doctormcp_get_consent_text) to the patient and received explicit confirmation. Required parameters: intake_id, consent_id, the patient's e...8 params

Record a patient's consent confirmation for a specific consent document. The agent must have already presented the full consent text (from doctormcp_get_consent_text) to the patient and received explicit confirmation. Required parameters: intake_id, consent_id, the patient's e...

Parameters* required
intake_idstring
Intake ID this consent belongs to
timestampstring
ISO 8601 timestamp of consent confirmationdefault:
consent_idstring
Consent document ID being confirmed
bearer_tokenstring
Authentication token for the patient sessiondefault:
agent_platformstring
AI platform name: 'chatgpt', 'claude', or 'gemini'default:
consent_methodstring
Method of consent collectiondefault: ai_agent_conversational
agent_session_idstring
Unique session/conversation ID for audit traildefault:
patient_confirmationstring
Patient's exact confirmation text (e.g. 'I agree')
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
intake_idstring
Intake ID to check consent completion for
bearer_tokenstring
Authentication token for the patient sessiondefault:
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...6 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
formstring
Medication form: 'injectable', 'tablet', or 'drops'
intake_idstring
Approved intake ID from doctormcp_submit_intake
medicationstring
Medication name to order
plan_monthsinteger
Plan duration in months (1, 4, or 6)
bearer_tokenstring
Authentication token for the patient sessiondefault:
shipping_addressobject
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
order_idstring
Order ID from doctormcp_create_order
bearer_tokenstring
Authentication token for the patient sessiondefault:
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
order_idstring
Order ID to check required documents for
bearer_tokenstring
Authentication token for the patient sessiondefault:
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
order_idstring
Order ID to upload document for
file_namestring
Original filename with extension (e.g. 'license.jpg')
file_base64string
Base64-encoded file content (PDF, JPEG, or PNG, max 10MB)
bearer_tokenstring
Authentication token for the patient sessiondefault:
document_typestring
Document type: 'photo_id' or 'selfie'
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
order_idstring
Order ID to create checkout for
bearer_tokenstring
Authentication token for the patient sessiondefault:
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
updatesobject
Updates to apply: shipping method, promo code, or customer details
checkout_idstring
Checkout session ID to update
bearer_tokenstring
Authentication token for the patient sessiondefault:
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
checkout_idstring
Checkout session ID to complete payment for
bearer_tokenstring
Authentication token for the patient sessiondefault:
shared_payment_tokenstring
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
checkout_idstring
Checkout session ID to check payment status for
bearer_tokenstring
Authentication token for the patient sessiondefault:
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
checkout_idstring
Checkout session ID to cancel
bearer_tokenstring
Authentication token for the patient sessiondefault:
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
datestring
Date of weight measurement in ISO 8601 format (YYYY-MM-DD)
patient_idstring
Patient ID
weight_lbsnumber
Weight in pounds
bearer_tokenstring
Authentication token for the patient sessiondefault:
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
effectsarray
List of side effects being experienced (e.g. ['nausea', 'headache'])
severitystring
Severity level: 'mild', 'moderate', or 'severe'
patient_idstring
Patient ID
bearer_tokenstring
Authentication token for the patient sessiondefault:
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
messagestring
Message text to send to the healthcare provider
patient_idstring
Patient ID
bearer_tokenstring
Authentication token for the patient sessiondefault:
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
patient_idstring
Patient ID
bearer_tokenstring
Authentication token for the patient sessiondefault:
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
patient_idstring
Patient ID
bearer_tokenstring
Authentication token for the patient sessiondefault:
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
messagestring
Detailed description of the question or issue
subjectstring
Support ticket subject line
patient_idstring
Patient ID
bearer_tokenstring
Authentication token for the patient sessiondefault:
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
order_idstring
Order ID to get provider questions for
bearer_tokenstring
Authentication token for the patient sessiondefault:
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
answersobject
Answers to the provider's follow-up questions keyed by question ID
order_idstring
Order ID to submit responses for
bearer_tokenstring
Authentication token for the patient sessiondefault:

Chia Health MCP Server

License MCP HIPAA Tools Stripe ACP

MCP (Model Context Protocol) server for the Chia Health telehealth prescription platform. Enables AI assistants (ChatGPT, Claude, Gemini, OpenClaw, Copilot, and custom agents) to help patients browse medications, complete medical intake, sign consent documents, place orders, pay, and manage their treatment — all through natural conversation.

Available treatments include GLP-1 medications (semaglutide, tirzepatide including tablets), peptide therapies (sermorelin, NAD+, glutathione), and longevity programs. All prescriptions are evaluated by licensed US healthcare providers and delivered from FDA-regulated 503A compounding pharmacies across all 50 US states + DC.

Getting Started

doctormcp is a remote MCP server — connect over the network, no local installation required.

Server URL: https://mcp.chia.health/ Transport: Streamable HTTP Metadata: https://mcp.chia.health/server.json

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "chia-health": {
      "url": "https://mcp.chia.health/"
    }
  }
}
Cursor

Add to .cursor/mcp.json in your project or ~/.cursor/mcp.json globally:

{
  "mcpServers": {
    "chia-health": {
      "url": "https://mcp.chia.health/"
    }
  }
}
Cline / VS Code

Add to your Cline MCP settings:

{
  "mcpServers": {
    "chia-health": {
      "url": "https://mcp.chia.health/"
    }
  }
}
Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "chia-health": {
      "serverUrl": "https://mcp.chia.health/"
    }
  }
}
Other MCP Clients

Any MCP client that supports streamable HTTP transport can connect:

  • Server URL: https://mcp.chia.health/
  • Transport: Streamable HTTP
  • Server metadata: https://mcp.chia.health/server.json

Verify Connection

Once connected, your AI assistant can immediately call these public tools (no auth required):

medications.categories     → medication categories
medications.list           → all medications with pricing
medications.availability   → check if a medication ships to your state
eligibility.check          → pre-screen age, state, BMI

What Can Your AI Assistant Do?

CategoryToolsAuth
Auth — OTP verification, session management, payment detection4No*
Discovery — browse medications, pricing, availability5No
Qualification — eligibility checks, intake questionnaires4Partial
Consent — present and sign consent documents4Guest
Ordering — place orders, upload ID verification4Guest
Checkout — Stripe ACP payments or authenticated payment links5Guest
Patient Portal — log weight, message provider, refills6Full
Provider — answer follow-up questions from your provider2Guest

* Auth tools use session_id (no token) except auth.check_payment which uses a bearer token.

Important: All prescriptions are evaluated and approved by licensed US healthcare providers. doctormcp facilitates the patient workflow — it does not make clinical decisions.

Authentication

Patients can browse freely without authentication — discovery, eligibility, and intake question preview are all public.

When the patient is ready to proceed with their medical intake, they verify their email:

  1. auth.start(email, phone, name) → sends OTP to email, returns session_id
  2. auth.verify_otp(session_id, code) → returns guest-scoped bearer token

The guest token enables intake, consent, ordering, and checkout. After payment, auth.check_payment upgrades the token to full scope for portal access (care plan, messaging, refills).

Tool Catalog

Auth

ToolAuthDescription
auth.startNoSend OTP to patient's email, get session_id
auth.verify_otpNoVerify code, get guest-scoped bearer token
auth.resend_otpNoResend OTP if expired or not received
auth.check_paymentGuestPoll for payment, upgrade token to full scope

Discovery (public, no auth)

ToolDescription
medications.listList all medications with categories, forms, and pricing
medications.detailsDetailed info for a specific medication (plans, pricing, what's included)
medications.availabilityCheck if a medication ships to a given state
medications.pricingPrice breakdown for a specific medication/form/plan combo
medications.categoriesList medication categories (Weight Loss, Peptides, Anti-Aging, etc.)

Qualification (public + guest)

ToolAuthDescription
eligibility.checkNoPre-screen age, state, BMI, and medical conditions
intake.questionsNoGet the structured intake questionnaire for a medication
intake.submitGuestSubmit completed intake for provider review
intake.statusGuestCheck intake review status (under review, approved, denied)

Consent (guest token required)

ToolDescription
consent.listList all 5 consent documents needed for an intake
consent.textGet full verbatim text of a consent document
consent.submitRecord patient's consent confirmation with audit trail
consent.statusCheck which consents are complete/pending

Ordering (guest token required)

ToolDescription
order.createCreate a medication order (requires all consents complete)
order.statusCheck order status and tracking info
order.documentsList required ID documents for an order
order.uploadUpload photo ID or selfie for identity verification

Checkout (guest token required)

ToolDescription
checkout.createCreate checkout; returns authenticated payment link (magic-link URL)
checkout.updateUpdate a pending checkout (promo codes, shipping)
checkout.completeComplete payment with a Stripe Shared Payment Token (ACP path)
checkout.statusPoll payment status after sending a payment link (fallback path)
checkout.cancelCancel an in-progress checkout

Patient Portal (full token required — after payment)

ToolDescription
portal.log_weightLog weight for progress tracking
portal.log_side_effectsReport side effects (severe = auto-flagged for provider)
portal.messageSend a message to the healthcare provider
portal.care_planGet current medication, dosing, and weight progress
portal.refillRequest a medication refill
portal.supportCreate a customer support ticket

Provider (guest token required)

ToolDescription
provider.questionsGet follow-up questions from the provider
provider.respondSubmit answers to provider questions

Example Agent Flows

1. Browse Medications (no auth)

User: "What weight loss medications do you offer?"

Agent calls: medications.list
→ Returns categories with semaglutide, tirzepatide, etc.

Agent calls: medications.details(medication="semaglutide-injectable")
→ Returns plans (1-month $349, 4-month $299/mo, 6-month $249/mo)

Agent calls: medications.availability(medication="semaglutide-injectable", state="TX")
→ { "available": true }

Agent calls: eligibility.check(age=35, state="TX", bmi=31.2)
→ { "eligible": true, "available_medications": [...] }

2. Full Ordering Flow (auth → intake → consent → order → pay)

== VERIFY IDENTITY ==

1. auth.start(email="patient@example.com", phone="5551234567", first_name="Jane")
   → { "session_id": "abc123...", "otp_sent": true }

2. auth.verify_otp(session_id="abc123...", code="847293")
   → { "guest_token": "mcp_...", "scope": "guest" }

== MEDICAL INTAKE ==

3. intake.questions(medication="semaglutide-injectable")
   → Structured questionnaire (demographics, vitals, medical history, etc.)
   → Agent asks patient each question conversationally

4. intake.submit(patient_email, patient_name, answers, bearer_token)
   → { "intake_id": "42", "next_step": "get_required_consents" }

5. consent.list(intake_id="42", bearer_token)
   → 5 consent documents (telehealth, treatment, pharmacy, HIPAA, AI disclosure)

6. For each consent:
   a. consent.text(consent_id, bearer_token)
      → Full text the agent MUST present verbatim
   b. Patient confirms: "I agree"
   c. consent.submit(intake_id, consent_id, "I agree", bearer_token)

== ORDER & PAY ==

7. order.create(intake_id, medication, form, plan_months, shipping_address, bearer_token)
   → { "order_id": "99", "total": "1079.39", "next_step": "create_checkout" }

8. checkout.create(order_id="99", bearer_token)
   → { "checkout_id": "7", "payment_url": "https://chia.health/checkout/aBc-_xyz" }
   → Agent shares link with patient; also sent via email+SMS

9a. (ACP path) checkout.complete(checkout_id="7", shared_payment_token="spt_...", bearer_token)
    → { "payment_status": "success", "confirmation_number": "CHIA-000099" }

9b. (Fallback) Patient opens payment_url in browser, pays on Chia checkout page

10. auth.check_payment(bearer_token)
    → { "paid": true, "scope": "full" }  // token upgraded, portal unlocked

3. Patient Portal (full token, after payment)

1. portal.log_weight(patient_id, weight_lbs=195.5, date="2026-06-15", bearer_token)
   → { "recorded": true }

2. portal.care_plan(patient_id, bearer_token)
   → Current medication, phase, dosing schedule, recent weights

3. portal.log_side_effects(patient_id, effects=["nausea"], severity="mild", bearer_token)
   → { "recorded": true, "flagged_for_review": false }

4. portal.message(patient_id, message="Nausea improving", bearer_token)
   → { "sent": true, "estimated_response_time": "24-48 hours" }

Stripe ACP Integration

doctormcp uses Stripe's Agentic Commerce Protocol (ACP) for payment processing:

  1. Order Creation — order.create calculates the total and creates a pre-payment order record.
  2. Checkout Initiation — checkout.create creates a Stripe PaymentIntent (for ACP) and generates an authenticated payment link. The link auto-authenticates patients in the browser and lands on the Chia Health checkout page. Also sent via email and SMS.
  3. Payment Completion — Two paths:
    • ACP: checkout.complete accepts a Shared Payment Token (SPT) from the AI platform and confirms the PaymentIntent. Instant, in-conversation payment.
    • Fallback: The agent shares the payment_url (authenticated magic-link) with the patient. The patient opens it in their browser, auto-authenticates, and pays on the Chia Health checkout page. The agent polls auth.check_payment to detect completion.
  4. Post-Payment — On success (either path), a Subscription and Enrollment are created automatically. auth.check_payment upgrades the agent's token to full scope for portal access.

HIPAA Compliance

  • Audit Logging — Every access to protected health information (PHI) is logged with actor identity, action type, resource, IP address, and timestamp. Logs are retained for 10 years.
  • Consent Records — All patient consent confirmations include verbatim confirmation text, method (AI agent conversational), platform, session ID, and IP address. Consent records are immutable.
  • Input Sanitization — All inputs are validated and sanitized. Control characters are stripped, lengths enforced, and domain-specific formats (email, state, phone, ZIP) are validated.
  • OTP-First Auth — Email ownership verified via 6-digit OTP before any patient data access. SHA-256 hashed tokens with scoped access (guest/full). No token issued without email verification.
  • Rate Limiting — Redis-backed token-bucket rate limiting per user and endpoint category (public: 100/min, auth: 5/min, authenticated: 30/min, consent: 10/min, checkout: 5/min).
  • Minimal Data Exposure — Tools return only the data needed for the current step. Sensitive fields (payment details, full SSN) are never returned.

Support

  • Issues: github.com/chia-health/chia-mcp/issues
  • Website: chia.health
  • Email: engineering@chia.health

License

Apache License 2.0 — see LICENSE for details.

Copyright 2026 Chia Health, Inc.

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Categories
Finance & Commerce
Registryactive
TransportHTTP
UpdatedMar 18, 2026
View on GitHub

Related Finance & Commerce MCP Servers

View all →
Shopify Subscription Reconciliation MCP (Recharge Edition)

io.github.shelvick/shopify-subscription-reconciliation

Reconcile Shopify orders against Recharge subscription charges and Stripe payouts.
Google Ads

zleventer/google-ads-mcp

MCP server for Google Ads — 22 tools for spend diagnosis, impression share, and asset performance.
1
Meok Stripe Acp Checkout Mcp

csoai-org/meok-stripe-acp-checkout-mcp

MEOK Stripe ACP Checkout MCP — ChatGPT shopping bridge. Issues + verifies + signs Stripe Agentic
Google Ads

io.github.mharnett/google-ads

Google Ads MCP with MCC support: 35 tools for campaigns, keywords, reporting, GAQL.
Stripe Billing Mcp

csoai-org/stripe-billing-mcp

stripe-billing-mcp MCP server by MEOK AI Labs
Google Ads Mcp

co.pipeboard/google-ads-mcp

Google Ads automation with AI: analyze performance, manage campaigns, optimize bids.