InPlan
Is this US provider in this health plan? Network checks by NPI and plan ID, with dated sources.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"inplan": {
"url": "https://api.inplan.io/mcp"
}
}
}원격 엔드포인트
https://api.inplan.io/mcpstreamable-http할 수 있는 일
도구 목록
도구 (7)
🟢lookup_provider(npi)
Identity of a US healthcare provider by NPI: name, credential, specialties, practice locations and groups, plus a summary of the Marketplace (ACA) and Medicare Advantage plans whose network directories list them (plan counts, states, plan years, as_of dates). Use it to confirm who an NPI is before checking networks. For the plan list itself use plans_for_provider. Costs 1 call.
입력 스키마
{
"type": "object",
"properties": {
"npi": {
"type": "string",
"description": "10-digit National Provider Identifier, as a string, e.g. \"1184617268\"."
}
},
"required": [
"npi"
]
}출력 스키마
{
"type": "object",
"properties": {
"request_id": {
"type": "string",
"description": "Request id; quote it when you contact support."
},
"data_as_of": {
"description": "Date (YYYY-MM-DD) of the newest data behind this answer.",
"type": [
"string",
"null"
]
},
"data": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "The answer. Same shape as the matching InPlan API v1 endpoint."
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"as_of": {
"type": [
"string",
"null"
]
}
},
"required": [
"type",
"description",
"as_of"
],
"additionalProperties": false
},
"description": "Source types behind the answer (insurer_directory, plan_directory, provider_registry, plan_catalog), each with its as_of date."
},
"notes": {
"description": "How to read the answer.",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"request_id",
"data_as_of",
"data",
"sources"
],
"additionalProperties": {}
}🟢plans_for_provider(npi, market, state, year, limit, ...)
Every Marketplace (ACA) and Medicare Advantage plan whose network directory lists the provider, one row per plan and plan year, each with plan name, insurer, state, network tier and source {type, as_of}. Medicare Advantage rows carry service_area_states and provider_state_in_service_area. Filter by market, state or year; page with limit and offset (next_offset is null on the last page). A plan missing from this list is not a statement that the provider is out of network. Costs 1 call per page.
입력 스키마
{
"type": "object",
"properties": {
"npi": {
"type": "string",
"description": "10-digit National Provider Identifier, as a string, e.g. \"1184617268\"."
},
"market": {
"type": "string",
"enum": [
"aca",
"ma"
],
"description": "\"aca\" = Marketplace plans, \"ma\" = Medicare Advantage plans. Optional; default both."
},
"state": {
"type": "string",
"description": "2-letter US state code, e.g. \"OH\". Optional."
},
"year": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Plan year, e.g. 2026. Optional; by default all plan years we hold are considered."
},
"limit": {
"description": "Plans per page, 1 to 500. Default 50.",
"type": "integer",
"minimum": 1,
"maximum": 500
},
"offset": {
"description": "Rows to skip; pass next_offset from the previous page. Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"npi"
]
}출력 스키마
{
"type": "object",
"properties": {
"request_id": {
"type": "string",
"description": "Request id; quote it when you contact support."
},
"data_as_of": {
"description": "Date (YYYY-MM-DD) of the newest data behind this answer.",
"type": [
"string",
"null"
]
},
"data": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "The answer. Same shape as the matching InPlan API v1 endpoint."
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"as_of": {
"type": [
"string",
"null"
]
}
},
"required": [
"type",
"description",
"as_of"
],
"additionalProperties": false
},
"description": "Source types behind the answer (insurer_directory, plan_directory, provider_registry, plan_catalog), each with its as_of date."
},
"notes": {
"description": "How to read the answer.",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"request_id",
"data_as_of",
"data",
"sources"
],
"additionalProperties": {}
}🟢check_network(npi, plan_id, year)
Answers whether one plan's network directory lists one provider. answer "listed" (in_network: true) comes with evidence: plan year, network tier and source {type, as_of}. answer "not_found" (in_network: null) means no listing was found in current directory data for this provider and plan; it is NOT a statement that the provider is out of network, so never report it as "out of network". answer "no_provider_network" is a drug-only plan. Directories change; tell users to confirm with the plan before care. Costs 1 call.
입력 스키마
{
"type": "object",
"properties": {
"npi": {
"type": "string",
"description": "10-digit National Provider Identifier, as a string, e.g. \"1184617268\"."
},
"plan_id": {
"type": "string",
"description": "Plan ID. Marketplace (ACA) plans: 14 characters like \"29276OH0970001\" (a 16-character \"-01\" variant form is accepted). Medicare Advantage plans: \"H1234-001-000\" (the segment \"-000\" is optional)."
},
"year": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Plan year, e.g. 2026. Optional; by default all plan years we hold are considered."
}
},
"required": [
"npi",
"plan_id"
]
}출력 스키마
{
"type": "object",
"properties": {
"request_id": {
"type": "string",
"description": "Request id; quote it when you contact support."
},
"data_as_of": {
"description": "Date (YYYY-MM-DD) of the newest data behind this answer.",
"type": [
"string",
"null"
]
},
"data": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "The answer. Same shape as the matching InPlan API v1 endpoint."
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"as_of": {
"type": [
"string",
"null"
]
}
},
"required": [
"type",
"description",
"as_of"
],
"additionalProperties": false
},
"description": "Source types behind the answer (insurer_directory, plan_directory, provider_registry, plan_catalog), each with its as_of date."
},
"notes": {
"description": "How to read the answer.",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"request_id",
"data_as_of",
"data",
"sources"
],
"additionalProperties": {}
}🟢check_network_batch(items, year)
The check_network answer for up to 100 (npi, plan_id) pairs in one request, with the same listed / not_found / no_provider_network semantics. Invalid pairs come back with a per-item error and are not charged; each accepted pair costs 1 call. Needs the Builder plan or higher.
입력 스키마
{
"type": "object",
"properties": {
"items": {
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "object",
"properties": {
"npi": {
"type": "string",
"description": "10-digit National Provider Identifier, as a string, e.g. \"1184617268\"."
},
"plan_id": {
"type": "string",
"description": "Plan ID. Marketplace (ACA) plans: 14 characters like \"29276OH0970001\" (a 16-character \"-01\" variant form is accepted). Medicare Advantage plans: \"H1234-001-000\" (the segment \"-000\" is optional)."
},
"year": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Plan year, e.g. 2026. Optional; by default all plan years we hold are considered."
}
},
"required": [
"npi",
"plan_id"
]
},
"description": "1 to 100 pairs."
},
"year": {
"description": "Default plan year for items that do not set one. Optional.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"items"
]
}출력 스키마
{
"type": "object",
"properties": {
"request_id": {
"type": "string",
"description": "Request id; quote it when you contact support."
},
"data_as_of": {
"description": "Date (YYYY-MM-DD) of the newest data behind this answer.",
"type": [
"string",
"null"
]
},
"data": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "The answer. Same shape as the matching InPlan API v1 endpoint."
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"as_of": {
"type": [
"string",
"null"
]
}
},
"required": [
"type",
"description",
"as_of"
],
"additionalProperties": false
},
"description": "Source types behind the answer (insurer_directory, plan_directory, provider_registry, plan_catalog), each with its as_of date."
},
"notes": {
"description": "How to read the answer.",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"request_id",
"data_as_of",
"data",
"sources"
],
"additionalProperties": {}
}🟢get_plan(plan_id, year)
Details of one Marketplace (ACA) or Medicare Advantage plan by plan ID: name, insurer or organization, state or service area, plan type, metal level, the plan years we hold, and whether we hold its directory listings, with their as_of date. Costs 1 call.
입력 스키마
{
"type": "object",
"properties": {
"plan_id": {
"type": "string",
"description": "Plan ID. Marketplace (ACA) plans: 14 characters like \"29276OH0970001\" (a 16-character \"-01\" variant form is accepted). Medicare Advantage plans: \"H1234-001-000\" (the segment \"-000\" is optional)."
},
"year": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Plan year, e.g. 2026. Optional; by default all plan years we hold are considered."
}
},
"required": [
"plan_id"
]
}출력 스키마
{
"type": "object",
"properties": {
"request_id": {
"type": "string",
"description": "Request id; quote it when you contact support."
},
"data_as_of": {
"description": "Date (YYYY-MM-DD) of the newest data behind this answer.",
"type": [
"string",
"null"
]
},
"data": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "The answer. Same shape as the matching InPlan API v1 endpoint."
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"as_of": {
"type": [
"string",
"null"
]
}
},
"required": [
"type",
"description",
"as_of"
],
"additionalProperties": false
},
"description": "Source types behind the answer (insurer_directory, plan_directory, provider_registry, plan_catalog), each with its as_of date."
},
"notes": {
"description": "How to read the answer.",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"request_id",
"data_as_of",
"data",
"sources"
],
"additionalProperties": {}
}🟢search_plan_providers(plan_id, state, specialty, zip, radius, ...)
Providers that a Marketplace (ACA) plan's network directory lists, with name, credential, primary specialty, network tiers and up to 5 locations. Filter by state, specialty (substring, e.g. "cardiology"), zip, or zip plus radius in miles. Pages are cursor-based: pass next_cursor back unchanged until it is null; with filters a page can hold fewer than limit providers. Medicare Advantage plans: use check_network or plans_for_provider instead. Needs the Growth plan or higher. Costs 1 call per page.
입력 스키마
{
"type": "object",
"properties": {
"plan_id": {
"type": "string",
"description": "Plan ID. Marketplace (ACA) plans: 14 characters like \"29276OH0970001\" (a 16-character \"-01\" variant form is accepted). Medicare Advantage plans: \"H1234-001-000\" (the segment \"-000\" is optional)."
},
"state": {
"type": "string",
"description": "2-letter US state code, e.g. \"OH\". Optional."
},
"specialty": {
"description": "Specialty name or part of it, e.g. \"family medicine\". Optional.",
"type": "string",
"maxLength": 60
},
"zip": {
"type": "string",
"description": "5-digit ZIP code, as a string. Optional."
},
"radius": {
"description": "Miles around zip, 1 to 100. Needs zip.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"year": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Plan year, e.g. 2026. Optional; by default all plan years we hold are considered."
},
"limit": {
"description": "Providers per page, 1 to 100. Default 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"cursor": {
"description": "next_cursor from the previous page.",
"type": "string"
}
},
"required": [
"plan_id"
]
}출력 스키마
{
"type": "object",
"properties": {
"request_id": {
"type": "string",
"description": "Request id; quote it when you contact support."
},
"data_as_of": {
"description": "Date (YYYY-MM-DD) of the newest data behind this answer.",
"type": [
"string",
"null"
]
},
"data": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "The answer. Same shape as the matching InPlan API v1 endpoint."
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"as_of": {
"type": [
"string",
"null"
]
}
},
"required": [
"type",
"description",
"as_of"
],
"additionalProperties": false
},
"description": "Source types behind the answer (insurer_directory, plan_directory, provider_registry, plan_catalog), each with its as_of date."
},
"notes": {
"description": "How to read the answer.",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"request_id",
"data_as_of",
"data",
"sources"
],
"additionalProperties": {}
}🟢coverage(market, state, year)
The markets, states and insurers InPlan holds directory listings for, with plan counts and as_of dates, by plan year. Filter by market, state or year. Use it to see which states and insurers you can query. Costs 1 call.
입력 스키마
{
"type": "object",
"properties": {
"market": {
"type": "string",
"enum": [
"aca",
"ma"
],
"description": "\"aca\" = Marketplace plans, \"ma\" = Medicare Advantage plans. Optional; default both."
},
"state": {
"type": "string",
"description": "2-letter US state code, e.g. \"OH\". Optional."
},
"year": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Plan year, e.g. 2026. Optional; by default all plan years we hold are considered."
}
}
}출력 스키마
{
"type": "object",
"properties": {
"request_id": {
"type": "string",
"description": "Request id; quote it when you contact support."
},
"data_as_of": {
"description": "Date (YYYY-MM-DD) of the newest data behind this answer.",
"type": [
"string",
"null"
]
},
"data": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "The answer. Same shape as the matching InPlan API v1 endpoint."
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"as_of": {
"type": [
"string",
"null"
]
}
},
"required": [
"type",
"description",
"as_of"
],
"additionalProperties": false
},
"description": "Source types behind the answer (insurer_directory, plan_directory, provider_registry, plan_catalog), each with its as_of date."
},
"notes": {
"description": "How to read the answer.",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"request_id",
"data_as_of",
"data",
"sources"
],
"additionalProperties": {}
}커뮤니티
증거