metriport

Read and write patients, facilities, medical documents, and consolidated FHIR records in Metriport.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
93%
이름 품질
73%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (4)

  • LOWTool 'metriport_get_document_query_status' name length outside 3-30 rangemetriport_get_document_query_status에서
  • LOWTool 'metriport_list_consolidated_queries' name length outside 3-30 rangemetriport_list_consolidated_queries에서
  • LOWTool 'metriport_get_medical_record_summary' name length outside 3-30 rangemetriport_get_medical_record_summary에서
  • LOWTool 'metriport_start_consolidated_query' name length outside 3-30 rangemetriport_start_consolidated_query에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,155토큰 (도구 정의)
~1.3 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.68%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "metriport": {
      "url": "https://metriport.usefulapi.io/mcp"
    }
  }
}

원격 엔드포인트

https://metriport.usefulapi.io/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (12)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢metriport_list_facilities

List all Facilities under your Metriport Organization (id, name, npi, address). Medical API: GET /medical/v1/facility.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢metriport_get_facility(id)

Get a single Facility by its Metriport ID. Medical API: GET /medical/v1/facility/{id}.

입력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "The Metriport Facility ID."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢metriport_list_patients(facilityId)

List Patients — all Patients, or only those at a given Facility if facilityId is supplied. Medical API: GET /medical/v1/patient.

입력 스키마

{
  "type": "object",
  "properties": {
    "facilityId": {
      "description": "Optional Facility ID to filter by. Omit to list all patients.",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢metriport_get_patient(id)

Get a single Patient by its Metriport ID (demographics + facility IDs). Medical API: GET /medical/v1/patient/{id}.

입력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "The Metriport Patient ID."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢metriport_list_documents(patientId, dateFrom, dateTo, content)

List the document references currently available for a Patient at Metriport (optionally filtered by date range and content search). Medical API: GET /medical/v1/document.

입력 스키마

{
  "type": "object",
  "properties": {
    "patientId": {
      "type": "string",
      "description": "The Patient ID whose available documents to list."
    },
    "dateFrom": {
      "description": "Inclusive start date yyyy-mm-dd.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "dateTo": {
      "description": "Inclusive end date yyyy-mm-dd.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "content": {
      "description": "Text to search within the document reference and contents (min 3 chars).",
      "type": "string"
    }
  },
  "required": [
    "patientId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢metriport_get_document_query_status(patientId)

Check the progress/status of a Patient's document query (download + FHIR conversion counts). Medical API: POST /medical/v1/document/query with only patientId (no facilityId) returns current status without starting a new query.

입력 스키마

{
  "type": "object",
  "properties": {
    "patientId": {
      "type": "string",
      "description": "The Patient ID whose document-query status to check."
    }
  },
  "required": [
    "patientId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢metriport_get_document_url(fileName, conversionType)

Get a temporary, downloadable URL for a document by its file name (optionally converting XML/CDA to html or pdf). Medical API: GET /medical/v1/document/download-url.

입력 스키마

{
  "type": "object",
  "properties": {
    "fileName": {
      "type": "string",
      "description": "The file name of the document (from metriport_list_documents)."
    },
    "conversionType": {
      "description": "Optional doc type to convert to, e.g. pdf, html, xml (for XML/CDA files).",
      "type": "string"
    }
  },
  "required": [
    "fileName"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢metriport_list_consolidated_queries(id)

Get the status of the Patient's consolidated-data (FHIR) queries. Medical API: GET /medical/v1/patient/{id}/consolidated/query.

입력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "The Metriport Patient ID."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢metriport_get_medical_record_summary(patientId, conversionType)

Get a URL to the Patient's medical record summary rendered as pdf or html. Medical API: GET /medical/v1/patient/{patientId}/medical-record.

입력 스키마

{
  "type": "object",
  "properties": {
    "patientId": {
      "type": "string",
      "description": "The Metriport Patient ID."
    },
    "conversionType": {
      "type": "string",
      "enum": [
        "pdf",
        "html"
      ],
      "description": "The format to render: pdf or html."
    }
  },
  "required": [
    "patientId",
    "conversionType"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴metriport_create_patient(facilityId, firstName, lastName, dob, genderAtBirth, ...)

Creates a Patient in Metriport (writes PHI and initiates health-information-exchange queries). Medical API: POST /medical/v1/patient (facilityId is a required query param).

입력 스키마

{
  "type": "object",
  "properties": {
    "facilityId": {
      "type": "string",
      "description": "REQUIRED. The Facility ID where the Patient receives care."
    },
    "firstName": {
      "type": "string",
      "description": "The Patient's first name(s)."
    },
    "lastName": {
      "type": "string",
      "description": "The Patient's last name(s)."
    },
    "dob": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Date of birth, yyyy-mm-dd."
    },
    "genderAtBirth": {
      "type": "string",
      "enum": [
        "M",
        "F",
        "O",
        "U"
      ],
      "description": "Gender at birth: M, F, O (other), or U (unknown)."
    },
    "address": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "addressLine1": {
            "type": "string",
            "description": "Street address line 1."
          },
          "addressLine2": {
            "description": "Street address line 2 (apt/suite).",
            "type": "string"
          },
          "city": {
            "type": "string",
            "description": "City."
          },
          "state": {
            "type": "string",
            "description": "2-letter US state code, e.g. CA."
          },
          "zip": {
            "type": "string",
            "description": "ZIP / postal code."
          },
          "country": {
            "description": "Country. Defaults to USA.",
            "type": "string"
          }
        },
        "required": [
          "addressLine1",
          "city",
          "state",
          "zip"
        ]
      },
      "description": "One or more addresses for the Patient."
    },
    "middleName": {
      "description": "The Patient's middle name(s).",
      "type": "string"
    },
    "personalIdentifiers": {
      "description": "Optional personal IDs (driver's license / SSN).",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "driversLicense",
              "ssn"
            ],
            "description": "Identifier type."
          },
          "value": {
            "type": "string",
            "description": "The ID number."
          },
          "state": {
            "description": "2-letter state code (required for driversLicense).",
            "type": "string"
          },
          "assigner": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "value"
        ]
      }
    },
    "contact": {
      "description": "Optional contact info (phone / email).",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "phone": {
            "description": "10-digit phone number, e.g. 1234567890.",
            "type": "string"
          },
          "email": {
            "description": "Email address.",
            "type": "string"
          }
        }
      }
    }
  },
  "required": [
    "facilityId",
    "firstName",
    "lastName",
    "dob",
    "genderAtBirth",
    "address"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴metriport_start_document_query(patientId, facilityId, metadata)

Starts a document query — retrieves the patient's medical documents from connected HIE networks. Returns a requestId; results arrive asynchronously. Medical API: POST /medical/v1/document/query (patientId and facilityId are required query params).

입력 스키마

{
  "type": "object",
  "properties": {
    "patientId": {
      "type": "string",
      "description": "REQUIRED. The Patient ID to query documents for."
    },
    "facilityId": {
      "type": "string",
      "description": "REQUIRED. The Facility ID where the patient receives care."
    },
    "metadata": {
      "description": "Optional custom string key-value pairs returned in the webhook.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      }
    }
  },
  "required": [
    "patientId",
    "facilityId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴metriport_start_consolidated_query(id, resources, dateFrom, dateTo, conversionType, ...)

Starts a consolidated-data (FHIR) query for the patient. Returns a requestId; the bundle is delivered asynchronously (webhook). Medical API: POST /medical/v1/patient/{id}/consolidated/query.

입력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "The Metriport Patient ID."
    },
    "resources": {
      "description": "Comma-separated, case-sensitive list of FHIR resource types. Omit for all.",
      "type": "string"
    },
    "dateFrom": {
      "description": "Inclusive start date yyyy-mm-dd.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "dateTo": {
      "description": "Inclusive end date yyyy-mm-dd.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "conversionType": {
      "description": "Output format: json, pdf, or html.",
      "type": "string",
      "enum": [
        "json",
        "pdf",
        "html"
      ]
    },
    "metadata": {
      "description": "Optional custom string key-value pairs returned in the webhook.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      }
    }
  },
  "required": [
    "id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 12개