티스토리 뷰
반응형
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 대안
'글' 카테고리의 다른 글
인공지능의 마지막 진화: 우리는 초지능 시대를 맞이할 준비가 되었는가? (1) | 2025.04.28 |
---|---|
olmOCR: 오픈소스 문서 변환의 새로운 기준 (0) | 2025.04.24 |
Llama 4 출시: Meta와 미국의 AI 리더십 위기 (1) | 2025.04.17 |
멀티 에이전트 아키텍처 완전 정복 가이드 (0) | 2025.04.16 |
실현 가능한 4가지 '지루한' 스타트업 아이디어와 구축 방법 (1) | 2025.04.15 |
※ 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 웹개발
- Prisma
- 개발블로그
- 파이썬알고리즘
- 프론트엔드
- llm
- kotlin
- REACT
- AI챗봇
- Next.js
- CI/CD
- NestJS
- 프론트엔드면접
- flax
- seo 최적화 10개
- gatsbyjs
- PostgreSQL
- rag
- nodejs
- Ktor
- JAX
- 백엔드개발
- App Router
- Docker
- nextJS
- SEO 최적화
- 딥러닝
- fastapi
- SEO최적화
- Python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함
반응형