Skip to main content
Glama
sudhakaren

FastMCP Patient Information Server

by sudhakaren

Сервер информации о пациентах FastMCP

Сервер FastMCP, предоставляющий функциональность получения информации о пациентах через инструмент get_patient.

Возможности

  • Инструмент get_patient: получает исчерпывающую информацию о пациентах, включая:

    • Личные данные (имя, дата рождения, контактная информация)

    • Планы страхования (медицинское, стоматологическое, офтальмологическое)

    • Информацию о сотрудниках

Предварительные требования

  • Docker и Docker Compose, установленные на вашем сервере Ubuntu

  • Сетевой доступ к серверу из Watson Orchestrate

Установка и развертывание

1. Перенос файлов на сервер Ubuntu

Скопируйте весь каталог fastmcp-server на ваш сервер Ubuntu:

scp -r fastmcp-server/ user@your-ubuntu-server:/path/to/deployment/

2. Сборка и запуск с помощью Docker Compose

Подключитесь по SSH к вашему серверу Ubuntu и перейдите в каталог:

ssh user@your-ubuntu-server
cd /path/to/deployment/fastmcp-server

Соберите и запустите контейнер:

docker-compose up -d --build

3. Проверка работы сервера

Проверьте статус контейнера:

docker-compose ps

Просмотрите логи:

docker-compose logs -f

4. Локальное тестирование сервера

curl http://localhost:8002/health

Подключение к Watson Orchestrate

Шаг 1: Получение URL вашего сервера

Ваш MCP-сервер будет доступен по адресу:

http://your-ubuntu-server-ip:8002

Или, если у вас есть домен:

https://your-domain.com:8002

Важно: Для промышленной эксплуатации используйте HTTPS с надлежащими SSL-сертификатами.

Шаг 2: Переход на страницу инструментов Watson Orchestrate

  1. Войдите в свой экземпляр Watson Orchestrate

  2. Перейдите в раздел Skills (Навыки) или Tools (Инструменты)

  3. Нажмите Add Tool (Добавить инструмент) или Connect Tool (Подключить инструмент)

Шаг 3: Настройка подключения MCP

  1. Connection Type (Тип подключения): Выберите "MCP Server" или "Custom API"

  2. Server URL (URL сервера): Введите адрес вашего сервера

    http://your-ubuntu-server-ip:8002
  3. Authentication (Аутентификация) (если требуется):

    • Тип: None (для базовой настройки)

    • Для промышленной эксплуатации внедрите OAuth2 или аутентификацию по API-ключу

  4. Connection Name (Имя подключения): Patient Information MCP Server

  5. Description (Описание): Provides patient information retrieval capabilities

Шаг 4: Обнаружение инструментов

  1. Нажмите Discover Tools (Обнаружить инструменты) или Test Connection (Проверить подключение)

  2. Watson Orchestrate отправит запрос на MCP-сервер для получения списка доступных инструментов

  3. Вы должны увидеть появление инструмента get_patient

Шаг 5: Настройка инструмента get_patient

Инструмент будет автоматически настроен со следующими параметрами:

  • Tool Name (Имя инструмента): get_patient

  • Description (Описание): Получение информации о пациенте по идентификатору контакта

  • Parameters (Параметры):

    • contact_id (необязательная строка): Уникальный идентификатор контакта

Шаг 6: Тестирование инструмента

  1. В Watson Orchestrate выберите инструмент get_patient

  2. Протестируйте его с примером идентификатора контакта: 7c50f84d-62af-f011-bbd3-000d3a9b6dcb

  3. Или протестируйте без параметров, чтобы получить данные пациента по умолчанию

  4. Убедитесь, что ответ соответствует ожидаемому формату

Шаг 7: Создание навыков с использованием инструмента

  1. Перейдите в Skills Builder в Watson Orchestrate

  2. Создайте новый навык, использующий инструмент get_patient

  3. Настройте поток навыка и параметры

  4. Протестируйте и опубликуйте навык

Пример YAML-файла для подключения к Watson Orchestrate

Если Watson Orchestrate поддерживает конфигурацию YAML, создайте файл подключения:

apiVersion: v1
kind: Connection
metadata:
  name: patient-mcp-server
spec:
  type: mcp
  endpoint: http://your-ubuntu-server-ip:8002
  authentication:
    type: none
  tools:
    - name: get_patient
      enabled: true

Рекомендации по безопасности для промышленной эксплуатации

1. Включение HTTPS

Используйте обратный прокси-сервер (nginx) с SSL:

# Install nginx
sudo apt-get update
sudo apt-get install nginx certbot python3-certbot-nginx

# Configure SSL
sudo certbot --nginx -d your-domain.com

2. Добавление аутентификации

Обновите server.py, чтобы включить аутентификацию по API-ключу:

from fastapi import Header, HTTPException

@mcp.tool()
def get_patient(contact_id: str = None, api_key: str = Header(None)) -> Dict[str, Any]:
    if api_key != "your-secret-api-key":
        raise HTTPException(status_code=401, detail="Invalid API key")
    # ... rest of the function

3. Сетевая безопасность

  • Используйте правила брандмауэра для ограничения доступа

  • Рассмотрите возможность использования VPN или частного сетевого подключения

  • Внедрите ограничение частоты запросов (rate limiting)

4. Обновление docker-compose.yml для промышленной эксплуатации

version: '3.8'

services:
  fastmcp-server:
    build: .
    container_name: patient-mcp-server
    ports:
      - "127.0.0.1:8002:8002"  # Only bind to localhost
    environment:
      - PYTHONUNBUFFERED=1
      - API_KEY=${API_KEY}  # Use environment variable
    restart: unless-stopped
    networks:
      - mcp-network

networks:
  mcp-network:
    driver: bridge

Устранение неполадок

Сервер не запускается

# Check logs
docker-compose logs

# Rebuild container
docker-compose down
docker-compose up -d --build

Ошибка "Connection Refused" (Подключение отклонено) из Watson Orchestrate

  1. Убедитесь, что брандмауэр разрешает порт 8002

  2. Проверьте, что сервер слушает 0.0.0.0, а не 127.0.0.1

  3. Протестируйте с помощью curl с другой машины

Инструмент не отображается в Watson Orchestrate

  1. Убедитесь, что MCP-сервер отвечает на запросы обнаружения инструментов

  2. Проверьте логи Watson Orchestrate на наличие ошибок подключения

  3. Убедитесь, что URL сервера правильный и доступен

Команды управления

# Start the server
docker-compose up -d

# Stop the server
docker-compose down

# View logs
docker-compose logs -f

# Restart the server
docker-compose restart

# Update the server
git pull  # or copy new files
docker-compose up -d --build

Расширение сервера

Чтобы добавить больше инструментов, отредактируйте server.py:

@mcp.tool()
def get_patient_appointments(patient_id: str) -> Dict[str, Any]:
    """Get patient appointments"""
    # Implementation here
    pass

@mcp.tool()
def get_patient_claims(patient_id: str) -> Dict[str, Any]:
    """Get patient insurance claims"""
    # Implementation here
    pass

Затем пересоберите и перезапустите:

docker-compose up -d --build

Поддержка

По вопросам или проблемам:

  • Проверьте логи: docker-compose logs

  • Ознакомьтесь с документацией FastMCP: https://github.com/jlowin/fastmcp

  • Ознакомьтесь с документацией по интеграции Watson Orchestrate MCP

Лицензия

[Ваша лицензия здесь]

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

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/sudhakaren/healthnav'

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