MCP 서버 시스템

Model Calling Protocol 서버

개요

MCP(Model Calling Protocol) 서버는 외부 AI 시스템과 통신할 수 있는 중간 계층을 제공합니다. localhost:11000 포트를 통해 웹 서버로 작동하며, 여러 모듈을 통합하여 서비스를 제공합니다.

기본 구성

  • Python 기반 MCP 서버 (mcpo)
  • Node.js 기반 확장 모듈 지원

기본 모듈

fetch

데이터 가져오기 모듈

API 문서

time

시간 정보 제공 모듈 (Asia/Seoul 시간대)

API 문서

school-meal-server

학교 급식 정보 제공 모듈

API 문서

test-server

서버 상태 확인 모듈

API 문서

서비스 URL

모듈 추가 방법

  1. /mcp-server/ 디렉토리 내에 모듈 디렉토리 생성
  2. Node.js 모듈의 경우 dist 폴더 내에 빌드된 파일 배치
  3. 컨테이너 재시작 시 자동으로 모듈 감지 및 구성 업데이트

연동 가능 시스템

  • Cursor AI
  • Open Web UI
  • 기타 MCP 호환 AI 시스템

MCP 등록 및 사용법

MCP 서버 등록 방법

  1. AI 시스템의 MCP 설정 페이지에 접속 (예: Cursor AI의 설정, Open Web UI의 MCP 탭)
  2. 새 서버 추가 옵션을 선택
  3. 다음 정보를 입력:
    • 서버 이름: 사용할 모듈 이름 (예: school-meal-server)
    • URL: http://localhost:11000/config/[모듈명] 또는 https://mcp.ai.chok0908.com/config/[모듈명]
    • 인증 방식: 필요한 경우 Bearer 토큰 또는 Basic 인증 선택
  4. 저장 후 연결 테스트

채팅에서 MCP 호출 방법

Cursor AI에서 호출

@school-meal-server 서울시 인헌초등학교 2025년 5월 8일 급식은?

Open Web UI에서 호출

TOOL:run_school-meal-server
인자: {"school": "인헌초등학교", "date": "2025-05-08"}

일반 MCP 호환 시스템에서 호출

/mcp school-meal-server <질문>

MCP 응답 구조

{
  "message": "서울시 인헌초등학교 급식 정보",
  "school": "인헌초등학교",
  "date": "2025-05-08",
  "meals": [
    {
      "breakfast": "없음",
      "lunch": "현미밥, 된장찌개, 돈육불고기, 시금치나물, 배추김치, 과일",
      "dinner": "없음"
    }
  ],
  "status": "ok",
  "content": [
    {
      "type": "text",
      "text": "🏫 인헌초등학교\n📅 20250508\n🍽️ 중식\n\n📋 메뉴\n현미밥\n된장찌개\n돈육불고기\n시금치나물\n배추김치\n과일\n\n🔍 영양정보\n탄수화물: 124.5g, 단백질: 26.2g\n지방: 16.8g, 칼로리: 759 Kcal"
    }
  ]
}

모듈 API 문서 접근

각 모듈의 API 문서는 다음 URL로 접근할 수 있습니다:

http://localhost:11000/config/[모듈명]/openapi.json

예: http://localhost:11000/config/school-meal-server/openapi.json

서버 상태 확인

서버 상태는 상태 확인 링크를 통해 확인할 수 있습니다.

상태 확인 중...