MCP 문서 관리

메뉴

문서 정보

최종 수정일:
2025-05-12 20:15

Everything MCP 서버

Everything

Everything MCP 서버는 MCP 프로토콜의 모든 기능을 시험하기 위한 서버입니다. 실용적인 서버가 아니라 MCP 클라이언트 개발자를 위한 테스트 서버입니다. 이 서버는 프롬프트, 도구, 리소스, 샘플링 등을 구현하여 MCP 기능을 보여줍니다.

특징

  • 다양한 기능을 테스트하기 위한 여러 도구 제공
  • 프롬프트, 리소스, 샘플링 기능 시연
  • 긴 작업 진행 상황 알림 기능
  • 메타데이터 제공을 위한 주석(annotation) 기능 시연
  • 로그 메시지 전송 기능

API

도구

echo

입력 메시지를 그대로 반환하는 간단한 도구

  • 입력:
  • message (문자열): 반환할 메시지

  • 반환: 입력된 메시지가 포함된 텍스트 내용

add

두 숫자를 더함

  • 입력:
  • a (숫자): 첫 번째 숫자
  • b (숫자): 두 번째 숫자

  • 반환: 더하기 계산 결과 텍스트

longRunningOperation

긴 작업에 대한 진행 상황 알림을 시연

  • 입력:
  • duration (숫자, 기본값: 10): 작업 시간(초)
  • steps (숫자, 기본값: 5): 진행 단계 수

  • 반환: 작업 시간과 단계가 포함된 완료 메시지

  • 실행 중 진행 상황 알림 전송

sampleLLM

MCP 샘플링 기능을 사용한 LLM 샘플링 기능 시연

  • 입력:
  • prompt (문자열): LLM에 전송할 프롬프트
  • maxTokens (숫자, 기본값: 100): 생성할 최대 토큰 수

  • 반환: 생성된 LLM 응답

getTinyImage

작은 테스트 이미지 반환

  • 입력: 필요 없음

  • 반환: Base64로 인코딩된 PNG 이미지 데이터

printEnv

모든 환경 변수 출력

  • 입력: 필요 없음

  • 반환: 모든 환경 변수의 JSON 문자열

annotatedMessage

콘텐츠에 대한 메타데이터를 제공하기 위해 주석을 사용하는 방법 시연

  • 입력:
  • messageType (열거형: "error" | "success" | "debug"): 다른 주석 패턴을 보여줄 메시지 유형
  • includeImage (불리언, 기본값: false): 예제 이미지 포함 여부

  • 반환: 다양한 주석이 있는 콘텐츠:

  • 오류 메시지: 높은 우선순위(1.0), 사용자와 어시스턴트 모두에게 표시
  • 성공 메시지: 중간 우선순위(0.7), 사용자 중심
  • 디버그 메시지: 낮은 우선순위(0.3), 어시스턴트 중심
  • 선택적 이미지: 중간 우선순위(0.5), 사용자 중심

  • 주석 예시:

    {
      "priority": 1.0,
      "audience": ["user", "assistant"]
    }

getResourceReference

MCP 클라이언트가 사용할 수 있는 리소스 참조 반환

  • 입력:
  • resourceId (숫자, 1-100): 참조할 리소스의 ID

  • 반환: 다음이 포함된 리소스 참조:

  • 텍스트 소개
  • type: "resource"가 포함된 임베디드 리소스
  • 리소스 URI 사용 방법에 대한 텍스트 지침

리소스

서버는 두 가지 형식으로 100개의 테스트 리소스를 제공합니다:

짝수 번호 리소스:

  • 일반 텍스트 형식
  • URI 패턴: test://static/resource/{even_number}
  • 내용: 간단한 텍스트 설명

홀수 번호 리소스:

  • 바이너리 블롭 형식
  • URI 패턴: test://static/resource/{odd_number}
  • 내용: Base64로 인코딩된 바이너리 데이터

리소스 기능:

  • 페이지네이션 지원(페이지당 10개 항목)
  • 리소스 업데이트 구독 허용
  • 리소스 템플릿 시연
  • 구독한 리소스 5초마다 자동 업데이트

프롬프트

simple_prompt

인수가 없는 기본 프롬프트

  • 반환: 단일 메시지 교환

complex_prompt

인수 처리를 시연하는 고급 프롬프트

  • 필수 인수:
  • temperature (숫자): 온도 설정

  • 선택적 인수:

  • style (문자열): 출력 스타일 선호도

  • 반환: 이미지가 포함된 다중 턴 대화

resource_prompt

프롬프트에 리소스 참조 임베딩을 시연

  • 필수 인수:
  • resourceId (숫자): 임베드할 리소스의 ID (1-100)

  • 반환: 임베디드 리소스 참조가 포함된 다중 턴 대화

  • 프롬프트 메시지에 리소스를 직접 포함하는 방법 보여줌

로깅

서버는 15초마다 무작위 수준의 로그 메시지를 전송합니다. 예:

{
  "method": "notifications/message",
  "params": {
    "level": "info",
    "data": "Info-level message"
  }
}

사용 방법

Claude Desktop에서 사용(stdio Transport 사용)

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

{
  "mcpServers": {
    "everything": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-everything"]
    }
  }
}

VS Code에서 사용

VS Code User Settings(JSON) 파일에 다음 JSON 블록을 추가하세요. Ctrl + Shift + P를 누르고 Preferences: Open User Settings (JSON)를 입력하여 이 작업을 수행할 수 있습니다.

선택적으로 작업 공간의 .vscode/mcp.json 파일에 추가할 수 있습니다. 이렇게 하면 다른 사람과 구성을 공유할 수 있습니다.

.vscode/mcp.json 파일에서는 mcp 키가 필요하지 않습니다.

NPX

{
  "mcp": {
    "servers": {
      "everything": {
        "command": "npx",
        "args": ["-y", "@modelcontextprotocol/server-everything"]
      }
    }
  }
}

소스에서 실행

HTTP+SSE Transport로 실행(2025-03-26부터 사용 중단됨)

cd src/everything
npm install
npm run start:sse

Streamable HTTP Transport로 실행

cd src/everything
npm install
npm run start:streamableHttp

설치된 패키지로 실행

설치

npm install -g @modelcontextprotocol/server-everything@latest

기본(stdio) 서버 실행

npx @modelcontextprotocol/server-everything

또는 stdio를 명시적으로 지정

npx @modelcontextprotocol/server-everything stdio

SSE 서버 실행

npx @modelcontextprotocol/server-everything sse

Streamable HTTP 서버 실행

npx @modelcontextprotocol/server-everything streamableHttp

연결된 구성 요소