LLM 엔지니어링10장 · MCP 와 Prompt·Context Engineering3 / 22← 이전목차다음 →MetaContents

10장. MCP 와 Prompt·Context Engineering

도구를 잇는 표준, MCP

식당마다 주문서 양식이 다르면 배달 앱은 식당마다 따로 연결을 만들어야 합니다. 양식을 하나로 맞추면, 새 식당은 양식만 맞추면 되고 배달 앱은 한 번만 만들면 됩니다. AI 앱과 도구 사이에 MCP 가 이 공통 양식입니다.

AI 앱 셋과 도구 셋을 서로 따로 이으면 아홉 개의 연결이 필요하지만, MCP 를 가운데 두면 여섯 개면 된다는 것을 견준 두 카드

왼쪽은 AI 앱 3개와 도구 3개를 서로 따로 이은 모습으로 연결이 3 × 3 = 9개 필요합니다. 오른쪽은 가운데에 MCP 를 두어, 앱은 MCP 클라이언트 하나, 도구는 MCP 서버 하나만 만들면 되어 3 + 3 = 6개면 됩니다. 앱과 도구가 늘수록 차이가 커집니다. 여기서 주문서 양식이 MCP, 식당이 도구, 배달 앱이 AI 앱입니다.

9장과 무엇이 다른가

견줄 것9장의 도구MCP 서버의 도구
어디에 있나우리 파이썬 코드 안의 함수따로 도는 프로그램(서버)
누가 쓰나그 코드만MCP 를 아는 어느 앱이나
도구 설명우리가 JSON 스키마를 손으로 적는다서버가 함수의 타입 힌트와 설명에서 만들어 준다
바꾸면앱 코드를 고친다서버만 고치면 모든 앱에 반영된다

연결 수 세기

Python
for apps, tools in [(3, 3), (5, 10), (10, 30)]:
    print(f"앱 {apps}개, 도구 {tools}개 → 따로 이으면 {apps * tools}개, MCP 로 이으면 {apps + tools}개")

앱 10개와 도구 30개라면 따로 이을 때 300개, MCP 로 이을 때 40개입니다. 도구를 만드는 쪽과 쓰는 쪽이 서로를 몰라도 되는 것이 표준의 힘입니다.

코드에 나오는 함수

코드쉬운 뜻
[(3, 3), (5, 10), (10, 30)](앱 수, 도구 수) 짝 세 개를 담은 목록이다. 작은 경우부터 큰 경우까지 차례로 본다
for apps, tools in …짝 하나를 꺼내 앞 숫자는 apps, 뒤 숫자는 tools 에 나눠 담는다
apps * tools따로 이을 때의 연결 수다. 앱마다 모든 도구와 하나씩 이으므로 곱한다
apps + toolsMCP 로 이을 때 만들 것의 수다. 앱마다 클라이언트 하나, 도구마다 서버 하나라서 더한다
f"…{apps * tools}…"f-string(formatted string, 서식 문자열)이다. 중괄호 안의 셈 결과를 글 속에 끼워 넣는다

이 코드가 뜻하는 것

배달 앱과 식당으로 읽어 봅니다. 양식이 제각각이면 배달 앱 하나가 식당마다 연결 작업을 따로 해야 하니 "앱 수 × 식당 수"만큼 일이 생깁니다. 양식을 하나로 맞추면 앱은 양식을 한 번 익히고, 식당도 양식을 한 번 맞추면 되니 "앱 수 + 식당 수"면 됩니다. 여기서 배달 앱이 apps, 식당이 tools, 공통 양식이 MCP 입니다.

줄하는 일쉽게 말하면
for apps, tools in [...]세 가지 규모를 차례로 본다작은 동네, 중간 동네, 큰 동네
apps * tools곱해서 따로 이을 연결 수를 센다앱마다 식당마다 따로 연결 작업
apps + tools더해서 MCP 로 만들 것의 수를 센다양식 한 번 익히기 + 양식 한 번 맞추기
print(...)두 수를 한 줄에 견준다일의 양을 나란히 적은 표

결과에서 앱 3개, 도구 3개일 때는 9개와 6개로 차이가 작습니다. 앱 10개, 도구 30개가 되면 300개와 40개로 벌어집니다. 곱은 둘 다 커질 때 빠르게 늘고, 합은 천천히 늘기 때문입니다. 비유와 다른 점이 하나 있습니다. 실행할 때는 앱이 쓰는 서버마다 연결이 하나씩 생깁니다("MCP 의 구조" 절). 줄어드는 것은 실행 중의 연결이 아니라 "새로 만들어야 할 연결 코드"의 수입니다.

주의할 점

  • MCP 는 "모델을 더 똑똑하게" 하지 않습니다. 도구를 잇는 방법을 표준으로 정할 뿐, 도구를 고르고 쓰는 것은 여전히 모델과 우리 코드의 몫입니다.
  • MCP 는 빠르게 바뀌는 규격입니다. 이 장은 파이썬 mcp 패키지 2.3.0 으로 실행했고, 1.x 의 FastMCP 는 2.x 에서 MCPServer 로 이름이 바뀌었습니다. 쓰는 판의 문서를 확인합니다.
← 이전 절10장 · 용어 짚고 가기다음 절 →10장 · MCP 의 구조