InPlan

Is this US provider in this health plan? Network checks by NPI and plan ID, with dated sources.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
99%
이름 품질
91%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~3,616토큰 (도구 정의)
~4.7 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 2.83%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`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": {}
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 7개