AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

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 통합
  • 서버 확장 방안: 데이터 저장소 추가, 감정 분석 알고리즘 개선 등