/ 디렉터리 / 플레이그라운드 / Everything (test server)
● 공식 modelcontextprotocol ⚡ 바로 사용

Everything (test server)

제작: modelcontextprotocol · modelcontextprotocol/servers

MCP 참조 테스트 서버 — 모든 프로토콜 기능을 한곳에 모아둔 서버입니다. MCP 클라이언트 디버깅용이며, 프로덕션 용도로는 사용하지 않습니다.

참조용 '전기능' 서버입니다. 모든 MCP 기능을 노출합니다: 도구(동기식 및 장시간 실행), 리소스(정적 및 동적), 프롬프트, 샘플링, 완성. MCP 클라이언트 구현이 작동하는지 확인하거나 프로토콜을 학습하는 용도로 사용합니다. 실제 워크플로우용으로는 의도되지 않았습니다.

왜 쓰나요

핵심 기능

라이브 데모

실제 사용 모습

everything.replay ▶ 준비됨
0/0

설치

클라이언트 선택

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "everything": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-everything"
      ]
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config 열기. 저장 후 앱 재시작.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "everything": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-everything"
      ]
    }
  }
}

Cursor는 Claude Desktop과 동일한 mcpServers 스키마 사용. 프로젝트 설정이 전역보다 우선.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "everything": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-everything"
      ]
    }
  }
}

Cline 사이드바의 MCP Servers 아이콘 클릭 후 "Edit Configuration" 선택.

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "everything": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-everything"
      ]
    }
  }
}

Claude Desktop과 같은 형식. Windsurf 재시작 후 적용.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "everything",
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-everything"
      ]
    }
  ]
}

Continue는 맵이 아닌 서버 오브젝트 배열 사용.

~/.config/zed/settings.json
{
  "context_servers": {
    "everything": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@modelcontextprotocol/server-everything"
        ]
      }
    }
  }
}

context_servers에 추가. 저장 시 Zed가 핫 리로드.

claude mcp add everything -- npx -y @modelcontextprotocol/server-everything

한 줄 명령. claude mcp list로 확인, claude mcp remove로 제거.

사용 사례

실전 활용법: Everything (test server)

MCP 클라이언트 구현이 모든 프로토콜 기능을 처리하는지 확인하세요

👤 MCP 클라이언트, SDK 또는 통합을 구축하거나 디버깅하는 개발자 ⏱ ~20 min intermediate

언제 쓸까: 새로운 MCP 클라이언트, 통합 또는 래퍼를 배포하고 있으며, 실제 서버를 가리키기 전에 도구+리소스+프롬프트+샘플링을 처리함을 증명하고 싶을 때.

사전 조건
  • 테스트 중인 MCP 클라이언트 — Claude Desktop, 사용자 정의 클라이언트 또는 테스트 하네스
흐름
  1. everything 서버를 시작하고 기능을 나열하세요
    everything 서버에 연결합니다. 노출하는 모든 도구, 리소스 및 프롬프트를 나열합니다.✓ 복사됨
    → 완전한 인벤토리 — 클라이언트가 전체 표면을 발견할 수 있음을 확인합니다
  2. 각 기능을 테스트하세요
    echo를 호출하고, add를 호출한 다음, 10초 지속시간으로 longRunningOperation을 호출합니다. 정적 리소스와 동적 리소스를 읽습니다. simple_prompt 프롬프트를 호출합니다.✓ 복사됨
    → 각 호출이 완료되거나 올바르게 스트리밍됩니다. 취소가 작동합니다
  3. 엣지 케이스를 테스트하세요
    샘플링(sampleLLM 도구), 프롬프트 인수에서의 완성, 의도적 오류가 있는 도구를 시도합니다. 클라이언트가 각 경로를 처리하는지 확인합니다.✓ 복사됨
    → 충돌 없음; 오류가 적절한 MCP 오류 코드로 표시됩니다

결과: 클라이언트가 실제로 구현하는 MCP 기능의 확인 완료된 매트릭스입니다 (증거 포함).

함정
  • 모든 클라이언트가 샘플링을 구현하는 것은 아닙니다 — 샘플링은 클라이언트 선택 사항입니다. 지원하지 않으면 sampleLLM 도구가 명확한 오류를 표시합니다 — 버그가 아닌 예상된 동작입니다

실제 서버를 조사하여 MCP 프로토콜을 배우세요

👤 MCP를 처음 접하는 개발자로, 스펙을 읽었으며 실시간으로 보고 싶어하는 분 ⏱ ~45 min intermediate

언제 쓸까: 프로토콜을 공부하고 있으며, 소스 코드도 함께 읽을 수 있는 서버를 원할 때.

흐름
  1. stdio 전송으로 서버를 실행하고 트래픽을 모니터링하세요
    npx -y @modelcontextprotocol/server-everything을 실행하고 클라이언트를 연결합니다. JSON-RPC 교환(도구 목록, 호출, 응답)을 캡처합니다.✓ 복사됨
    → 스펙에 매핑할 수 있는 원본 프로토콜 프레임
  2. 일치하는 소스를 읽으세요
    modelcontextprotocol/servers/src/everything를 엽니다 — 방금 본 도구, 리소스, 프롬프트 핸들러를 구현하는 파일을 추적합니다.✓ 복사됨
    → 와이어 프로토콜과 서버 코드 간의 1:1 매핑
  3. 수정하고 테스트하세요
    서버를 포크하고, 현재 서버 가동 시간을 반환하는 새로운 도구를 추가하고, 다시 시작한 후 호출합니다.✓ 복사됨
    → 새 도구가 list_tools에 나타나고 호출에 응답합니다

결과: MCP를 SDK 수준이 아닌 와이어 수준에서 이해합니다.

함정
  • everything-server 기능을 프로덕션 준비 완료된 패턴으로 취급하기 — 서버는 테스트를 위해 의도적으로 과도한 기능을 가집니다. 실제 서버는 필요한 도구만 노출해야 합니다
함께 쓰기: fastmcp

조합

다른 MCP와 조합해 10배 효율

everything + fastmcp

FastMCP로 구축한 서버가 참조처럼 작동하는지 테스트합니다

FastMCP 서버와 everything 서버 모두에 연결합니다. everything 서버가 노출하는 각 기능에 대해, 내 서버가 동등하게 처리하는지 확인합니다.✓ 복사됨
everything + mcp-agent

알려진 동작의 서버에 대해 에이전트 평가를 실행합니다

everything 서버를 가리키는 mcp-agent를 설정합니다. 도구 호출, 리소스 읽기 및 프롬프트 호출 흐름을 검증하는 테스트 스위트를 실행합니다.✓ 복사됨

도구

이 MCP가 노출하는 것

도구입력언제 호출비용
echo message: str 스모크 테스트: 요청/응답이 작동하는지 확인합니다 무료
add a: number, b: number 단순 타입 입력 테스트 무료
longRunningOperation duration: int (초), steps: int 클라이언트에서 스트리밍/진행률 및 취소 경로를 테스트합니다 무료
sampleLLM prompt: str, maxTokens: int MCP 샘플링 기능을 테스트합니다 — 서버가 클라이언트에 LLM 호출을 실행하도록 요청합니다 클라이언트의 샘플링 백엔드에 따라 다름
getTinyImage none 이진 리소스 전달을 테스트합니다 무료
printEnv none MCP 클라이언트가 전달하는 환경 변수를 진단합니다 무료
annotatedMessage messageType: str, includeImage: bool 주석이 달린 콘텐츠 렌더링(우선순위, 대상)을 테스트합니다 무료

비용 및 제한

운영 비용

API 쿼터
없음 — 완전히 로컬
호출당 토큰
매우 작음
금액
무료
유일한 우려 사항: longRunningOperationsampleLLM은 클라이언트의 LLM에서 실제 시간 또는 토큰이 들 수 있습니다. 테스트 실행을 짧게 유지하세요.

보안

권한, 시크릿, 파급범위

자격 증명 저장: 없음
데이터 외부 송신: 기본적으로 없음; printEnv는 클라이언트가 전달한 모든 환경 변수를 노출합니다 — 데모할 때 비밀이 있는 프로세스를 가리키지 마세요

문제 해결

자주 발생하는 오류와 해결

연결 후 클라이언트에 도구가 표시되지 않음

stdio 전송이 일치하는지 확인합니다. 일부 클라이언트는 서버 프로세스가 오래 실행되어야 합니다. 클라이언트의 'command' 구성이 종료되지 않고 실행되는지 확인합니다.

확인: Run `npx -y @modelcontextprotocol/server-everything` directly; it should block waiting for input
sampleLLM이 '샘플링 미지원' 반환

클라이언트가 MCP 샘플링을 구현하지 않습니다 (많은 클라이언트가 그렇습니다). 오늘날 대부분의 클라이언트에 예상됩니다. 해당 도구를 건너뜁니다.

longRunningOperation이 진행률을 스트리밍하지 않음

클라이언트가 진행률 알림을 구독하지 않을 수 있습니다. 진행률 핸들러 지원에 대한 문서를 확인합니다.

대안

Everything (test server) 다른 것과 비교

대안언제 쓰나단점/장점
FastMCP참조를 사용하지 않고 자신만의 테스트 서버를 구축하고 싶을 때더 많은 작업; 특정 동작을 격리할 수 있습니다
모든 실제 서버 (github, filesystem, 등)주방 싱크대 대신 현실적이고 좁은 도구 표면에 대해 테스트하고 싶을 때더 작은 표면 — 클라이언트가 지원해야 하는 기능을 놓칠 수 있습니다

더 보기

리소스

📖 GitHub에서 공식 README 읽기

🐙 열린 이슈 보기

🔍 400+ MCP 서버 및 Skills 전체 보기