MCP 서버 개발 가이드: Python으로 첫 번째 MCP 서버 설정 (Part 3/5)
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
앱 개발
대상자
- Python 초보자 및 MCP 서버 개발에 관심 있는 개발자
- 난이도: 초급 (환경 설정 및 기본 서버 구조 이해)
핵심 요약
- Python 3.8 이상 설치 필수 (Windows, Mac, Linux별 설치 명령어 포함)
- MCP 서버 구성 요소:
Recent Feedback
,Feedback Summary
,Improvement Suggestions
리소스 및collect_feedback
,analyze_sentiment
도구 - FeedbackServer 클래스 구현:
list_resources()
,read_resource()
,list_tools()
,call_tool()
핸들러 포함
섹션별 세부 요약
1. 개발 환경 설정
- Python 설치 방법:
- Windows: python.org에서 설치, PATH 추가 필수
- Mac: brew install python3
- Linux: sudo apt install python3 python3-pip
- 가상 환경 생성:
```bash
python -m venv venv
source venv/bin/activate
pip install mcp
```
- 프로젝트 디렉토리 생성:
```bash
mkdir mcp-feedback-system && cd mcp-feedback-system
```
2. MCP 서버 구성 요소
- 리소스:
- feedback://recent
: 최근 5개 피드백
- feedback://summary
: 전체 피드백 통계 (감정 분석 포함)
- 도구:
- collect_feedback
: 고객 피드백 저장 (Rating 기반 감정 분류)
- analyze_sentiment
: 키워드 기반 감정 분석 (긍정/중립/부정)
3. 코드 구현 예시
- FeedbackServer 클래스:
```python
class FeedbackServer:
def __init__(self):
self.server = Server("customer-feedback")
self.feedback_list = []
self.setup_handlers()
```
- 리소스 핸들러:
```python
@self.server.list_resources()
async def handle_list_resources() -> List[Resource]:
return [
Resource(uri="feedback://recent", name="Recent Feedback", mimeType="application/json"),
Resource(uri="feedback://summary", name="Feedback Summary", mimeType="text/plain")
]
```
- 도구 핸들러:
```python
@self.server.call_tool()
async def handle_call_tool(name: str, arguments: Dict[str, Any]) -> List[TextContent]:
if name == "collect_feedback":
# 피드백 저장 로직
```
4. 테스트 및 실행 방법
- 스크립트 실행 권한 부여:
```bash
chmod +x feedback_server.py
```
- MCP 인스펙터로 테스트:
```bash
pip install mcp-inspector
mcp-inspector feedback_server.py
```
- 테스트 명령어 예시:
- collect_feedback
도구 호출
- feedback://recent
, feedback://summary
리소스 읽기
결론
- 핵심 팁: 가상 환경 활성화 및
mcp-inspector
사용 필수 - 다음 단계: Part 4에서 AI 에이전트 연동 및 LLM 통합
- 서버 확장 방안: 데이터 저장소 추가, 감정 분석 알고리즘 개선 등