먼저 claude desktop 설치

이렇게 코드 작성하고 server.py로 저장
# server.py
from mcp.server.fastmcp import FastMCP
# Create an MCP server
mcp = FastMCP("Demo")
# Add an addition tool
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers"""
return a + b
@mcp.tool()
def gcd(a,b):
"""find gcd two number"""
while b != 0:
a,b = b,a%b
return a
# Add a dynamic greeting resource
@mcp.resource("greeting://{name}")
def get_greeting(name: str) -> str:
"""Get a personalized greeting"""
return f"Hello, {name}!"
claude desktop 화면

좌측 상단에 파일 - 설정 보면

개발자 쪽에 설치된 MCP 서버를 확인할 수 있다

먼저 server.py가 있는 폴더에서

pip install uv로 uv설치

pyproject.toml파일을 다음과 같이 작성
[project]
requires-python = ">=3.10"
name = "mcp-project" # project 이름
version = "0.1.0"
dependencies = [
"mcp[cli]>=1.6.0",
]
이후 uv add "mcp[cli]"로 하면 .venv라는 가상환경에 설치가 되는 것을 확인할 수 있다

source .venv/Scripts/activate로 가상환경 실행

mcp install server.py하면 Demo라는 서버가 claude에 설치된다는 것을 확인

그림과 같이 MCP tools 2개 사용 가능이라는 버튼이 뜬다

설정에도 Demo라는 MCP 서버가 실행중임을 확인
우측에 휴지통 버튼을 누르면 서버를 삭제할수도 있다

1+2라고 쳐보면 다음과 같이 Demo의 도구를 허용하시겠습니까?하면서
Claude가 MCP를 쓸지 말지 경고창이 뜬다


gcd를 구해달라고하면 다음과 같이 gcd 함수를 쓸지 말지 결정해달라고도 뜬다

헉 근데 에러나네?
입력받을때 기본이 string으로 들어오나봐

코드를 다음과 같이 수정하면 a,b를 int로 받아준다
@mcp.tool()
def gcd(a: int, b: int):
"""find gcd two number"""
while b != 0:
a,b = b,a%b
return a
이후에 claude를 다시시작하면 서버를 굳이 다시 설치 안해도 알아서 반영이 되어있더라고

최대공약수라고해도 신기하게 알아먹긴하는듯?

무료라 끝나버린
claude말고는 안되는것 같기는한디
'프로그래밍 > Python' 카테고리의 다른 글
호요랩 자동 출석 체크 프로그램 만들기 프로젝트3(로딩 지연 문제 + 백그라운드에서 실행) (0) | 2025.03.21 |
---|---|
호요랩 자동 출석 체크 프로그램 만들기 프로젝트2(상대적 xpath? css selector?) (0) | 2025.03.16 |
호요랩 자동 출석 체크 프로그램 만들기 프로젝트1(iframe 주의하기) (0) | 2025.03.13 |
python에서 logging 간단하게 (0) | 2024.04.30 |
파이썬 파일 사용할 때 볼 수도 있는 configparser와 argparser (0) | 2024.04.29 |