Skip to content

InPlan

io.inplan/inplaninplan.iostreamable-httpv1.0.0Scanned

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

7 tools: 4 change things and 3 only read.

Tools: 0 delete, 0 irreversible, 4 write, 3 read.
  • Reads private data · 3
  • Reads text others write · 0
  • Can send data out · 0
  • 2 findings

Anlyon alternative

4 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

7 tools

Changes things 4Claude Code: ask
  • check_networkAnswers whether one plan's network directory lists one provider.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Is this provider in this plan?
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • check_network_batchThe check_network answer for up to 100 (npi, plan_id) pairs in one request, with the same listed / not_found / no_provider_network semantics.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Check up to 100 provider and plan pairs
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • coverageThe markets, states and insurers InPlan holds directory listings for, with plan counts and as_of dates, by plan year.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: What InPlan covers
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • plans_for_providerEvery 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 an…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Plans that list a provider
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 3Show 3 read-only tools
  • get_planDetails 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 wh…Reads private dataNo findings

    Why it is in this group

    • The name "get_plan" says "get": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "directory": it reads files.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Plan details
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • lookup_providerIdentity 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 whos…Reads private data1 finding

    Why it is in this group

    • The name "lookup_provider" says "lookup": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "credential": it reads secrets.

    Findings

    • Info

      The description mentions "credential".

      Matched text

      description: "...a US healthcare provider by NPI: name, credential, specialties, practice locations and gr..."

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Look up a provider by NPI
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • search_plan_providersProviders that a Marketplace (ACA) plan's network directory lists, with name, credential, primary specialty, network tiers and up to 5 locations.Reads private data1 finding

    Why it is in this group

    • The name "search_plan_providers" says "search": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "directory": it reads files.

    Findings

    • Info

      The description mentions "credential".

      Matched text

      description: "...n's network directory lists, with name, credential, primary specialty, network tiers and u..."

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Providers listed in a plan
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

No private-data, untrusted-input, outbound path in this server alone: no tool is tagged untrusted-input or outbound.

Reads private data3
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write0
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out0
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Findings

Matches of fixed checks, with the text they matched.

2 info

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http inplan https://api.inplan.io/mcp --header 'Authorization: <your-authorization>'
claude mcp add --transport http inplan https://api.inplan.io/mcp --header 'Authorization: <your-authorization>'

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__inplan__lookup_provider",
      "mcp__inplan__get_plan",
      "mcp__inplan__search_plan_providers"
    ],
    "ask": [
      "mcp__inplan__plans_for_provider",
      "mcp__inplan__check_network",
      "mcp__inplan__check_network_batch",
      "mcp__inplan__coverage"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as inplan. Review it before you use it.

Capability tags behind 3 rules
  • mcp__inplan__lookup_provider private-data
  • mcp__inplan__get_plan private-data
  • mcp__inplan__search_plan_providers private-data

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/io.inplan/inplan/verify?hash=e12a3a3b77898074ec4d85380b2d5d8061979af330dde47e96f056bc4b73cd73" | jq -e '.changed == false'

Pinned hash e12a3a3b7789, from Oct 30, 2026, 12:18 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/io.inplan/inplan/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for io.inplan/inplan
[![anlyon.dev](https://anlyon.dev/badge/io.inplan/inplan.svg)](https://anlyon.dev/servers/io.inplan/inplan)

Source: MCP Registry. Synced Oct 30, 2026, 12:17 UTC.