Hint Health MCP by usefulapi

Read Hint Health patients, memberships, plans, invoices and payments for direct primary care.

使うべきか

品質と安全性

A
説明の品質
96%
スキーマの完全性
90%
命名の品質
78%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

検出事項(2)

  • LOWTool 'hinthealth_list_patient_credits' name length outside 3-30 rangehinthealth_list_patient_credits 内
  • LOWTool 'hinthealth_list_invoice_payments' name length outside 3-30 rangehinthealth_list_invoice_payments 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~3,760トークン数(ツール定義)
~1.4 KB一般的なレスポンスサイズ
注意への影響は大きい(128k コンテキストの 2.94%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `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"
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 17 件