티스토리 뷰

Ollama + MCP 서버 통합 가이드

octo54 2025. 4. 18. 10:50
반응형

 

Ollama + MCP 서버 통합 가이드

로컬 환경에서 LLM 기반 AI 에이전트를 구축하고, 외부 도구 호출까지 자동화하고 싶다면, Ollama + MCP 조합은 매우 강력한 선택입니다. 이 가이드는 구조화된 출력 + 도구 호출 + 로컬 LLM 통합을 위한 실습 기반 예시를 제공합니다.


✅ 프로젝트 구조

your_project/
├── server.py   # MCP 서버 및 도구 정의
└── client.py   # Ollama + MCP 통합 실행 클라이언트

🔧 Step 1: MCP 서버 구축 (server.py)

from fastmcp import FastMCP

mcp = FastMCP("MagicTools")

@mcp.tool()
def magicoutput(text1: str, text2: str) -> str:
    return f"{text1} ✨ {text2}"

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

🧩 설명

  • @mcp.tool() 데코레이터로 MCP 도구 등록
  • FastMCP("MagicTools")는 MCP 서버를 이름으로 초기화
  • run() 호출 시 로컬 MCP 서버 실행

🤖 Step 2: 클라이언트 및 Ollama 통합 (client.py)

반응형
import subprocess
from mcp.client import ClientSession
from pydantic import BaseModel
from ollama import ChatOllama

# MCP 서버 백그라운드 실행
subprocess.Popen(["python", "server.py"])

# MCP 도구 불러오기
with ClientSession() as session:
    session.initialize()
    tools = session.get_tools()

    class MagicOutputModel(BaseModel):
        text1: str
        text2: str

    model = ChatOllama(model="llama3.2")

    user_input = "Combine 'Hello' and 'World'"
    response = model.chat(
        messages=[{"role": "user", "content": user_input}],
        format=MagicOutputModel
    )

    print(response)

💡 기대 결과

  • 사용자가 "Combine 'Hello' and 'World'" 입력
  • Ollama는 구조화된 출력 모델을 통해 magicoutput 도구 호출
  • 최종 출력: Hello ✨ World

🔍 핵심 기술 요약

구성 요소 설명

Ollama 로컬에서 경량 LLM 실행 (Llama3 등)
MCP LLM과 도구 간의 표준화된 인터페이스
FastMCP Python 기반의 MCP 서버 프레임워크
Pydantic 구조화된 입력/출력 모델 정의

🧠 이 구조의 활용 예시

  • 사용자 요청에 따라 자동으로 파일 생성 도구 호출
  • 사용자 질문 → 외부 API 호출 후 결과 요약
  • 코드 생성 → 실행 → 결과 리턴까지 하나의 워크플로우

 

Ollama, MCP 서버, 로컬 LLM, FastMCP, Python AI 프로젝트, AI 에이전트 자동화, 구조화된 출력, 도구 기반 AI, ChatOllama 연동, LangChain 대안

※ 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함
반응형