rajat-coditas/mcp-server-sql
If you are the rightful owner of mcp-server-sql and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
MCP Server for MRIoA Third-Party Insurance Validation Services
MCP Server - MRIoA Insurance Validation
MCP Server for MRIoA Third-Party Insurance Validation Services
Description
This is a NestJS-based MCP (Model Context Protocol) server that provides tools for insurance validation case management using JSON databases. The server is specifically designed for MRIoA (Medical Review Insurance of America) third-party insurance validation services.
Features
Insurance Validation Tools
- OCR Validation: Get OCR data based on validation rules
- Insured Name Search: Search for claimant names in government ID documents
- Tag-based OCR Data: Fetch OCR data based on tags
- Case Data Management: Retrieve insurance validation case information using JSON database
MRIoA Case Data Tool
Get Case Data Tool
Fetch comprehensive insurance validation case information from a JSON database using a case ID.
Tool Name: get_case_data
Input:
case_id(string): The unique MRIoA case ID to fetch data for (e.g., MRIOA-001)
Sample Cases Available:
MRIOA-001: Medical Review - Outpatient Services (PPO, California)MRIOA-002: Surgical Review - Knee Arthroscopy (HMO, Texas)MRIOA-003: DME Review - Respiratory Equipment (Medicare Advantage, Florida)MRIOA-004: Pharmacy Review - Biologic Therapy (HDHP, New York)MRIOA-005: Mental Health Review - PTSD Treatment (EPO, Illinois)
Example Usage:
{
"case_id": "MRIOA-001"
}
Case Data Fields:
- Basic Information: Case ID, Claimant Name, Insured Name, Review Type
- Plan Details: Plan Type, Plan Funded Type, Plan State of Issue, State License
- Review Process: TAT, Primary CPT Code, Review Category, Review Level, Review Phase
- Timing: Rev Due, Requested Due, Client Due, DOS (Date of Service)
- Clinical: Questions for Review, Services, P2P Requirements
- Administrative: Client Code, Client Notes, Case Notes, Number of Questions/Pages
- Templates: Reviewers Instructions Template, Select Reviewer Question Template
- Status: Current Status, Priority, Assigned Reviewer
Response Format:
{
"success": true,
"case_id": "MRIOA-001",
"data": {
"id": "MRIOA-001",
"claimantName": "John Michael Smith",
"reviewType": "Medical Review",
"insuredName": "Smith, John M.",
"planType": "PPO",
"primaryCPTCode": "99213",
"reviewCategory": "Outpatient Services",
"reviewLevel": "Level 1 - Initial Review",
"tat": "72 hours",
"status": "Under Review",
"assignedReviewer": "Dr. Emily Chen, MD",
...
},
"message": "Successfully retrieved case data for MRIOA-001"
}
Installation
npm install
Running the App
# Development mode
npm run start:dev
# Production mode
npm run start:prod
# STDIO transport for MCP
npm run start:stdio
# HTTP transport for MCP
npm run start:http
# Both transports
npm run start:both
JSON Database
The server uses node-json-db for lightweight insurance validation case data storage. The system follows this structure:
Database Files
db.json: Contains MRIoA sample case data used for initializationcase-data.json: Runtime database file (auto-created from db.json on first run)
Data Initialization
- On first startup, the service checks if
case-data.jsonexists - If not, it loads sample MRIoA case data from
db.json - If
db.jsondoesn't exist, it creates an empty database structure - All subsequent operations use the
case-data.jsonfile
Customizing Data
To add or modify insurance validation cases:
- Edit the
db.jsonfile with your MRIoA case structure - Delete
case-data.jsonto force re-initialization - Restart the server
MRIoA Case ID Uniqueness
Answer to your question: Yes, the same case ID could potentially be sent across for validation in scenarios like:
- Case Updates: Status changes, additional documentation
- Re-reviews: Appeals, peer-to-peer consultations
- Concurrent Reviews: Ongoing treatment authorizations
Date-Affected Fields: Several fields are date-sensitive:
- Primary CPT Code: May change based on service date and current coding standards
- DOS (Date of Service): Critical for determining coverage periods
- Due Dates: Rev Due, Requested Due, Client Due are all time-sensitive
- TAT (Turn Around Time): Calculated from submission date
- State Licenses: May have expiration dates affecting validity
Environment Variables
Configure your database and server settings using environment variables or .env file.
Available Tools
- get_ocr_data_based_on_validation_rules - OCR data validation
- add_numbers - Simple number addition
- insured_name - Name search in documents
- get_ocr_data_based_on_tag - Tag-based OCR retrieval
- get_case_data - MRIoA insurance validation case data retrieval
MRIoA Review Types Supported
- Medical Review: Standard outpatient and inpatient services
- Surgical Review: Pre-authorization for surgical procedures
- DME Review: Durable Medical Equipment evaluations
- Pharmacy Review: Specialty pharmacy and biologics
- Mental Health Review: Behavioral health services
Project Structure
├── db.json # MRIoA sample case data for initialization
├── case-data.json # Runtime JSON database (auto-created)
├── src/
│ ├── mcp/
│ │ ├── database/
│ │ │ └── json-database.service.ts # JSON database service
│ │ └── tools/
│ │ └── get-case-data/ # Case data retrieval tool
│ │ ├── get-case-data.handler.ts
│ │ ├── get-case-data.schema.ts
│ │ └── get-case-data.tool.ts
│ └── ...
License
UNLICENSED