본문 바로가기
라이프/테크

MCP란? fastmcp로 만들어보기

by socialcomputer 2025. 12. 8.

MCP가 무엇이고 어떻게 만들고 사용할 수 있는지 알아보려고 한다

MCP란

model context protocol 로, AI모델이 데이터나 도구를 표준화된 방식으로 소통하게 해주는 표준 규격이

llm이 내 컴퓨터나 특정 서버의 기능을 쓰게 해주는 것이다

그러면 단순히 ~하는 방법 알려줘, ~ 프로젝트 만들어줘 했을 때 AI가 답변만 하는 것이 아니라 실행까지 할 수 있다

만약 3d모델링에 아무런 지식이 없어도 프로그램을 mcp로 연결하면 "이 사진을 이 프로그램을 이용해서 3d로 만들어줘" 하면 가능하다

수정도 마찬가지로 "뒤에있는 나무들을 사과나무로 바꿔줘" 하면 된다

LLM에게 손발을 달아주는 것

 

MCP는 로컬, 외부에 서버를 구성하는 방식이 있다

로컬은 mcp서버가 내 컴퓨터 안에서 실행되고 내 컴퓨터에 설치된 클로드 데스크탑과 직접 대화하는 방식이다

또 내 컴퓨터의 파일과 프로그램에 직접 접근할 수 있다

반면 mcp서버가 클라우드나 다른 서버에 두고 인터넷을 통해 llm과 대화하는 방식이다

이 경우엔 여러 사람들이 공유해서 쓸 수 있다

 

로컬 MCP 서버 + 클로드 데스크탑

그 중 로컬 mcp 서버와 클로드 데스크탑을 연결해볼거다

알아둬야 할 설정파일이 있는데 claude_desktop_config과 mcp.json 이다

claude_desktop_config 

이 파일은 클로드 데스크탑이 보는 지도다

클로드가 이것을 보고 내 컴퓨터 어디에 어떤 도구가 있는 지 아는 것

mcp.json

이건 mcp서버가 가지고 있는 신분증이다

"나는 계산기 서버고, 실행하려면 파이썬 3.10이상이 필요해"라고 스스로 정의하는 파일

남에게 배포할 떄 중요한 부분이라 지금은 claude_desktop_config만 신경쓰면 된다

 

fastMCP

파이썬과 fastMCP 라이브러리를 사용하면 빠르게 로컬 mcp 서버를 만들 수 있다

1. 준비 - 파이썬 설치, pip install fastmcp

코드 작성법은 여기서 친절하게 알려주긴 한다

https://gofastmcp.com/getting-started/quickstart https://github.com/jlowin/fastmcp

2. server.py 작성하기

아주 간단한 기본 예제들을 가지고 만들어봤다

server.py

from fastmcp import FastMCP

# mcp 서버 이름 지정하고 생성
mcp = FastMCP("My MCP Server")

# 도구 등록
# @mcp.tool() 를 붙이면 함수가 llm이 쓸 수 있는 도구가됨
@mcp.tool()
def greet(name: str = "새로운 친구") -> str:
    """ 사용자의 이름을 반환 """
    return f"Hello, {name}!"

@mcp.tool()
def add_calc(a: int, b: int) -> str:
    """
    두 숫자를 더해라
    여기 설명이 llm이 도구를 언제 써야 할지 판단하는 근거가 됨
    """
    # 팁: 타입 힌트가 -> int 였는데 리턴은 문자열이라 -> str로 수정했습니다.
    return f"도구 사용한 결과 값 : {a + b} 입니다"

if __name__ == "__main__":
    mcp.run()

 

3. 클로드 데스크탑에 이 mcp서버를 알려주기

클로드 데스크탑 -> 파일 -> 설정 -> 개발자 -> 구성편집 ->  claude_desktop_config.json

python server.py 로 실행하면 이 mcp도구를 사용할 수 있다고 편집

{
  "mcpServers": {
    "My MCP Server": {
      "command": "python",
      "args": [
        "C:\\윈도우경로\\server.py"
      ]
    }
  }
}

이렇게 설정해주면 running 으로 뜨는 걸 볼 수 있다

 

사용법은 채팅할때 mcp 서버를 켜놓고 ~를 사용해서 ~ 해 라고 프롬프팅하면 된다

도구 사용을 허용해주면 결과는

 

 

이번엔 간단한 mcp와 연결방법을 알아봤다

다음엔 사용하는 노션 페이지를 기반해서 어떠한 작업을 하는 mcp 도구를 만들어볼거다

댓글