FastMCP Patient Information Server
FastMCP 환자 정보 서버
get_patient 도구를 통해 환자 정보 검색 기능을 제공하는 FastMCP 서버입니다.
기능
get_patient 도구: 다음을 포함한 포괄적인 환자 정보를 검색합니다:
개인 정보 (이름, 생년월일, 연락처 정보)
보험 플랜 (의료, 치과, 안과)
직원 정보
사전 요구 사항
Ubuntu 서버에 Docker 및 Docker Compose가 설치되어 있어야 함
Watson Orchestrate에서 서버로의 네트워크 액세스 가능
설치 및 배포
1. Ubuntu 서버로 파일 전송
fastmcp-server 디렉토리 전체를 Ubuntu 서버로 복사합니다:
scp -r fastmcp-server/ user@your-ubuntu-server:/path/to/deployment/2. Docker Compose로 빌드 및 실행
Ubuntu 서버에 SSH로 접속하여 해당 디렉토리로 이동합니다:
ssh user@your-ubuntu-server
cd /path/to/deployment/fastmcp-server컨테이너를 빌드하고 시작합니다:
docker-compose up -d --build3. 서버 실행 확인
컨테이너 상태 확인:
docker-compose ps로그 보기:
docker-compose logs -f4. 로컬에서 서버 테스트
curl http://localhost:8002/healthWatson Orchestrate에 연결
1단계: 서버 URL 가져오기
MCP 서버는 다음 주소에서 액세스할 수 있습니다:
http://your-ubuntu-server-ip:8002또는 도메인이 있는 경우:
https://your-domain.com:8002중요: 프로덕션 환경에서는 적절한 SSL 인증서와 함께 HTTPS를 사용하십시오.
2단계: Watson Orchestrate 도구 페이지 액세스
Watson Orchestrate 인스턴스에 로그인합니다.
Skills(기술) 또는 Tools(도구) 섹션으로 이동합니다.
Add Tool(도구 추가) 또는 **Connect Tool(도구 연결)**을 클릭합니다.
3단계: MCP 연결 구성
Connection Type(연결 유형): "MCP Server" 또는 "Custom API"를 선택합니다.
Server URL(서버 URL): 서버 엔드포인트를 입력합니다.
http://your-ubuntu-server-ip:8002Authentication(인증) (필요한 경우):
유형: None (기본 설정의 경우)
프로덕션 환경의 경우 OAuth2 또는 API 키 인증을 구현하십시오.
Connection Name(연결 이름):
Patient Information MCP ServerDescription(설명):
Provides patient information retrieval capabilities
4단계: 도구 검색
Discover Tools(도구 검색) 또는 **Test Connection(연결 테스트)**을 클릭합니다.
Watson Orchestrate가 MCP 서버에 사용 가능한 도구를 쿼리합니다.
get_patient도구가 나타나는 것을 확인할 수 있습니다.
5단계: get_patient 도구 구성
도구는 다음 항목으로 자동 구성됩니다:
Tool Name(도구 이름):
get_patientDescription(설명): 연락처 ID로 환자 정보 검색
Parameters(매개변수):
contact_id(선택적 문자열): 고유 연락처 식별자
6단계: 도구 테스트
Watson Orchestrate에서
get_patient도구를 선택합니다.샘플 연락처 ID
7c50f84d-62af-f011-bbd3-000d3a9b6dcb로 테스트합니다.또는 매개변수 없이 테스트하여 기본 환자 데이터를 가져옵니다.
응답이 예상 형식과 일치하는지 확인합니다.
7단계: 도구를 사용하여 기술(Skill) 생성
Watson Orchestrate의 Skills Builder로 이동합니다.
get_patient도구를 사용하는 새 기술을 생성합니다.기술 흐름과 매개변수를 구성합니다.
기술을 테스트하고 게시합니다.
Watson Orchestrate 연결 YAML 예시
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 활성화
SSL이 포함된 리버스 프록시(nginx)를 사용하십시오:
# Install nginx
sudo apt-get update
sudo apt-get install nginx certbot python3-certbot-nginx
# Configure SSL
sudo certbot --nginx -d your-domain.com2. 인증 추가
API 키 인증을 포함하도록 server.py를 업데이트하십시오:
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 function3. 네트워크 보안
방화벽 규칙을 사용하여 액세스를 제한하십시오.
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 --buildWatson Orchestrate에서 연결 거부됨
방화벽이 8002 포트를 허용하는지 확인하십시오.
서버가 127.0.0.1이 아닌 0.0.0.0에서 수신 대기 중인지 확인하십시오.
다른 머신에서 curl로 테스트하십시오.
Watson Orchestrate에 도구가 나타나지 않음
MCP 서버가 도구 검색 요청에 응답하는지 확인하십시오.
Watson Orchestrate 로그에서 연결 오류를 확인하십시오.
서버 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 logsFastMCP 문서 검토: https://github.com/jlowin/fastmcp
Watson Orchestrate MCP 통합 문서 검토
라이선스
[여기에 라이선스 입력]
This server cannot be installed
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