2025. 3. 31. 20:12ㆍ코딩/AI
MCP(Model Context Protocol)란?
MCP(Model Context Protocol)는 AI 모델과 외부 데이터 소스 또는 도구를 연결하기 위한 개방형 표준 프로토콜입니다. 대규모 언어 모델(LLM)이 실시간으로 외부 정보를 활용할 수 있도록 지원하여, 보다 정확하고 유용한 결과를 생성하게 해줍니다. MCP는 AI 기술의 확장성과 실용성을 높이기 위해 필수적인 연결 브릿지 역할을 합니다.
MCP 설명, 뜻 (Model Context Protocol의 의미)
- Model: AI 언어 모델 또는 대화형 모델
- Context: 모델이 이해하고 응답을 구성하는 데 필요한 정보
- Protocol: 통신을 위한 규약
즉, MCP는 모델이 외부 컨텍스트를 활용할 수 있도록 도와주는 통신 규약입니다. 이로 인해 AI는 고립된 상태를 벗어나 실시간 데이터 및 도구를 접목할 수 있습니다.
MCP의 주요 구성 요소
1. MCP 서버 (Server)
- 도구(Tools), 리소스(Resources), 프롬프트(Prompts)를 제공합니다.
- 예: 날씨 정보 제공 서버, GitHub 데이터 서버, 파일 읽기 서버 등
2. MCP 클라이언트 (Client)
- 서버에 연결해 도구 및 데이터를 호출합니다.
- Claude, Cursor IDE, LibreChat 등이 클라이언트 기능 내장
3. MCP 호스트 (Host)
- 실제 사용자 인터페이스 및 AI 모델을 운영하는 시스템입니다.
4. 리소스 (Resources)
- 읽기 전용 정보, 예: 파일 내용, DB 쿼리 결과 등
5. 도구 (Tools)
- 명령 실행 기능, 예: 계산, 검색, API 호출 등
6. 프롬프트 (Prompts)
- 지침 제공용 템플릿, 예: 코드 리뷰 요청 양식
MCP 만드는 방법
1. MCP 서버 구축 - Python SDK 사용 예시
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("DemoServer")
@mcp.tool()
def add(a: int, b: int) -> int:
return a + b
@mcp.resource("hello://{name}")
def greet(name: str) -> str:
return f"Hello, {name}!"
if __name__ == "__main__":
mcp.run()
2. MCP 클라이언트 구현 (Python)
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
async def main():
server_params = StdioServerParameters(command="python", args=["demo_server.py"])
async with stdio_client(server_params) as (read, write):
async with ClientSession(read, write) as session:
await session.initialize()
tools = await session.list_tools()
print("도구 목록:", [tool.name for tool in tools.tools])
result = await session.call_tool("add", {"a": 2, "b": 3})
print("결과:", result.content.text)
if __name__ == "__main__":
import asyncio
asyncio.run(main())
Python 코드 실행 방법
1. MCP Code Executor 사용
- Node.js, Conda 설치
- MCP Code Executor 레포지토리 클론 및 빌드
- mcp_servers.json에 서버 경로와 환경 변수 지정
- node build/index.js로 서버 실행
2. Pyodide 기반 MCP Run Python
- 브라우저/WebAssembly 환경에서 안전하게 Python 코드 실행 가능
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
async def main():
server_params = StdioServerParameters(command="npx", args=["@pydantic/mcp-run-python", "stdio"])
async with stdio_client(server_params) as (read, write):
async with ClientSession(read, write) as session:
await session.initialize()
result = await session.call_tool("run_python_code", {"python_code": "print('Hello MCP')"})
print(result.content.text)
MCP 활용 사례
- 업무 자동화: Slack, Notion, GitHub 연동 MCP 서버로 메시지 요약, PR 리뷰, 이슈 생성 등 자동화
- 코드 리뷰: 프롬프트 템플릿 + 도구 결합하여 모델이 코드 리뷰
- 실시간 날씨 정보: 외부 API 연계 도구로 현재 기상 조건 수집 및 응답 생성
- 데이터 분석: CSV 업로드 후 분석 도구로 요약, 평균, 그래프 생성 가능
Claude for Desktop 설치 및 MCP 통합 설정
Claude 기반 MCP(Model Context Protocol)를 설치하고 실행하는 방법은 매우 직관적이며, 다음과 같은 단계로 진행됩니다. 특히 Claude for Desktop을 설치하고 로컬 MCP 서버를 연동함으로써 Claude의 능력을 극대화할 수 있습니다.
1. 사전 준비
1.1 Claude for Desktop 설치
- https://claude.ai/download 페이지에서 OS(Windows 또는 macOS)에 맞는 버전을 다운로드합니다.
- 중요: 웹 버전(claude.ai)은 MCP를 지원하지 않으므로 반드시 Claude 데스크톱 앱을 설치해야 합니다.
1.2 Node.js 설치
- Node.js LTS 버전을 공식 웹사이트에서 다운로드하고 설치합니다.
- 설치가 완료되면 터미널에 node --version 입력하여 정상 설치 여부를 확인합니다.
2. MCP 서버 설정
2.1 설정 파일 경로
- Windows: %APPDATA%\Claude\claude_desktop_config.json
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
2.2 기본 MCP 서버 구성 예시 (파일 시스템 서버)
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"C:\\Users\\사용자명\\Documents",
"C:\\Users\\사용자명\\Downloads"
]
}
}
}
- 경로는 자신의 환경에 맞게 수정해야 합니다.
3. 고급 설정: Docker 기반 MCP 서버
3.1 Puppeteer 기반 MCP 서버 Docker 빌드
git clone https://github.com/modelcontextprotocol/servers
cd servers
docker build -t mcp/puppeteer -f src/puppeteer/Dockerfile .
3.2 설정 파일에 Docker 서버 추가
"mcpServers": {
"puppeteer": {
"command": "docker",
"args": [
"run", "-i", "--rm", "--init",
"-e", "DOCKER_CONTAINER=true",
"mcp/puppeteer"
]
}
}
4. 실행 및 기능 검증
- Claude Desktop 앱을 재시작합니다.
- 입력창 오른쪽 하단의 망치 아이콘이 보이면 설정이 적용된 것입니다.
- 테스트 프롬프트 예시:
내 문서 폴더에 있는 .txt 파일 목록을 보여줘
- 프롬프트 입력 후 "Allow for This Chat"을 클릭하여 MCP 도구 사용 권한을 부여합니다.
5. 커스텀 MCP 서버 개발 및 연동
5.1 Python MCP 서버 예제
from mcp import mcp
@mcp.tool()
def add(a: int, b: int) -> int:
return a + b
if __name__ == "__main__":
mcp.run(transport="stdio")
5.2 Docker로 서버 배포
FROM python:3.11-slim
WORKDIR /app
COPY . .
RUN pip install mcp-sdk
EXPOSE 3000
ENTRYPOINT ["python", "your_server.py"]
6. 문제 해결 팁
- 로그 확인: 설정 파일이 있는 경로의 상위 logs 폴더에서 확인 가능
- 권한 문제: JSON 파일의 경로에 대해 읽기/쓰기 권한 부여 필요
- Docker 문제: docker ps로 컨테이너 실행 상태 점검
MCP 서버 템플릿 및 예제는 github.com/modelcontextprotocol에서 확인 가능하며, 설치 완료 후 Claude는 20개 이상의 MCP 도구(파일 접근, 웹 스크래핑, API 통신 등)를 자동으로 활용할 수 있습니다.
MCP (Model Context Protocol) 요약
- MCP란? Model Context Protocol로 AI와 외부 데이터 연결하는 표준
- MCP 설명, 뜻: 모델의 외부 컨텍스트 확장 도구, Resources/Tools/Prompts 포함
- MCP 만드는 방법: Python SDK, Node.js 기반 서버 설정, 클라이언트 초기화
- MCP Python 코드 실행: MCP Code Executor, Pyodide, mcp-sdk 이용 가능
- MCP 코드 실행 실습: 실제 예제 통해 코드 실행, 도구 호출, 응답 확인 가능
https://insight.infograb.net/blog/2025/01/22/mcp/
Claude MCP로 엔지니어링 업무 자동화하기 \:\ 정보 검색, README, Git, Slack 활용법
MCP는 콘텐츠 리포지터리, 비즈니스 도구, 개발 환경 등 데이터가 있는 시스템에 AI 어시스턴트를 연결하는 새 표준입니다. MCP를 활용하면 다양한 엔지니어링 업무를 자동화할 수 있습니다. 이 글
insight.infograb.net
https://discuss.pytorch.kr/t/deep-research-model-context-protocol-mcp/6594
[Deep Research] Model Context Protocol(MCP) 개념 및 이해를 위한 학습 자료
MCP(Model Context Protocol) 개념 및 이해를 위한 학습 자료 MCP의 기본 개념 및 역할 MCP(Model Context Protocol)는 AI 모델과 외부 데이터 소스 또는 도구를 연결해주는 개방형 표준 프로토콜입니다. 쉽게 말해
discuss.pytorch.kr
MCP (Model Context Protocol) 뜻, 설명, 만드는 방법, 파이썬 코드 실행, Claude for Desktop 설치
'코딩 > AI' 카테고리의 다른 글
Github GitMCP Server 기능 및 사용법 (0) | 2025.04.08 |
---|---|
5. 비지도 학습 (Unsupervised Learning), Clustering 뜻, 파이썬 코드 (0) | 2022.02.11 |
4. 경사 하강법 Gradient Descent, 파이썬 코드, 머신 러닝 (0) | 2022.02.08 |
3. 딥러닝 Overfitting(과적합)과 Regularization 뜻(Ridge, Lasso regression) (0) | 2022.02.07 |
2. 지도 학습(Supervised learning): 회귀 분석(Regression), 파이썬 코드 (0) | 2022.02.06 |