# MCP 서버 살펴보기 (/ko/docs/tutorials/inspect-an-mcp-server)

MCP 서버는 AI 에이전트에 도구, 리소스, 프롬프트를 제공합니다. 에이전트에게 서버를 넘기기 전에 무엇을 제공하는지 살펴보고, 도구를 직접 호출해 보고, 도구 목록이 모델에
얼마나 부담이 되는지 확인합니다. 이 튜토리얼에서는 데모 숍의 서버 `https://demo.echolot.dev/mcp`로 이를 해 보고, 도구 호출을 검사가 있는 요청으로 저장합니다.

- **소요 시간:** 15분.
- **필요한 것:** 아무 작업 공간. [Alpenglow](/docs/tutorials#the-alpenglow-workspace)에는 이 서버가 이미 **Alpenglow MCP**로 있습니다. 처음부터 따라 하려면 다른
  작업 공간을 사용하십시오.
- **배우는 내용:** 서버 추가, 검사, 도구 호출, **모델이 이 서버를 보는 방식** 카드, MCP 요청.

## 1. 서버 추가하기 [#1-add-the-server]

1. **MCP 서버**(<kbd>⌘</kbd><kbd>2</kbd>)로 전환합니다.
2. **MCP 서버 추가…**(빈 페이지나 사이드바의 **+** 메뉴에 있음)를 선택합니다.
3. **MCP 서버 추가**에서 다음과 같이 합니다.
   - **이름**: `Demo shop`
   - **전송 방식**: **HTTP(Streamable HTTP)**
   - **URL**: `https://demo.echolot.dev/mcp`
4. **추가**를 선택합니다.

서버는 작업 공간의 `mcp-servers` 폴더에 파일로 저장됩니다. **+** 메뉴에서 Claude Desktop, Claude Code, Cursor, VS Code, Codex의 서버를 가져올 수도 있습니다.

<Edition only="direct">
  Mac에서 프로그램으로 실행되는 서버(**로컬 명령(stdio)**, 예를 들어 `npx`나 `uvx` 서버)는 직접 다운로드 버전에서 작동합니다. App Store 버전에서는 서버를 HTTP로
  추가하거나 `echolot mcp check`로 검사하십시오.
</Edition>

## 2. 검사하기 [#2-check-it]

1. **검사**를 선택합니다. Echolot이 연결하고, 서버가 쓰는 프로토콜 버전을 알아내고, 핑을 보내고, 도구, 리소스, 프롬프트를 나열합니다.
2. 페이지가 카드별로 채워집니다.
   - **연결 정상**, 그다음 **서버**: 프로토콜(세션이 있는 MCP 2025-11-25), 핑과 연결 시간, 도구 수, 기능, 그리고 **지침**: "The Alpenglow demo shop from
     docs.echolot.dev. Read-only: search the catalog, look up products and orders."
   - **도구**: `search_catalog`, `get_product`, `order_status`와 그 설명.
   - **리소스**: `categories`(`alpenglow://catalog/categories`).
   - **프롬프트**: `trip`을 받는 `pack_for_a_trip`.
   - **메시지**: 검사 중 오간 모든 JSON-RPC 메시지. **모두 보기**를 선택하면 전부 볼 수 있습니다.

<strong>감시</strong>는 연결을 열어 두고 목록 변경과 리소스 업데이트가 일어나는 대로 보여 줍니다. OAuth가 필요한 서버에는 여기에 <strong>로그인…</strong>이 표시됩니다.
[서버 추가](/docs/mcp-servers/adding-servers)를 참고하십시오.

<Shot id="tutorials-mcp-server-checked" alt="Alpenglow MCP를 검사한 뒤의 MCP 서버 페이지: 서버 카드, 도구 세 개, 모델이 이 서버를 보는 방식 카드" />

## 3. 도구 호출하기 [#3-call-a-tool]

1. **도구** 카드에서 `search_catalog`를 선택합니다. 호출 시트가 열립니다.
2. **인수** 아래에서 **양식**은 매개변수마다 필드를 보여 줍니다. `query`를 `ultralight tent`로, `limit`을 `3`으로 설정합니다. **JSON**은 같은 인수를 텍스트로
   보여 줍니다.
3. **호출**(<kbd>↩</kbd>)을 선택합니다.

결과가 걸린 시간과 함께 **결과** 아래에 나타납니다. 상품마다 한 줄이며 이름, SKU, CHF 가격, 재고가 있습니다. 실패한 도구는 **오류**와 함께 텍스트를 빨간색으로 표시합니다.
`order_status`에 `order_id` `ord_7Hk2Lw`를 넣어 시험해 보고, **리소스**에서 `categories`를 선택하여 리소스도 같은 방식으로 읽어 보십시오.

## 4. 모델이 서버를 보는 방식 확인하기 [#4-see-how-a-model-sees-the-server]

모든 도구의 이름, 설명, 입력 스키마는 대화의 매 턴마다 모델에 전달됩니다. **모델이 이 서버를 보는 방식** 카드가 이를 측정합니다.

- **Anthropic 토큰**, **OpenAI 토큰**, **Google Gemini 토큰**: 도구 세 개가 턴마다 차지하는 양. 이 서버는 수백 토큰입니다.
- **가장 큰 도구**: 가장 많은 비용이 드는 도구.
- 설명이 없거나 스키마가 헷갈리는 등 모델이 혼동할 수 있는 문제의 목록과 각각의 수정 제안. 데모 서버에는 **모델이 혼동할 만한 문제 없음**이라고 표시됩니다.
- **제공업체가 받는 형태의 목록**: 각 제공업체의 API가 받는 그대로의 도구 목록이며 **복사**할 수 있습니다.

그 아래의 **모델로 시도** 카드는 입력한 작업을 이 도구들과 함께 모델에 보내 어떤 도구를 고르는지 확인합니다. 이를 위해서는 [어시스턴트 제공업체](/docs/ai/assistant)가
필요합니다. 명령줄 도구도 같은 측정값을 출력합니다.

```sh
echolot mcp check --quality --url https://demo.echolot.dev/mcp
```

```text
How a model sees the tools (estimates)
  Anthropic      572 tokens a turn, 0.3% of a 200k context
  OpenAI         166 tokens a turn, 0.1% of a 200k context
  Google Gemini  225 tokens a turn, 0.1% of a 200k context
  largest: search_catalog 98, get_product 66, order_status 62
Nothing a model would stumble over.
```

자세한 내용은 [도구와 품질](/docs/mcp-servers/tools-and-quality)에 있습니다.

## 5. 호출을 검사가 있는 요청으로 저장하기 [#5-save-the-call-as-a-request-with-checks]

1. `search_catalog`를 다시 호출하고 **요청으로 저장**을 선택합니다. 서버, 도구, 인수가 담긴 `search_catalog`라는 요청이 **요청** 아래에 나타납니다.
2. 엽니다. **작업**은 **도구**이며, **호출**(<kbd>⌘</kbd><kbd>R</kbd>)은 다른 요청처럼 실행합니다.
3. **테스트** 탭에서 **테스트 추가**를 열고 다음을 추가합니다.
   - **MCP 오류**가 `false`와 같음: 도구가 오류를 보고하지 않았습니다.
   - **본문**에 `TNT-` 포함: 응답에 텐트가 나열됩니다.
   - **JSON 값** `$.content[0].text`에 `CHF` 포함.
4. 호출합니다. **3개 통과**.

저장한 호출은 [실행](/docs/requests/runner)과 `echolot run`을 쓰는 CI에서 실행되므로, 서버의 도구가 바뀌면 에이전트가 아니라 빌드가 깨집니다. Alpenglow의 **Agent tools**
폴더에 이런 요청이 두 개 있습니다. **도구 출력 스키마**는 출력 스키마를 선언한 서버에 대해 결과를 도구가 선언한 출력 스키마와 대조하여 검사합니다.
[MCP 요청](/docs/requests/mcp-requests)을 참고하십시오.

## 다음 단계 [#next-steps]

- [에이전트가 작업 공간을 안전하게 사용하게 하기](/docs/tutorials/agents-safely): Echolot도 MCP 서버입니다.
- [MCP 서버](/docs/mcp-servers): stdio 서버, OAuth, 다른 앱의 설정 가져오기.
- [`echolot mcp`](/docs/cli/mcp): `check`, `sign-in` 등.
