Files
2026-07-13 13:31:35 +08:00

394 lines
37 KiB
Markdown

![MCP-for-beginners](../../translated_images/ko/mcp-beginners.2ce2b317996369ff.webp)
[![GitHub contributors](https://img.shields.io/github/contributors/microsoft/mcp-for-beginners.svg)](https://GitHub.com/microsoft/mcp-for-beginners/graphs/contributors)
[![GitHub issues](https://img.shields.io/github/issues/microsoft/mcp-for-beginners.svg)](https://GitHub.com/microsoft/mcp-for-beginners/issues)
[![GitHub pull-requests](https://img.shields.io/github/issues-pr/microsoft/mcp-for-beginners.svg)](https://GitHub.com/microsoft/mcp-for-beginners/pulls)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![GitHub watchers](https://img.shields.io/github/watchers/microsoft/mcp-for-beginners.svg?style=social&label=Watch)](https://GitHub.com/microsoft/mcp-for-beginners/watchers)
[![GitHub forks](https://img.shields.io/github/forks/microsoft/mcp-for-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/mcp-for-beginners/fork)
[![GitHub stars](https://img.shields.io/github/stars/microsoft/mcp-for-beginners?style=social&label=Star)](https://GitHub.com/microsoft/mcp-for-beginners/stargazers)
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
이 리소스를 사용하기 시작하려면 다음 단계를 따르세요:
1. **리포지토리 포크하기**: 클릭 [![GitHub forks](https://img.shields.io/github/forks/microsoft/mcp-for-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/mcp-for-beginners/fork)
2. **리포지토리 클론하기**: `git clone https://github.com/microsoft/mcp-for-beginners.git`
3. <strong>가입하기</strong> [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
### 🌐 다국어 지원
#### GitHub Actions를 통한 지원 (자동 및 항상 최신 상태 유지)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
[아랍어](../ar/README.md) | [벵골어](../bn/README.md) | [불가리아어](../bg/README.md) | [버마어(미얀마)](../my/README.md) | [중국어(간체)](../zh-CN/README.md) | [중국어(번체, 홍콩)](../zh-HK/README.md) | [중국어(번체, 마카오)](../zh-MO/README.md) | [중국어(번체, 대만)](../zh-TW/README.md) | [크로아티아어](../hr/README.md) | [체코어](../cs/README.md) | [덴마크어](../da/README.md) | [네덜란드어](../nl/README.md) | [에스토니아어](../et/README.md) | [핀란드어](../fi/README.md) | [프랑스어](../fr/README.md) | [독일어](../de/README.md) | [그리스어](../el/README.md) | [히브리어](../he/README.md) | [힌디어](../hi/README.md) | [헝가리어](../hu/README.md) | [인도네시아어](../id/README.md) | [이탈리아어](../it/README.md) | [일본어](../ja/README.md) | [칸나다어](../kn/README.md) | [크메르어](../km/README.md) | [한국어](./README.md) | [리투아니아어](../lt/README.md) | [말레이어](../ms/README.md) | [말라얄람어](../ml/README.md) | [마라티어](../mr/README.md) | [네팔어](../ne/README.md) | [나이지리아 피진어](../pcm/README.md) | [노르웨이어](../no/README.md) | [페르시아어(파르시)](../fa/README.md) | [폴란드어](../pl/README.md) | [포르투갈어(브라질)](../pt-BR/README.md) | [포르투갈어(포르투갈)](../pt-PT/README.md) | [펀자브어(구르무키)](../pa/README.md) | [루마니아어](../ro/README.md) | [러시아어](../ru/README.md) | [세르비아어(키릴문자)](../sr/README.md) | [슬로바키아어](../sk/README.md) | [슬로베니아어](../sl/README.md) | [스페인어](../es/README.md) | [스와힐리어](../sw/README.md) | [스웨덴어](../sv/README.md) | [타갈로그어(필리핀어)](../tl/README.md) | [타밀어](../ta/README.md) | [텔루구어](../te/README.md) | [태국어](../th/README.md) | [터키어](../tr/README.md) | [우크라이나어](../uk/README.md) | [우르두어](../ur/README.md) | [베트남어](../vi/README.md)
> **로컬에서 클론하는 걸 선호하시나요?**
>
> 이 리포지토리는 50개 이상의 언어 번역본을 포함하고 있어 다운로드 크기가 상당히 큽니다. 번역본 없이 클론하려면 희박한 체크아웃(sparse checkout)을 사용하세요:
>
> **Bash / macOS / Linux:**
> ```bash
> git clone --filter=blob:none --sparse https://github.com/microsoft/mcp-for-beginners.git
> cd mcp-for-beginners
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
> ```
>
> **CMD (Windows):**
> ```cmd
> git clone --filter=blob:none --sparse https://github.com/microsoft/mcp-for-beginners.git
> cd mcp-for-beginners
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
> ```
>
> 이렇게 하면 코스를 완료하는 데 필요한 모든 것을 훨씬 빠르게 다운로드할 수 있습니다.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
# 🚀 초보자를 위한 모델 컨텍스트 프로토콜(MCP) 교육 과정
## **C#, Java, JavaScript, Rust, Python, TypeScript의 실습 코드 예제로 MCP 배우기**
## 🧠 모델 컨텍스트 프로토콜 교육 과정 개요
모델 컨텍스트 프로토콜의 여정에 오신 것을 환영합니다! AI 애플리케이션이 다양한 도구와 서비스와 어떻게 소통하는지 궁금했다면, 개발자가 지능형 시스템을 구축하는 방식을 혁신하는 우아한 해결책을 이제 곧 발견하게 될 것입니다.
MCP를 AI 애플리케이션을 위한 만능 번역기로 생각해 보세요 - USB 포트가 어떤 장치든 컴퓨터에 연결할 수 있게 하듯, MCP는 AI 모델이 모든 도구나 서비스와 표준화된 방식으로 연결하도록 해줍니다. 첫 챗봇을 만들든 복잡한 AI 워크플로우를 작업하든, MCP를 이해하면 더 강력하고 유연한 애플리케이션을 만들 수 있는 힘을 얻게 됩니다.
이 커리큘럼은 여러분의 학습 여정을 위해 인내심과 신중함을 가지고 설계되었습니다. 이미 알고 있는 간단한 개념부터 시작해 좋아하는 프로그래밍 언어로 실습하며 점차 전문성을 키워갈 것입니다. 각 단계는 명확한 설명, 실용적인 예제, 그리고 많은 격려로 구성되어 있습니다.
이 여정을 완료할 때쯤이면 자신만의 MCP 서버를 구축하고, 인기 있는 AI 플랫폼과 통합하는 방법을 알게 되며, 이 기술이 AI 개발의 미래를 어떻게 재편하고 있는지 이해할 수 있는 자신감을 갖게 될 것입니다. 이 흥미진진한 모험을 함께 시작해 봅시다!
### 공식 문서 및 명세
이 커리큘럼은 **MCP 명세 2025-11-25** (최신 안정 버전)에 맞추어져 있습니다. MCP 명세는 날짜 기반 버전 관리(YYYY-MM-DD 형식)를 사용하여 프로토콜 버전 추적을 명확하게 합니다.
이 리소스들은 이해도가 깊어질수록 더욱 가치가 있지만, 모든 내용을 즉시 읽어야 한다는 부담을 갖지 마세요. 가장 관심 가는 부분부터 시작하세요!
- 📘 [MCP 문서](https://modelcontextprotocol.io/) – 단계별 튜토리얼과 사용자 가이드를 찾을 수 있는 대표 리소스입니다. 초보자를 위해 작성되어 자신의 속도에 맞춰 따라 할 수 있는 명확한 예제가 포함되어 있습니다.
- 📜 [MCP 명세](https://modelcontextprotocol.io/specification/2025-11-25) – 포괄적인 참조 매뉴얼로 생각하세요. 커리큘럼을 진행하면서 특정 세부사항을 찾거나 고급 기능을 탐색할 때 참고하게 될 곳입니다.
- 📜 [MCP 명세 버전 관리](https://modelcontextprotocol.io/specification/versioning) – 프로토콜 버전 히스토리와 MCP가 날짜 기반 버전 관리를 사용하는 방법이 포함되어 있습니다.
- 🧑‍💻 [MCP GitHub 리포지토리](https://github.com/modelcontextprotocol) – 여러 프로그래밍 언어로 된 SDK, 도구, 코드 샘플을 찾을 수 있습니다. 실용적인 예제와 즉시 사용할 수 있는 컴포넌트의 보물창고와 같습니다.
- 🌐 [MCP 커뮤니티](https://github.com/orgs/modelcontextprotocol/discussions) – MCP에 대해 배우고 경험 많은 개발자들과 함께 토론하고 질문할 수 있는 지원하는 커뮤니티입니다.
## 학습 목표
이 커리큘럼을 마치면 새롭게 갖춘 능력에 자신감과 흥분을 느낄 것입니다. 여러분이 달성할 내용은 다음과 같습니다:
**MCP 기본 이해**: 모델 컨텍스트 프로토콜이 무엇이고 왜 AI 애플리케이션들이 함께 작동하는 방식을 혁신하는지 비유와 예제를 통해 이해하게 됩니다.
**첫 MCP 서버 구축**: 자신이 선호하는 프로그래밍 언어로 작동하는 MCP 서버를 단계별로 간단한 예제부터 시작해 구축하는 법을 배웁니다.
**AI 모델과 실제 도구 연결**: AI 모델과 실제 서비스 사이의 간극을 연결하는 방법을 배워 애플리케이션에 강력한 새 기능을 부여합니다.
**보안 모범 사례 구현**: MCP 구현을 안전하게 유지하는 방법을 이해하여 애플리케이션과 사용자를 모두 보호합니다.
**자신감 있는 배포**: MCP 프로젝트를 개발 단계에서 실제 운영 환경에 성공적으로 배포하는 실용적인 전략을 익힙니다.
**MCP 커뮤니티 참여**: AI 애플리케이션 개발의 미래를 함께 만들어가는 커뮤니티의 일원이 됩니다.
## 필수 배경 지식
MCP 세부 내용에 들어가기 전에 몇 가지 기본 개념에 익숙해져야 합니다. 전문가는 아니어도 괜찮으니 걱정하지 마세요—필요한 모든 내용을 차근차근 설명해 드립니다!
### 프로토콜 이해하기 (기초)
프로토콜은 대화 규칙과 같습니다. 친구에게 전화할 때 양쪽이 인사하고, 차례로 말하고, 끝날 때 작별 인사를 하는 것처럼, 컴퓨터 프로그램도 효과적으로 통신하려면 비슷한 규칙이 필요합니다.
MCP는 프로토콜입니다 - AI 모델과 애플리케이션이 도구 및 서비스와 생산적인 "대화"를 나누도록 돕는 합의된 규칙 집합입니다. 인간의 대화 규칙이 소통을 원활하게 하듯, MCP는 AI 애플리케이션 간 통신을 더 신뢰할 수 있고 강력하게 만듭니다.
### 클라이언트-서버 관계 (프로그램 간 상호작용 방식)
우리는 매일 클라이언트-서버 관계를 사용하고 있습니다! 웹 브라우저(클라이언트)를 이용해 웹사이트를 방문하면 페이지 내용을 보내주는 웹 서버와 연결되는 것이죠. 브라우저는 정보를 요청하는 방법을 알고, 서버는 응답하는 방법을 압니다.
MCP에서도 유사한 관계가 있습니다: AI 모델은 정보를 요청하거나 작업을 요청하는 클라이언트 역할을 하고, MCP 서버는 그 기능을 제공합니다. AI가 특정 작업을 수행하도록 요청할 수 있는 도우미(서버)가 있는 것과 같습니다.
### 표준화가 중요한 이유 (서로 작동하게 만들기)
만약 모든 자동차 제조사가 다른 모양의 주유구를 사용한다면, 차마다 다른 어댑터가 필요할 것입니다! 표준화는 공통된 방법에 동의하여 모든 것이 매끄럽게 작동하도록 만드는 것을 의미합니다.
MCP는 AI 애플리케이션을 위한 이러한 표준화를 제공합니다. 모든 AI 모델이 각 도구와 작동하기 위해 맞춤 코드를 작성할 필요 없이, MCP는 이들이 통신하는 보편적 방식을 만듭니다. 즉, 개발자가 도구를 한 번 개발하면 다양한 AI 시스템과 모두 호환될 수 있습니다.
## 🧭 학습 경로 개요
여러분의 MCP 여정은 점진적으로 자신감과 기술을 쌓을 수 있도록 체계적으로 구성되어 있습니다. 각 단계별로 새로운 개념을 소개하면서 이미 배운 내용을 반복 강화합니다.
### 🌱 기초 단계: 기본 개념 이해 (모듈 0-2)
모험이 시작되는 곳입니다! 익숙한 비유와 간단한 예제를 사용해 MCP 개념을 소개합니다. MCP가 무엇인지, 왜 존재하는지, 그리고 AI 개발의 큰 그림에서 어떻게 맞물리는지 이해하게 됩니다.
**모듈 0 - MCP 소개**: MCP가 무엇이며 현대 AI 애플리케이션에 왜 중요한지 탐구합니다. MCP가 실제로 어떻게 작동하는지 사례를 보고, 개발자가 직면하는 일반적인 문제를 어떻게 해결하는지 이해합니다.
**모듈 1 - 핵심 개념 설명**: MCP의 필수 구성 요소를 배웁니다. 풍부한 비유와 시각적 예제를 사용하여 이 개념들이 자연스럽고 이해하기 쉽게 느껴지도록 합니다.
**모듈 2 - MCP의 보안**: 보안은 복잡하게 느껴질 수 있지만, MCP가 포함하는 내장 안전 기능과 애플리케이션을 처음부터 보호하는 모범 사례를 알려드립니다.
### 🔨 구축 단계: 첫 구현 만들기 (모듈 3)
이제 진짜 재미가 시작됩니다! 실제 MCP 서버와 클라이언트를 구축하는 실습 경험을 하게 됩니다. 걱정하지 마세요 - 우리는 간단한 것부터 시작해서 단계별로 안내할 것입니다.
이 모듈에는 선호하는 프로그래밍 언어로 연습할 수 있는 여러 실습 가이드가 포함되어 있습니다. 최초의 서버를 만들고, 연결할 클라이언트를 구축하며, VS Code 같은 인기 개발 도구와 통합하는 방법도 배울 수 있습니다.
각 가이드에는 완전한 코드 예제, 문제 해결 팁, 그리고 특정 설계 선택의 이유에 대한 설명이 포함되어 있습니다. 이 단계가 끝나면 자부심을 가질 수 있는 작동하는 MCP 구현체를 갖게 될 것입니다!
### 🚀 성장 단계: 고급 개념 및 실제 적용 (모듈 4-5)
기본기를 마스터한 후에는 더 정교한 MCP 기능을 탐구할 준비가 된 것입니다. 실용적인 구현 전략, 디버깅 기법, 멀티모달 AI 통합 같은 고급 주제를 다룹니다.
또한 MCP 구현을 프로덕션 용도로 확장하는 방법과 Azure 같은 클라우드 플랫폼과의 통합 방법도 배웁니다. 이 모듈들은 실제 요구를 처리할 수 있는 MCP 솔루션 구축을 준비시켜 줍니다.
### 🌟 숙련 단계: 커뮤니티 및 전문화 (모듈 6-11)
마지막 단계에서는 MCP 커뮤니티에 참여하고 자신이 가장 관심 있는 분야에 전문화하는 데 집중합니다. 오픈 소스 MCP 프로젝트에 기여하는 법, 고급 인증 패턴 구현, 데이터베이스 통합 솔루션 구축을 배웁니다.
모듈 11은 특별히 언급할 가치가 있습니다 - PostgreSQL 통합으로 프로덕션 준비가 된 MCP 서버를 만드는 완전한 13개의 실습 학습 경로입니다. 여러분이 지금까지 배운 모든 것을 한데 모으는 캡스톤 프로젝트와 같습니다!
### 📚 전체 커리큘럼 구성
| Module | Topic | Description | Link |
|--------|-------|-------------|------|
| **Module 0-3: Fundamentals** | | | |
| 00 | MCP 소개 | 모델 컨텍스트 프로토콜의 개요와 AI 파이프라인에서의 중요성 | [Read more](./00-Introduction/README.md) |
| 01 | 핵심 개념 설명 | MCP 핵심 개념 심층 탐구 | [Read more](./01-CoreConcepts/README.md) |
| 02 | MCP 보안 | 보안 위협 및 모범 사례 | [Read more](./02-Security/README.md) |
| 03 | MCP 시작하기 | 환경 설정, 기본 서버/클라이언트, 통합 | [Read more](./03-GettingStarted/README.md) |
| **Module 3: 첫 서버 & 클라이언트 구축** | | | |
| 3.1 | 첫 서버 | 최초의 MCP 서버 생성 | [Guide](./03-GettingStarted/01-first-server/README.md) |
| 3.2 | 첫 클라이언트 | 기본 MCP 클라이언트 개발 | [Guide](./03-GettingStarted/02-client/README.md) |
| 3.3 | LLM 클라이언트 | 대형 언어 모델 통합 | [Guide](./03-GettingStarted/03-llm-client/README.md) |
| 3.4 | VS Code 통합 | VS Code에서 MCP 서버 사용 | [Guide](./03-GettingStarted/04-vscode/README.md) |
| 3.5 | stdio 서버 | stdio 전송을 사용한 서버 생성 | [Guide](./03-GettingStarted/05-stdio-server/README.md) |
| 3.6 | HTTP 스트리밍 | MCP에서 HTTP 스트리밍 구현 | [Guide](./03-GettingStarted/06-http-streaming/README.md) |
| 3.7 | Microsoft Foundry Toolkit | MCP와 Microsoft Foundry Toolkit 사용 | [Guide](./03-GettingStarted/07-aitk/README.md) |
| 3.8 | 테스트 | MCP 서버 구현 테스트 | [Guide](./03-GettingStarted/08-testing/README.md) |
| 3.9 | 배포 | MCP 서버를 프로덕션에 배포 | [Guide](./03-GettingStarted/09-deployment/README.md) |
| 3.10 | 고급 서버 사용법 | 고급 기능 활용과 개선된 아키텍처를 위한 고급 서버 사용 | [Guide](./03-GettingStarted/10-advanced/README.md) |
| 3.11 | 간단한 인증 | 처음부터 인증과 RBAC 설명하는 장 | [Guide](./03-GettingStarted/11-simple-auth/README.md) |
| 3.12 | MCP 호스트 | Claude Desktop, Cursor, Cline 및 기타 MCP 호스트 구성 | [Guide](./03-GettingStarted/12-mcp-hosts/README.md) |
| 3.13 | MCP Inspector | Inspector 도구로 MCP 서버 디버깅 및 테스트 | [Guide](./03-GettingStarted/13-mcp-inspector/README.md) |
| 3.14 | 샘플링 | 샘플링을 이용한 클라이언트 협업 | [Guide](./03-GettingStarted/14-sampling/README.md) |
| 3.15 | MCP 앱 | MCP 앱 개발 | [Guide](./03-GettingStarted/15-mcp-apps/README.md) |
| **Module 4-5: 실용적 & 고급** | | | |
| 04 | 실용적 구현 | SDK, 디버깅, 테스트, 재사용 가능한 프롬프트 템플릿 | [Read more](./04-PracticalImplementation/README.md) |
| 4.1 | 페이징 | 커서 기반 페이징으로 대용량 결과 처리 | [Guide](./04-PracticalImplementation/pagination/README.md) |
| 05 | MCP 고급 주제 | 멀티모달 AI, 확장, 엔터프라이즈 사용 | [Read more](./05-AdvancedTopics/README.md) |
| 5.1 | Azure 통합 | MCP와 Azure 통합 | [Guide](./05-AdvancedTopics/mcp-integration/README.md) |
| 5.2 | 멀티모달리티 | 여러 모달리티 작업 | [Guide](./05-AdvancedTopics/mcp-multi-modality/README.md) |
| 5.3 | OAuth2 데모 | OAuth2 인증 구현 | [Guide](./05-AdvancedTopics/mcp-oauth2-demo/README.md) |
| 5.4 | 루트 컨텍스트 | 루트 컨텍스트 이해 및 구현 | [Guide](./05-AdvancedTopics/mcp-root-contexts/README.md) |
| 5.5 | 라우팅 | MCP 라우팅 전략 | [Guide](./05-AdvancedTopics/mcp-routing/README.md) |
| 5.6 | 샘플링 | MCP 샘플링 기법 | [Guide](./05-AdvancedTopics/mcp-sampling/README.md) |
| 5.7 | 확장 | MCP 구현 확장 | [Guide](./05-AdvancedTopics/mcp-scaling/README.md) |
| 5.8 | 보안 | 고급 보안 고려사항 | [Guide](./05-AdvancedTopics/mcp-security/README.md) |
| 5.9 | 웹 검색 | 웹 검색 기능 구현 | [Guide](./05-AdvancedTopics/web-search-mcp/README.md) |
| 5.10 | 실시간 스트리밍 | 실시간 스트리밍 기능 구축 | [Guide](./05-AdvancedTopics/mcp-realtimestreaming/README.md) |
| 5.11 | 실시간 검색 | 실시간 검색 구현 | [Guide](./05-AdvancedTopics/mcp-realtimesearch/README.md) |
| 5.12 | Entra ID 인증 | Microsoft Entra ID 인증 | [Guide](./05-AdvancedTopics/mcp-security-entra/README.md) |
| 5.13 | Foundry 통합 | Microsoft Foundry와 통합 | [Guide](./05-AdvancedTopics/mcp-foundry-agent-integration/README.md) |
| 5.14 | 컨텍스트 엔지니어링 | 효과적인 컨텍스트 엔지니어링 기법 | [Guide](./05-AdvancedTopics/mcp-contextengineering/README.md) |
| 5.15 | MCP 맞춤 전송 | 맞춤형 전송 구현 | [Guide](./05-AdvancedTopics/mcp-transport/README.md) |
| 5.16 | 프로토콜 기능 | 진행 알림, 취소, 리소스 템플릿 | [Guide](./05-AdvancedTopics/mcp-protocol-features/README.md) |
| 5.17 | 대립하는 멀티 에이전트 추론 | 두 에이전트가 반대 입장으로 공유 MCP 도구를 사용해 논쟁, 판사 에이전트가 평가 | [Guide](./05-AdvancedTopics/mcp-adversarial-agents/README.md) |
| **Module 6-10: 커뮤니티 & 모범 사례** | | | |
| 06 | 커뮤니티 기여 | MCP 생태계에 기여하는 방법 | [Guide](./06-CommunityContributions/README.md) |
| 07 | 초기 도입 교훈 | 실제 구현 사례 | [Guide](./07-LessonsfromEarlyAdoption/README.md) |
| 08 | MCP 모범 사례 | 성능, 내결함성, 탄력성 | [Guide](./08-BestPractices/README.md) |
| 09 | MCP 사례 연구 | 실용적 구현 예제 | [Guide](./09-CaseStudy/README.md) |
| 10 | 실습 워크숍 | Microsoft Foundry Toolkit으로 MCP 서버 구축 | [Lab](./10-StreamliningAIWorkflowsBuildingAnMCPServerWithAIToolkit/README.md) |
| **Module 11: MCP 서버 실습** | | | |
| 11 | MCP 서버 데이터베이스 통합 | PostgreSQL 통합을 위한 13개 실습 경로의 종합 학습 | [Labs](./11-MCPServerHandsOnLabs/README.md) |
| 11.1 | 소개 | 데이터베이스 통합 MCP 개요 및 리테일 분석 사용 사례 | [Lab 00](./11-MCPServerHandsOnLabs/00-Introduction/README.md) |
| 11.2 | 핵심 아키텍처 | MCP 서버 아키텍처, 데이터베이스 레이어, 보안 패턴 이해 | [Lab 01](./11-MCPServerHandsOnLabs/01-Architecture/README.md) |
| 11.3 | 보안 및 멀티 테넌시 | 행 수준 보안, 인증, 다중 테넌트 데이터 접근 | [Lab 02](./11-MCPServerHandsOnLabs/02-Security/README.md) |
| 11.4 | 환경 설정 | 개발 환경 구성, Docker, Azure 리소스 | [Lab 03](./11-MCPServerHandsOnLabs/03-Setup/README.md) |
| 11.5 | 데이터베이스 설계 | PostgreSQL 설정, 리테일 스키마 설계, 샘플 데이터 | [Lab 04](./11-MCPServerHandsOnLabs/04-Database/README.md) |
| 11.6 | MCP 서버 구현 | 데이터베이스 통합 FastMCP 서버 구축 | [Lab 05](./11-MCPServerHandsOnLabs/05-MCP-Server/README.md) |
| 11.7 | 도구 개발 | 데이터베이스 쿼리 도구 및 스키마 인트로스펙션 생성 | [Lab 06](./11-MCPServerHandsOnLabs/06-Tools/README.md) |
| 11.8 | 시맨틱 검색 | Azure OpenAI 및 pgvector로 벡터 임베딩 구현 | [Lab 07](./11-MCPServerHandsOnLabs/07-Semantic-Search/README.md) |
| 11.9 | 테스트 및 디버깅 | 테스트 전략, 디버깅 도구, 검증 방법 | [Lab 08](./11-MCPServerHandsOnLabs/08-Testing/README.md) |
| 11.10 | VS Code 통합 | VS Code MCP 통합 및 AI 챗 사용법 구성 | [Lab 09](./11-MCPServerHandsOnLabs/09-VS-Code/README.md) |
| 11.11 | 배포 전략 | Docker 배포, Azure Container Apps, 확장 고려사항 | [Lab 10](./11-MCPServerHandsOnLabs/10-Deployment/README.md) |
| 11.12 | 모니터링 | Application Insights, 로깅, 성능 모니터링 | [Lab 11](./11-MCPServerHandsOnLabs/11-Monitoring/README.md) |
| 11.13 | 모범 사례 | 성능 최적화, 보안 강화, 프로덕션 팁 | [Lab 12](./11-MCPServerHandsOnLabs/12-Best-Practices/README.md) |
| **Module 12: MCP 툴링** | | | |
| 12.1 | 툴링 | Copilot 앱에서의 MCP 사용 | [ Guide ](./12-tooling/README.md) |
### 💻 샘플 코드 프로젝트
MCP를 배우는 가장 흥미로운 부분 중 하나는 코드 실력이 점진적으로 향상되는 것을 보는 것입니다. 저희는 코드 예제를 간단하게 시작해 이해가 깊어짐에 따라 점점 더 정교해지도록 설계했습니다. 개념을 소개하는 방법은 이해하기 쉽지만 실제 MCP 원리를 보여주는 코드로, 이 코드가 무엇을 하는지 뿐 아니라 왜 이렇게 구조화되었는지, 큰 MCP 애플리케이션에 어떻게 맞는지 이해할 수 있습니다.
#### 기본 MCP 계산기 샘플
| Language | Description | Link |
|----------|-------------|------|
| C# | MCP 서버 예제 | [View Code](./03-GettingStarted/samples/csharp/README.md) |
| Java | MCP 계산기 | [View Code](./03-GettingStarted/samples/java/calculator/README.md) |
| JavaScript | MCP 데모 | [View Code](./03-GettingStarted/samples/javascript/README.md) |
| Python | MCP 서버 | [View Code](../../03-GettingStarted/samples/python/mcp_calculator_server.py) |
| TypeScript | MCP 예제 | [View Code](./03-GettingStarted/samples/typescript/README.md) |
| Rust | MCP 예제 | [View Code](./03-GettingStarted/samples/rust/README.md) |
#### 고급 MCP 구현
| Language | Description | Link |
|----------|-------------|------|
| C# | 고급 샘플 | [View Code](./04-PracticalImplementation/samples/csharp/README.md) |
| Java with Spring | 컨테이너 앱 예제 | [코드 보기](./04-PracticalImplementation/samples/java/containerapp/README.md) |
| JavaScript | 고급 샘플 | [코드 보기](./04-PracticalImplementation/samples/javascript/README.md) |
| Python | 복잡한 구현 | [코드 보기](./04-PracticalImplementation/samples/python/README.md) |
| TypeScript | 컨테이너 샘플 | [코드 보기](./04-PracticalImplementation/samples/typescript/README.md) |
## 🎯 MCP 학습을 위한 전제 조건
이 커리큘럼을 최대한 활용하려면 다음 조건을 갖추는 것이 좋습니다:
- C#, Java, JavaScript, Python 또는 TypeScript 중 최소 한 가지 프로그래밍 언어에 대한 기본 지식
- 클라이언트-서버 모델 및 API에 대한 이해
- REST 및 HTTP 개념에 대한 익숙함
- (선택 사항) AI/ML 개념에 대한 배경 지식
- 지원을 위한 커뮤니티 토론 참여
## 📚 학습 가이드 및 자료
이 저장소에는 효과적으로 탐색하고 학습할 수 있도록 여러 자료가 포함되어 있습니다:
### 학습 가이드
포괄적인 [학습 가이드](./study_guide.md)를 통해 이 저장소를 효과적으로 탐색할 수 있습니다. 이 시각적 커리큘럼 맵은 모든 주제가 어떻게 연결되는지 보여주고 샘플 프로젝트를 효율적으로 사용하는 방법을 안내합니다. 전체적인 그림을 보는 것을 선호하는 시각 학습자에게 특히 유용합니다.
가이드에는 다음이 포함됩니다:
- 모든 주제를 보여주는 시각적 커리큘럼 맵
- 각 저장소 섹션의 상세 분류
- 샘플 프로젝트 활용 가이드
- 다양한 수준별 추천 학습 경로
- 학습 여정을 보완하는 추가 자료
### 변경 로그
커리큘럼 자료의 주요 업데이트를 추적하는 상세한 [변경 로그](./changelog.md)를 유지합니다. 최신 개선 사항과 추가 내용도 확인할 수 있습니다.
- 신규 콘텐츠 추가
- 구조 변경
- 기능 개선
- 문서 업데이트
## 🛠️ 이 커리큘럼을 효과적으로 활용하는 방법
이 가이드의 각 수업에는 다음이 포함됩니다:
1. MCP 개념에 대한 명확한 설명
2. 여러 언어로 된 실시간 코드 예제
3. 실제 MCP 애플리케이션 구축 연습 문제
4. 고급 학습자를 위한 추가 자료
### C#으로 배우는 MCP - 튜토리얼 시리즈
AI 모델과 클라이언트 애플리케이션 간 상호작용을 표준화하도록 설계된 혁신적인 프레임워크인 Model Context Protocol(MCP)을 학습해봅시다. 초보자도 쉽게 따라올 수 있는 이 세션에서는 MCP를 소개하고 첫 MCP 서버를 만드는 과정을 안내합니다.
#### C#: [https://aka.ms/letslearnmcp-csharp](https://aka.ms/letslearnmcp-csharp)
#### Java: [https://aka.ms/letslearnmcp-java](https://aka.ms/letslearnmcp-java)
#### JavaScript: [https://aka.ms/letslearnmcp-javascript](https://aka.ms/letslearnmcp-javascript)
#### Python: [https://aka.ms/letslearnmcp-python](https://aka.ms/letslearnmcp-python)
## 🎓 MCP 여정의 시작
축하합니다! 프로그래밍 능력을 확장하고 AI 개발의 최첨단에 연결할 흥미로운 여정의 첫걸음을 내디뎠습니다.
### 지금까지 달성한 것
소개를 읽음으로써 이미 MCP 지식의 기초를 쌓기 시작했습니다. MCP가 무엇이고 왜 중요한지, 그리고 이 커리큘럼이 학습 여정을 어떻게 지원하는지 이해했습니다. 이는 중요한 성과이며 이 중요한 기술 분야에서 전문성을 쌓기 위한 출발점입니다.
### 앞으로의 모험
모듈을 진행하며 모든 전문가도 한때는 초보자였다는 점을 기억하세요. 지금 복잡하게 느껴지는 개념도 연습하고 적용하다 보면 자연스럽게 익히게 될 것입니다. 작은 한 걸음씩이 강력한 역량으로 쌓여 개발 경력 내내 큰 도움이 될 것입니다.
### 지원 네트워크
MCP에 열정을 가진 학습자와 전문가들의 커뮤니티에 합류하셨습니다. 코딩 문제로 어려움을 겪거나 돌파구를 공유하고 싶을 때, 커뮤니티가 여러분의 여정을 지원합니다.
AI 애플리케이션 빌드에 관한 질문이나 어려움이 있으면 MCP 관련 동료 학습자 및 경험 많은 개발자들과 토론에 참여하세요. 질문이 환영받고 지식이 자유롭게 공유되는 지원 커뮤니티입니다.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
제품 피드백이나 빌드 중 오류가 있으면 다음 포럼을 방문하세요:
[![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum)
### 시작할 준비가 되셨나요?
지금 바로 MCP 모험을 시작하세요! 0번 모듈부터 시작해 첫 MCP 실습을 경험하거나 샘플 프로젝트를 둘러보며 무엇을 만들지 확인할 수 있습니다. 모든 전문가가 지금 여러분의 자리에서 시작했다는 점과 인내와 연습으로 놀라운 성과를 이룰 수 있다는 것을 기억하세요.
Model Context Protocol 개발 세계에 오신 것을 환영합니다. 함께 멋진 것을 만들어 봅시다!
## 🤝 학습 커뮤니티에 기여하기
이 커리큘럼은 여러분과 같은 학습자의 기여로 더 강해집니다! 오타 수정, 더 명확한 설명 제안, 새 예제 추가 등 어떤 기여든지 초보자들이 성공할 수 있도록 돕습니다.
Microsoft Valued Professional [Shivam Goyal](https://www.linkedin.com/in/shivam2003/)에게 코드 샘플 기여에 감사드립니다.
기여 절차는 친근하고 지원적입니다. 대부분의 기여는 기여권 계약서(CLA)를 요구하지만 자동화 도구가 과정을 원활히 안내합니다.
## 📜 오픈 소스 학습
이 커리큘럼 전체는 MIT [LICENSE](../../LICENSE) 하에 제공되어 자유롭게 사용, 수정, 공유할 수 있습니다. 이는 전 세계 개발자들이 MCP 지식을 쉽게 접할 수 있도록 하는 우리의 사명을 지원합니다.
## 🤝 기여 지침
이 프로젝트는 기여 및 제안을 환영합니다. 대부분의 기여는 기여자가 자신의 기여물에 대한 권리를 가지고 있으며 실제로 이를 프로젝트에 사용할 권리를 부여한다는 내용을 담은 기여자 권한 계약서(CLA)에 동의하는 것을 요구합니다. 자세한 내용은 <https://cla.opensource.microsoft.com>을 참고하세요.
풀 리퀘스트를 제출할 때, CLA 봇이 자동으로 CLA 제출 필요 여부를 판단하고 PR에 적절한 표시(상태 검사, 댓글 등)를 합니다. 봇의 지시에 따라 진행하면 됩니다. 모든 저장소에서 단 한 번만 진행하면 됩니다.
이 프로젝트는 [Microsoft 오픈 소스 행동 강령](https://opensource.microsoft.com/codeofconduct/)을 채택하고 있습니다.
자세한 정보는 [행동 강령 FAQ](https://opensource.microsoft.com/codeofconduct/faq/)를 참고하거나 추가 질문이 있으면 [opencode@microsoft.com](mailto:opencode@microsoft.com) 으로 연락하세요.
---
*MCP 여정을 시작할 준비가 되셨나요? [Module 00 - MCP 소개](./00-Introduction/README.md)부터 시작하여 Model Context Protocol 개발의 세계에 첫 발을 내딛으세요!*
## 🎒 기타 강좌
저희 팀에서 제공하는 다른 강좌들도 있습니다! 확인해 보세요:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
[![LangChain4j for Beginners](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners)
[![LangChain.js for Beginners](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![LangChain for Beginners](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
---
### Azure / Edge / MCP / Agents
[![AZD for Beginners](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Edge AI for Beginners](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![MCP for Beginners](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
[![AI Agents for Beginners](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### 생성 AI 시리즈
[![Generative AI for Beginners](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
[![Generative AI (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
---
### 핵심 학습
[![ML for Beginners](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[![Data Science for Beginners](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[![AI for Beginners](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
[![Cybersecurity for Beginners](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
[![Web Dev for Beginners](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[![초보자를 위한 IoT](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
[![초보자를 위한 XR 개발](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### 코파일럿 시리즈
[![AI 페어 프로그래밍을 위한 코파일럿](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[![C#/.NET용 코파일럿](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[![코파일럿 어드벤처](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
<!-- CO-OP TRANSLATOR OTHER COURSES END -->
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**면책 조항**:
이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 기하기 위해 노력하고 있으나, 자동 번역은 오류나 부정확한 부분이 있을 수 있음을 유의하시기 바랍니다. 원본 문서의 원어본이 권위 있는 자료로 간주되어야 합니다. 중요한 정보의 경우, 전문가의 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 당사는 책임을 지지 않습니다.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->