Skip to main content
Glama
manolaz

Emergency Medicare Planner MCP Server

by manolaz

緊急メディケア管理MCPサーバー

鍛冶屋のバッジ

(@manolaz/緊急メディケアプランナーMCPサーバー)

Googleマップと連携し、緊急時に医療施設の位置を特定・評価できる強力なモデルコンテキストプロトコル(MCP)サーバーです。このサーバーは、ユーザーが特定の医療ニーズ、緊急度、施設の対応状況に基づいて、半径10km以内の適切な病院や診療所を見つけるのに役立ちます。

このシステムは、リアルタイムのルーティング、空き状況の確認、医療サービスに関する詳細な情報を提供し、緊急の医療状況において患者が十分な情報に基づいた決定を下せるよう支援します。

主な機能: 医療評価のためのシーケンシャル シンキング - 患者の症状と病歴に基づいて、より正確な医療施設のマッチングを行うための段階的な臨床推論を可能にします。

インストールと使用方法

Smithery経由でインストール

Claude Desktop 用の Emergency Medicare Planner を自動的にインストールするには:

npx -y @smithery/cli install @manolaz/emergency-medicare-planner-mcp-server --client claude

手動でインストールする

# Using npx (recommended)
npx @manolaz/emergency-medicare-planner-mcp-server

# With environment variable for Google Maps API
GOOGLE_MAPS_API_KEY=your_api_key npx @manolaz/emergency-medicare-planner-mcp-server

またはグローバルにインストールします:

# Install globally
npm install -g @manolaz/emergency-medicare-planner-mcp-server

# Run after global installation
GOOGLE_MAPS_API_KEY=your_api_key emergency-medicare-planner-mcp-server

Related MCP server: google_maps_mcp

コンポーネント

ツール

  • 医療施設を検索

    • Google Places API を使用して病院、診療所、医療施設を検索します

    • 入力:

      • query (文字列): 検索クエリ(例:「救急室」、「小児科」)

      • location :患者の所在地の緯度と経度

      • radius (オプション、デフォルト: 10000): 検索半径(メートル)

      • specialtyNeeded (オプション): 必要な医療専門分野

  • 医療施設の詳細を取得する

    • 特定の医療施設に関する詳細情報を取得する

    • 入力:

      • placeId (文字列): 医療施設のGoogleプレイスID

    • 出力:

      • 営業時間、提供サービス、連絡先情報など。

  • 施設へのルートを計算する

    • 医療施設への最速ルートを計算する

    • 入力:

      • origin :患者の現在の場所

      • facilityId : 目的地施設の場所ID

      • transportMode (オプション): 移動手段(車、徒歩、公共交通機関、救急車)

      • avoidTraffic (オプション):交通渋滞を避けるためのルート計画

  • 施設の空き状況を確認する

    • 施設が現在患者を受け入れているかどうかを確認する

    • 入力:

      • facilityId : 医療施設の場所ID

      • emergencyLevel :医療状況の緊急度

構成

Claude Desktopでの使用

このサーバーを Claude Desktop アプリで使用するには、 claude_desktop_config.jsonの「mcpServers」セクションに次の構成を追加します。

{
  "mcpServers": {
    "emergency-medicare-planner": {
      "command": "npx",
      "args": ["@manolaz/emergency-medicare-planner-mcp-server"],
      "env": {
        "GOOGLE_MAPS_API_KEY": "your_google_maps_api_key"
      }
    }
  }
}

あるいは、パッケージがインストールされている場合は、node コマンドを直接使用することもできます。

{
  "mcpServers": {
    "emergency-medicare-planner": {
      "command": "node",
      "args": ["path/to/dist/index.js"],
      "env": {
        "GOOGLE_MAPS_API_KEY": "your_google_maps_api_key"
      }
    }
  }
}

発達

ソースから構築

  1. リポジトリをクローンする

  2. 依存関係をインストールします:

    npm install
  3. プロジェクトをビルドします。

    npm run build

環境変数

  • GOOGLE_MAPS_API_KEY (必須): 次の API が有効になっている Google Maps API キー:

    • プレイスAPI

    • ルート案内API

    • ジオコーディングAPI

    • タイムゾーンAPI

    • 距離行列API

テスト

# Run test suite
npm test

# Run with debug logging
DEBUG=emergency-medicare:* npm start

ライセンス

このMCPサーバーはMITライセンスに基づいてライセンスされています。詳細については、プロジェクトリポジトリのLICENSEファイルをご覧ください。

Available Tools

5 tools
check_medicare_coverageC

Checks what treatments and procedures are covered by Medicare

ParametersJSON Schema
NameRequiredDescriptionDefault
insuranceTypeNoType of Medicare insurance (e.g., Part A, Part B)
stateYesUS State code (e.g., CA, NY)
treatmentCodeYesMedicare treatment or procedure code

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool 'Checks' coverage, implying a read-only operation, but doesn't specify whether it requires authentication, has rate limits, returns detailed or summary information, or handles errors. This leaves significant gaps in understanding how the tool behaves beyond its basic purpose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded and wastes no space, making it easy for an agent to parse quickly and understand the core function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of checking Medicare coverage, the lack of annotations and output schema, and the description's minimal detail, it's incomplete. It doesn't explain what the return value includes (e.g., coverage details, limitations, or next steps), which is crucial for a tool with no output schema, leaving the agent uncertain about the result format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, clearly documenting all three parameters (insuranceType, state, treatmentCode) with their types and purposes. The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline score without compensating or enhancing the schema's information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('Checks') and resource ('what treatments and procedures are covered by Medicare'), making it immediately understandable. However, it doesn't differentiate from sibling tools like 'find_nearby_medical_facilities' or 'get_emergency_contacts', which serve different healthcare-related functions, so it doesn't reach the highest score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, exclusions, or how it relates to sibling tools such as 'schedule_emergency_transport' or 'sequentialthinking', leaving the agent to infer usage context without explicit direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_nearby_medical_facilitiesC

Finds hospitals and clinics nearby user location that match specific requirements

ParametersJSON Schema
NameRequiredDescriptionDefault
careQualityNoExpected quality of medical care
facilitiesNoTypes of medical facilities to search for
infrastructureNoQuality of infrastructure and cleanliness
priceRangeNoPrice range preference
radiusNoSearch radius in meters (default: 10000m = 10km)
treatmentNeedsNoSpecific medical treatments or services needed
userLocationYesUser's current location (address or coordinates)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'finds' and 'match specific requirements,' implying a read-only search operation, but fails to disclose critical traits: whether it requires authentication, rate limits, data freshness, error handling, or what the output format looks like (no output schema exists). For a tool with 7 parameters and no annotations, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose without unnecessary details. It wastes no words, making it appropriately concise. However, it could be slightly improved by structuring usage hints, but as-is, it's well-sized for its purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (7 parameters, no annotations, no output schema), the description is incomplete. It doesn't address behavioral aspects like authentication or rate limits, lacks output details, and provides no usage context. While the schema covers parameters well, the overall context for an AI agent to use this tool effectively is insufficient, especially for a search tool with multiple filters and no safety annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds minimal value beyond the input schema, which has 100% coverage with detailed parameter descriptions and enums. It mentions 'specific requirements,' hinting at parameters like 'careQuality' or 'treatmentNeeds,' but doesn't explain their semantics or relationships. With high schema coverage, the baseline is 3, as the schema does the heavy lifting, and the description doesn't compensate with additional insights.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Finds hospitals and clinics nearby user location that match specific requirements.' It specifies the verb ('finds'), resource ('hospitals and clinics'), and scope ('nearby user location'), distinguishing it from siblings like 'check_medicare_coverage' or 'schedule_emergency_transport.' However, it doesn't explicitly differentiate from all siblings (e.g., 'get_emergency_contacts' might also involve medical facilities), so it's not a perfect 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when-not scenarios (e.g., for non-medical emergencies or when insurance coverage is the primary concern) or explicitly refer to sibling tools like 'check_medicare_coverage' for coverage checks. Usage is implied by the purpose but lacks explicit context, scoring low due to the absence of clear alternatives or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_emergency_contactsC

Retrieves emergency contact information for a specific location

ParametersJSON Schema
NameRequiredDescriptionDefault
locationYesLocation to get emergency contacts for
serviceTypeNoTypes of emergency services needed

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states 'Retrieves', implying a read-only operation, but doesn't cover aspects like authentication needs, rate limits, error handling, or what the return format looks like. This leaves significant gaps for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without any redundant or unnecessary words. It is appropriately sized and front-loaded, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the retrieved information includes, how it's formatted, or any behavioral traits like permissions or limitations. For a tool with no structured support, this leaves the agent under-informed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with clear descriptions for both parameters ('location' and 'serviceType'), so the schema does the heavy lifting. The description adds no additional semantic context beyond implying the parameters are used for filtering, which aligns with the schema but doesn't provide extra value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Retrieves') and resource ('emergency contact information') with a specific scope ('for a specific location'), making the purpose unambiguous. However, it doesn't differentiate from sibling tools like 'find_nearby_medical_facilities' or 'schedule_emergency_transport', which might also involve emergency services, so it doesn't reach the highest score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as the sibling tools. It mentions 'specific location' but doesn't specify prerequisites, exclusions, or contexts where this tool is preferred over others, leaving the agent with minimal usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

schedule_emergency_transportC

Arranges emergency medical transportation

ParametersJSON Schema
NameRequiredDescriptionDefault
destinationNoDestination hospital or clinic
medicalConditionYesBrief description of medical condition
patientLocationYesPatient's current location
urgencyYesLevel of urgency

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. 'Arranges' implies a write/mutation operation, but the description doesn't specify whether this triggers actual transportation, requires authorization, has side effects, or what happens after arrangement. This is inadequate for a tool that appears to perform a critical action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that states the core purpose without unnecessary words. It's appropriately sized for a tool with clear parameters documented elsewhere.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool that appears to perform a critical emergency action with no annotations and no output schema, the description is insufficient. It doesn't explain what 'arranges' means operationally, what confirmation or response to expect, or any constraints or requirements beyond the basic parameters documented in the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, so all parameters are documented in the schema itself. The description doesn't add any parameter-specific information beyond what's already in the schema descriptions. This meets the baseline expectation when schema coverage is complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('arranges') and resource ('emergency medical transportation'), making the purpose immediately understandable. However, it doesn't differentiate this tool from potential sibling tools like 'check_medicare_coverage' or 'find_nearby_medical_facilities' that might also relate to emergency medical services.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. There's no mention of prerequisites, constraints, or how it differs from sibling tools like 'get_emergency_contacts' or 'sequentialthinking' that might be relevant in emergency medical situations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sequentialthinkingA

A detailed tool for dynamic and reflective medical problem-solving through thoughts. This tool helps analyze medical problems through a flexible thinking process that can adapt and evolve. Each thought can build on, question, or revise previous insights as understanding of the medical situation deepens.

When to use this tool:

  • Breaking down complex medical problems into steps

  • Planning and designing treatment approaches with room for revision

  • Clinical analysis that might need course correction

  • Medical problems where the full scope might not be clear initially

  • Healthcare decisions that require a multi-step solution

  • Medical evaluations that need to maintain context over multiple steps

  • Situations where irrelevant medical information needs to be filtered out

Key features:

  • You can adjust total_thoughts up or down as the diagnosis progresses

  • You can question or revise previous medical assessments

  • You can add more diagnostic thoughts as new information emerges

  • You can express clinical uncertainty and explore alternative approaches

  • Not every medical assessment needs to build linearly - you can branch or backtrack

  • Generates a clinical hypothesis

  • Verifies the hypothesis based on the Chain of Thought steps

  • Repeats the process until a satisfactory diagnosis or treatment plan is reached

  • Provides a correct medical assessment or recommendation

ParametersJSON Schema
NameRequiredDescriptionDefault
branchFromThoughtNoBranching point thought number for alternative diagnosis
branchIdNoBranch identifier for the diagnostic path
isRevisionNoWhether this revises previous medical thinking
needsMoreThoughtsNoIf more clinical evaluation is needed
nextThoughtNeededYesWhether another medical assessment step is needed
revisesThoughtNoWhich medical assessment is being reconsidered
thoughtYesYour current clinical thinking step
thoughtNumberYesCurrent thought number
totalThoughtsYesEstimated total thoughts needed for complete evaluation

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It discloses key behavioral traits like adaptability ('can adjust total_thoughts'), revision capabilities ('question or revise previous medical assessments'), and iterative nature ('Repeats the process until a satisfactory diagnosis'). However, it lacks details on error handling, performance limits, or authentication needs, leaving gaps for a tool with 9 parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with purpose and usage guidelines, but becomes verbose in 'Key features' with repetitive points (e.g., multiple lines on revision and branching). Sentences like 'Generates a clinical hypothesis' and 'Verifies the hypothesis' could be condensed. Overall, it's informative but could be more streamlined.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description provides good usage context and behavioral hints. However, for a complex tool with 9 parameters involving medical decision-making, it lacks details on output format, error cases, or security considerations, making it incomplete for full agent understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameters are well-documented in the schema. The description adds minimal semantic context beyond the schema, such as implying 'total_thoughts' is adjustable and 'thought' represents 'clinical thinking step,' but doesn't elaborate on parameter interactions or usage examples. Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool enables 'dynamic and reflective medical problem-solving through thoughts' and 'helps analyze medical problems through a flexible thinking process.' It specifies the domain (medical) and core function (problem-solving via sequential thoughts). However, it doesn't explicitly differentiate from sibling tools like 'check_medicare_coverage' or 'find_nearby_medical_facilities,' which serve different purposes rather than overlapping in medical analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit 'When to use this tool' guidance with seven specific scenarios, such as 'Breaking down complex medical problems into steps' and 'Clinical analysis that might need course correction.' It clearly outlines appropriate contexts without mentioning alternatives, which is sufficient given the siblings are unrelated (e.g., coverage checks, facility finding).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv1.0.0
    • First observedcheck_medicare_coverage
    • First observedfind_nearby_medical_facilities
    • First observedget_emergency_contacts
    • First observedschedule_emergency_transport
    • First observedsequentialthinking

TDQS

B3/5.0

Scored across 5 tools

Disambiguation3/5

Four tools have distinct purposes (coverage check, facility finding, contact retrieval, transport scheduling), but the 'sequentialthinking' tool is ambiguous—it overlaps with the analytical aspects of the other tools and lacks a clear boundary, potentially causing misselection for medical problem-solving tasks. The descriptions help differentiate the core four, but the fifth introduces confusion.

Naming Consistency2/5

Four tools follow a consistent verb_noun pattern (e.g., check_medicare_coverage, find_nearby_medical_facilities), but 'sequentialthinking' deviates significantly with a single, non-standard noun. This mixing of conventions (snake_case vs. lowercase compound) reduces predictability and readability across the tool set.

Tool Count4/5

With 5 tools, the count is reasonable for an emergency medical planning server, covering key functions like coverage, facilities, contacts, and transport. It's slightly under-scoped as it lacks tools for updating or managing data, but overall, each tool earns its place without feeling excessive or thin.

Completeness3/5

The tool set covers core emergency planning aspects (coverage, facilities, contacts, transport) but has notable gaps: there are no tools for updating information (e.g., modify contacts or schedules), managing user profiles, or handling post-emergency follow-ups. The 'sequentialthinking' tool adds analytical depth but doesn't fill these operational gaps, leaving the surface incomplete for full lifecycle coverage.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables location-aware AI agents to search for nearby places, get detailed place information including hours and ratings, and calculate routes with turn-by-turn directions using Google Maps APIs.
    22
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables querying Google Maps and Places APIs for local businesses and tourist attractions in India through a simple MCP interface.
    17 PyPI
    4
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables emergency medical coordination with tools for triage, medication guidance, blood donor outreach, mass casualty simulation, and emergency plan generation.
    MIT