MCP vs Function Calling(함수 호출): 차이와 함께 쓰는 법
함수 호출(function calling)은 여러분이 정의한 함수의 실행을 모델이 앱에 요청하는 방식이고, MCP는 어떤 클라이언트든 찾을 수 있게 도구를 서버에 둡니다. 둘이 맞물리는 방식을 설명합니다.

함수 호출(function calling)은 도구 호출(tool calling)이라고도 하며, 모델이 애플리케이션에 함수 실행을 요청하는 방식입니다. API 요청에 JSON 스키마로 함수를 설명하면, 모델이 호출할 함수와 인수로 응답하고, 여러분의 코드가 그 함수를 실행해 결과를 돌려보냅니다. MCP는 도구를 서버에 두어 어떤 MCP 클라이언트든 찾아 호출할 수 있게 하는 프로토콜입니다. 둘은 함께 동작합니다. MCP 서버에 연결된 앱이 서버의 도구를 호출 가능한 도구로 모델에 넘기므로, MCP는 도구가 어디에 있고 앱이 어떻게 접근하는지를 표준화하고, 도구를 언제 호출할지는 여전히 모델이 정합니다.
함수 호출 설명은 OpenAI 함수 호출 가이드와 Anthropic의 도구 사용 개요를, MCP 설명은 MCP 아키텍처 개요와 MCP 서버 이해하기를 바탕으로 합니다. 모두 2026-09-28에 확인했습니다. Sume 예시는 MCP 개요와 MCP 도구와 게이트에서 가져왔습니다.
MCP와 함수 호출은 무엇이 다른가요?
함수 호출은 애플리케이션 하나 안에서 쓰는 모델 기능이고, MCP는 애플리케이션과 도구 서버 사이의 프로토콜입니다. 나란히 비교하면 다음과 같습니다.
| 질문 | 함수 호출 | MCP |
|---|---|---|
| 무엇인가요? | 애플리케이션이 정의한 함수를 모델이 요청하는 방식 | 서버에서 도구, 리소스, 프롬프트를 노출하는 프로토콜 |
| 도구는 어디에 정의하나요? | 보통 API 요청 안에 JSON 스키마를 갖춘 함수로 정의. OpenAI 형식은 parameters, Anthropic 형식은 input_schema | 서버에 정의. 도구마다 name, description, inputSchema가 있음 |
| 앱은 도구를 어떻게 찾나요? | 보통 요청마다 목록을 직접 전달 | 클라이언트가 tools/list로 서버에 요청 |
| 도구는 누가 실행하나요? | 여러분의 애플리케이션 코드 | tools/call로 호출되는 MCP 서버 |
| 호출은 누가 정하나요? | 모델 | 모델. MCP 도구는 모델 제어 방식 |
함수 호출은 어떻게 동작하나요?
OpenAI 가이드는 다섯 단계를 제시하며, Anthropic의 왕복 과정도 같은 모양입니다. 모델이 tool_use 블록을 보내고, 여러분의 코드가 tool_result를 보냅니다.
- 모델이 호출할 수 있는 도구를 담아 모델에 요청을 보냅니다.
- 모델에게서 도구 호출을 받습니다.
- 호출에 담긴 입력으로 여러분 쪽 코드를 실행합니다.
- 도구 출력을 담아 모델에 두 번째 요청을 보냅니다.
- 최종 답변이나 추가 도구 호출을 받습니다.
MCP는 함수 호출을 어떻게 활용하나요?
호스트 애플리케이션을 통해 활용합니다. 호스트는 연결된 모든 MCP 서버에서 도구를 가져와, 모델이 접근할 수 있는 하나의 레지스트리로 합칩니다. 모델이 도구 하나를 호출하기로 하면, 앱이 그 호출을 가로채 알맞은 서버로 보내고 결과를 모델에 돌려줍니다. MCP 문서는 이 프로토콜이 컨텍스트 교환만 다룰 뿐, 애플리케이션이 LLM을 어떻게 쓰는지는 정하지 않는다고 설명합니다.
연결을 대신 해 주는 모델 API도 있습니다. OpenAI는 내장 도구 목록에 MCP 서버 접근을 포함하고, Anthropic의 MCP 커넥터는 별도 MCP 클라이언트 없이 Messages API에서 원격 MCP 서버에 접속합니다. 각각이 Sume와 어떻게 동작하는지는 OpenAI Responses API MCP 도구와 Claude API MCP 커넥터와 Sume에서 다룹니다.
직접 정의한 함수 대신 MCP를 써야 할 때는 언제인가요?
- 도구가 여러분의 애플리케이션에 속한다면 함수를 직접 정의하세요. 여러분의 코드가 도구를 실행하고, 스키마를 직접 관리하며, 앱 하나가 그 도구를 씁니다.
- 도구가 이미 서버에 있거나 여러 앱이 공유해야 한다면 MCP를 쓰세요. 어떤 MCP 클라이언트든 그 도구를 찾을 수 있으며, MCP 문서는 MCP를 한 번 만들어 어디에나 연동하는 방법으로 소개합니다.
- 어느 쪽이든 모델은 각 도구의 이름, 설명, 입력 스키마를 보므로 설명을 신중하게 작성하세요. OpenAI는 함수의
description을 언제, 어떻게 쓰는지에 대한 세부 정보라고 설명하고, Anthropic은 Claude가 사용자의 요청과 도구 설명을 바탕으로 도구를 언제 호출할지 정한다고 설명합니다.
Sume에서는 어떤 모습인가요?
두 방법 모두 됩니다. 함수 호출에서는 `POST /v1/videos` (영문) 같은 https://api.sume.com/v1의 Sume Developer API를 호출하는 함수를 정의하고, 이 함수를 백엔드에서 실행합니다. Sume 인증 페이지 안내대로 API 키는 백엔드가 붙입니다. Vercel AI SDK: Sume API 도구 호출로 영상 생성하기가 그 예입니다. MCP에서는 클라이언트를 https://mcp.sume.com/mcp의 Sume 호스팅 서버에 연결하면, HTTP API를 직접 감싸지 않아도 클라이언트가 generate_video, jobs_wait 같은 Sume 도구를 불러옵니다.
두 표면은 서로 다릅니다. 호스팅 MCP 도구는 선별된 API 기능을 감싸며, HTTP API와 기능이 완전히 같지는 않습니다. Sume 기초 페이지는 호스팅 MCP가 여전히 동작하지만 현재 주 경로는 아니라고 설명합니다. 선택지 비교는 AI 에이전트용 MCP vs CLI vs API에서 다룹니다.
출처
관련 글
에이전트 카테고리의 다른 글
- 원격 MCP 서버 URL: 무엇이고 어디서 찾나요?
원격 MCP 서버 URL은 서버 MCP 엔드포인트의 HTTPS 주소입니다. 어디서 받고 어디에 붙여 넣는지, 왜 열어 보는 페이지가 아닌지 설명합니다.
- 영상 에이전트 API: 브리프 하나로 편집된 완성 영상 받기
네, 영상 에이전트 API는 브리프를 편집까지 끝난 완성 영상으로 바꿉니다. Sume Agent Completions와 Format이 받는 것, 돌려주는 것, 비용, 하지 않는 일을 정리합니다.
- MCP 서버란 무엇인가요? 쉬운 정의와 예시
MCP 서버는 Model Context Protocol로 AI 앱에 도구, 데이터, 프롬프트 템플릿을 제공하는 프로그램입니다. 동작 방식을 예시와 함께 설명합니다.
- Agent Completions로 백엔드에서 Sume 영상 에이전트 실행
POST /v1/agent/completions는 Sume 에이전트 채팅과 같은 에이전트를 도구·미디어 생성과 함께 실행하고, 폴링하거나 웹훅으로 받는 비동기 실행 영수증을 돌려줍니다.
작성자 Sume