Hint Health MCP by usefulapi
Read Hint Health patients, memberships, plans, invoices and payments for direct primary care.
我該用這個嗎
品質與安全性
發現項目(2)
- LOW在 hinthealth_list_patient_credits 中
- LOW在 hinthealth_list_invoice_payments 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"hint-health": {
"url": "https://hint-health.usefulapi.io/mcp"
}
}
}遠端端點
https://hint-health.usefulapi.io/mcpstreamable-http它能做什麼
工具清單
工具(17)
🟢hinthealth_get_practice
The practice this API key belongs to: id, name, address, email, phones, website and logo. GET /provider/practice.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hinthealth_list_locations(near_zip, distance, limit, offset)
List the practice's locations with address, phone, virtual flag and location group. Optionally search near a postal code. GET /provider/locations.
輸入結構描述
{
"type": "object",
"properties": {
"near_zip": {
"type": "string",
"pattern": "^[A-Za-z0-9 -]{3,10}$",
"description": "Postal code at the center of a distance search."
},
"distance": {
"description": "Search radius in miles (Hint default 20 when a postal code is given).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 500
},
"limit": {
"description": "Results per page, 1-100 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"offset": {
"description": "Results to skip (default 0). Pass the previous reply's next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hinthealth_get_location(location_id)
One location by id (for example loc-ab12C345DeF6). GET /provider/locations/{id}.
輸入結構描述
{
"type": "object",
"properties": {
"location_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,100}$",
"description": "A Hint id."
}
},
"required": [
"location_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hinthealth_list_practitioners(near_zip, distance, limit, offset)
List the practice's practitioners with bio, NPI, specialties, panel size and limit, enrollment settings and locations. Optionally search near a postal code. GET /provider/practitioners.
輸入結構描述
{
"type": "object",
"properties": {
"near_zip": {
"type": "string",
"pattern": "^[A-Za-z0-9 -]{3,10}$",
"description": "Postal code at the center of a distance search."
},
"distance": {
"description": "Search radius in miles (Hint default 20 when a postal code is given).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 500
},
"limit": {
"description": "Results per page, 1-100 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"offset": {
"description": "Results to skip (default 0). Pass the previous reply's next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hinthealth_get_practitioner(practitioner_id)
One practitioner by id. GET /provider/practitioners/{id}.
輸入結構描述
{
"type": "object",
"properties": {
"practitioner_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,100}$",
"description": "A Hint id."
}
},
"required": [
"practitioner_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hinthealth_list_patients(archived, limit, offset)
List patients (protected health information) one page at a time: name, date of birth, contact, address, membership status, autopay, past-due balance, practitioner and location. Archived patients are left out unless archived is true. The Social Security number is never returned. There is no bulk export: page with limit and offset. GET /provider/patients.
輸入結構描述
{
"type": "object",
"properties": {
"archived": {
"description": "true = only archived patients (default: only active patients).",
"type": "boolean"
},
"limit": {
"description": "Results per page, 1-100 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"offset": {
"description": "Results to skip (default 0). Pass the previous reply's next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hinthealth_get_patient(patient_id)
One patient by id (for example pat-ab12C345DeF6), protected health information: identity, contact, address, insurance, consents, memberships, sponsorships, emergency contact. The Social Security number is never returned. GET /provider/patients/{id}.
輸入結構描述
{
"type": "object",
"properties": {
"patient_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,100}$",
"description": "A Hint id."
}
},
"required": [
"patient_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hinthealth_match_patients(first_name, last_name, middle_name, email, dob)
Find existing patients that match a first and last name, optionally narrowed by email, date of birth or middle name. Reads only: nothing is created. Use it to look a patient up by name. POST /provider/patients/matching.
輸入結構描述
{
"type": "object",
"properties": {
"first_name": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"last_name": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"middle_name": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"email": {
"type": "string",
"minLength": 3,
"maxLength": 254
},
"dob": {
"description": "Date of birth, yyyy-mm-dd.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
}
},
"required": [
"first_name",
"last_name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hinthealth_list_patient_credits(patient_id, limit, offset)
List a patient's account credits: amount, remaining balance, category and reason. GET /provider/patients/{patient_id}/credits.
輸入結構描述
{
"type": "object",
"properties": {
"patient_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,100}$",
"description": "A Hint id."
},
"limit": {
"description": "Results per page, 1-100 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"offset": {
"description": "Results to skip (default 0). Pass the previous reply's next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"required": [
"patient_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hinthealth_list_memberships(created_from, created_to, updated_from, updated_to, limit, ...)
List memberships: status, enrollment status, dates, rates in cents, plan, coupon, owner, member patients and upcoming bills. Filter by created or updated time (ISO 8601). GET /provider/memberships.
輸入結構描述
{
"type": "object",
"properties": {
"created_from": {
"description": "Created at or after (ISO 8601 date or date-time).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,9})?)?(Z|[+-]\\d{2}:\\d{2}))?$"
},
"created_to": {
"description": "Created at or before.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,9})?)?(Z|[+-]\\d{2}:\\d{2}))?$"
},
"updated_from": {
"description": "Updated at or after.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,9})?)?(Z|[+-]\\d{2}:\\d{2}))?$"
},
"updated_to": {
"description": "Updated at or before.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,9})?)?(Z|[+-]\\d{2}:\\d{2}))?$"
},
"limit": {
"description": "Results per page, 1-100 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"offset": {
"description": "Results to skip (default 0). Pass the previous reply's next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hinthealth_get_membership(membership_id)
One membership by id: plan, rates, dates, owner, member patients, cancellation and upcoming bills. GET /provider/memberships/{id}.
輸入結構描述
{
"type": "object",
"properties": {
"membership_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,100}$",
"description": "A Hint id."
}
},
"required": [
"membership_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hinthealth_list_plans(plan_type, limit, offset)
List the practice's membership plans (id, name, type: company, retail or sponsor_fixed_fee). GET /provider/plans.
輸入結構描述
{
"type": "object",
"properties": {
"plan_type": {
"type": "string",
"enum": [
"company",
"retail",
"sponsor_fixed_fee"
]
},
"limit": {
"description": "Results per page, 1-100 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"offset": {
"description": "Results to skip (default 0). Pass the previous reply's next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hinthealth_list_coupons(archived, redeemable, limit, offset)
List membership coupons: code, discount (cents or percent), duration, redeemable window and archive state. GET /provider/coupons.
輸入結構描述
{
"type": "object",
"properties": {
"archived": {
"description": "true = only archived coupons, false = only unarchived (default: all).",
"type": "boolean"
},
"redeemable": {
"description": "true = only coupons that can be redeemed now.",
"type": "boolean"
},
"limit": {
"description": "Results per page, 1-100 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"offset": {
"description": "Results to skip (default 0). Pass the previous reply's next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hinthealth_list_charge_items(limit, offset)
List the practice's charge item catalog (the services and products a charge is made of): code, name, price in cents, category, stock. GET /provider/charge_items.
輸入結構描述
{
"type": "object",
"properties": {
"limit": {
"description": "Results per page, 1-100 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"offset": {
"description": "Results to skip (default 0). Pass the previous reply's next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hinthealth_list_invoices(owner, location, status, created_from, created_to, ...)
List customer invoices (what patients are billed) with number, date, status, amounts in cents (total, due, paid), charges, location and owner. Filter by owner patient, location, status or created/updated time. GET /provider/customer_invoices.
輸入結構描述
{
"type": "object",
"properties": {
"owner": {
"description": "Patient id of the person who pays the invoice.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,100}$"
},
"location": {
"description": "Location id.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,100}$"
},
"status": {
"description": "Only these statuses. cancelled = voided.",
"maxItems": 8,
"type": "array",
"items": {
"type": "string",
"enum": [
"draft",
"issued",
"sent",
"retrying",
"paid",
"disputed",
"bad_debt",
"cancelled"
]
}
},
"created_from": {
"description": "Created at or after (ISO 8601 date or date-time).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,9})?)?(Z|[+-]\\d{2}:\\d{2}))?$"
},
"created_to": {
"description": "Created at or before.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,9})?)?(Z|[+-]\\d{2}:\\d{2}))?$"
},
"updated_from": {
"description": "Updated at or after.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,9})?)?(Z|[+-]\\d{2}:\\d{2}))?$"
},
"updated_to": {
"description": "Updated at or before.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,9})?)?(Z|[+-]\\d{2}:\\d{2}))?$"
},
"limit": {
"description": "Results per page, 1-100 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"offset": {
"description": "Results to skip (default 0). Pass the previous reply's next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hinthealth_get_invoice(invoice_id)
One customer invoice by id with its charges, location, owner, amounts in cents and payment status. GET /provider/customer_invoices/{id}.
輸入結構描述
{
"type": "object",
"properties": {
"invoice_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,100}$",
"description": "A Hint id."
}
},
"required": [
"invoice_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hinthealth_list_invoice_payments(invoice_id, limit, offset)
List the payments made on one customer invoice: amount in cents, date, status, error message, memo, source and whether it was recorded outside Hint. GET /provider/customer_invoices/{id}/payments.
輸入結構描述
{
"type": "object",
"properties": {
"invoice_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,100}$",
"description": "A Hint id."
},
"limit": {
"description": "Results per page, 1-100 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"offset": {
"description": "Results to skip (default 0). Pass the previous reply's next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"required": [
"invoice_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}社群
證據