Emergency Medicare Planner MCP Server
The Emergency Medicare Planner MCP Server helps users manage emergency medical situations with the following capabilities:
Find Medical Facilities: Locate hospitals, clinics, pharmacies, and specialists within a 10km radius based on criteria like specialty, price range, and care quality
Get Facility Details: Access information about operating hours, services, and contact information
Calculate Routes: Determine fastest routes to facilities with options for different transport modes
Check Facility Availability: Verify if facilities are accepting patients based on urgency
Check Medicare Coverage: Determine covered treatments and procedures by state
Retrieve Emergency Contacts: Access emergency contact information for specific locations
Schedule Emergency Transport: Arrange medical transportation based on patient location, condition, and urgency
Sequential Thinking for Medical Evaluation: Perform step-by-step clinical reasoning to match patients with appropriate facilities
Integrates with Google Maps APIs for locating and evaluating medical facilities in emergencies, providing search for hospitals and clinics within a specified radius, facility details, routing information, and navigation services based on user location.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Emergency Medicare Planner MCP Serverfind nearest emergency room for chest pain at 40.7128,-74.0060"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 claudeInstalling 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-serverOr 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-serverRelated 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 locationradius(optional, default: 10000): Search radius in metersspecialtyNeeded(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 locationfacilityId: Place ID of the destination facilitytransportMode(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 facilityemergencyLevel: 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
Clone the repository
Install dependencies:
npm installBuild 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 startLicense
This MCP server is licensed under the MIT License. For more details, please see the LICENSE file in the project repository.
Available Tools
5 toolscheck_medicare_coverageC
Checks what treatments and procedures are covered by Medicare
| Name | Required | Description | Default |
|---|---|---|---|
| insuranceType | No | Type of Medicare insurance (e.g., Part A, Part B) | |
| state | Yes | US State code (e.g., CA, NY) | |
| treatmentCode | Yes | Medicare treatment or procedure code |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| careQuality | No | Expected quality of medical care | |
| facilities | No | Types of medical facilities to search for | |
| infrastructure | No | Quality of infrastructure and cleanliness | |
| priceRange | No | Price range preference | |
| radius | No | Search radius in meters (default: 10000m = 10km) | |
| treatmentNeeds | No | Specific medical treatments or services needed | |
| userLocation | Yes | User's current location (address or coordinates) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| location | Yes | Location to get emergency contacts for | |
| serviceType | No | Types of emergency services needed |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| destination | No | Destination hospital or clinic | |
| medicalCondition | Yes | Brief description of medical condition | |
| patientLocation | Yes | Patient's current location | |
| urgency | Yes | Level of urgency |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| branchFromThought | No | Branching point thought number for alternative diagnosis | |
| branchId | No | Branch identifier for the diagnostic path | |
| isRevision | No | Whether this revises previous medical thinking | |
| needsMoreThoughts | No | If more clinical evaluation is needed | |
| nextThoughtNeeded | Yes | Whether another medical assessment step is needed | |
| revisesThought | No | Which medical assessment is being reconsidered | |
| thought | Yes | Your current clinical thinking step | |
| thoughtNumber | Yes | Current thought number | |
| totalThoughts | Yes | Estimated total thoughts needed for complete evaluation |
TDQS
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.
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.
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.
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.
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.
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.
5 tool updates
v1.0.0- First observed
check_medicare_coverage - First observed
find_nearby_medical_facilities - First observed
get_emergency_contacts - First observed
schedule_emergency_transport - First observed
sequentialthinking
TDQS
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.
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.
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.
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
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
Ground your AI applications with trusted geospatial data from Google Maps.
AI-powered medical document management for cancer patients. Google Drive, Gmail, Calendar via MCP.
Medical RAG: semantic search for clinical guidelines, drug interactions, diagnoses & EHR data.
Medical RAG: semantic search for clinical guidelines, drug interactions, diagnoses & EHR data.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables 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-
- AlicenseNot gradedqualityFmaintenanceEnables querying Google Maps and Places APIs for local businesses and tourist attractions in India through a simple MCP interface.4MIT
- AlicenseNot gradedqualityBmaintenanceEnables emergency medical coordination with tools for triage, medication guidance, blood donor outreach, mass casualty simulation, and emergency plan generation.MIT
- FlicenseAqualityDmaintenanceAn intelligent emergency medical coordinator that provides symptom-based hospital recommendations, real-time ETA, and guardian alerts.4-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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