Skip to main content
Glama
manolaz

Emergency Medicare Planner MCP Server

by manolaz

Emergency Medicare Management MCP Server

(@manolaz/emergency-medicare-planner-mcp-server)

A powerful Model Context Protocol (MCP) server that integrates with Google Maps to locate and evaluate medical facilities in emergency situations. This server helps users find appropriate hospitals and clinics within 10km radius based on specific medical needs, emergency level, and facility capabilities.

The system provides real-time routing, availability checks, and detailed information about medical services, helping patients make informed decisions during urgent healthcare situations.

Key Feature: Sequential Thinking for Medical Evaluation - Enables step-by-step clinical reasoning for more accurate medical facility matching based on patient symptoms and medical history.

Installation & Usage

Installing via Smithery

To install Emergency Medicare Planner for Claude Desktop automatically:

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

Installing Manually

# 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

Or install globally:

# 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

Components

Tools

  • searchMedicalFacilities

    • Search for hospitals, clinics, and medical facilities using Google Places API

    • Input:

      • query (string): Search query (e.g., "emergency room", "pediatric clinic")

      • location: Latitude and longitude of patient location

      • radius (optional, default: 10000): Search radius in meters

      • specialtyNeeded (optional): Medical specialty required

  • getMedicalFacilityDetails

    • Get detailed information about a specific medical facility

    • Input:

      • placeId (string): Google Place ID of the medical facility

    • Output:

      • Hours of operation, services offered, contact information, etc.

  • calculateRouteToFacility

    • Calculate fastest route to a medical facility

    • Input:

      • origin: Patient's current location

      • facilityId: Place ID of the destination facility

      • transportMode (optional): Travel mode (driving, walking, transit, ambulance)

      • avoidTraffic (optional): Route planning to avoid traffic

  • checkFacilityAvailability

    • Check if a facility is currently accepting patients

    • Input:

      • facilityId: Place ID of the medical facility

      • emergencyLevel: Urgency level of the medical situation

Configuration

Usage with Claude Desktop

To use this server with the Claude Desktop app, add the following configuration to the "mcpServers" section of your claude_desktop_config.json:

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

Alternatively, you can use the node command directly if you have the package installed:

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

Development

Building from Source

  1. Clone the repository

  2. Install dependencies:

    npm install
  3. Build the project:

    npm run build

Environment Variables

  • GOOGLE_MAPS_API_KEY (required): Your Google Maps API key with the following APIs enabled:

    • Places API

    • Directions API

    • Geocoding API

    • Time Zone API

    • Distance Matrix API

Testing

# Run test suite
npm test

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

License

This MCP server is licensed under the MIT License. For more details, please see the LICENSE file in the project repository.

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. Dates show when Glama detected each change.

  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
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
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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
    F
    maintenance
    Enables querying Google Maps and Places APIs for local businesses and tourist attractions in India through a simple MCP interface.
    4
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables emergency medical coordination with tools for triage, medication guidance, blood donor outreach, mass casualty simulation, and emergency plan generation.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/manolaz/emergency-medicare-planner-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server