
최근 AI 기술의 발전으로 Model Context Protocol(MCP)은 AI 에이전트가 외부 도구와 서비스에 접근하여 다양한 작업을 수행할 수 있게 하는 중요한 프로토콜로 자리잡고 있습니다. 특히 로컬 환경에서 Ollama와 같은 도구를 활용하여 MCP 서버를 구축하면, API 키 비용 걱정 없이 개인 컴퓨터에서 강력한 AI 기능을 활용할 수 있습니다. 이 글에서는 Ollama를 사용하여 로컬 MCP 서버를 배포하는 전체 과정을 자세히 살펴보겠습니다.
개발자들이 API 테스트와 관리에 많은 시간을 소비하는 현실에서, Apidog는 Postman의 대안으로 주목받고 있습니다. API 개발 팀에 최적화된 Apidog는 실시간 업데이트, 무제한 컬렉션 실행, 시각적 API 명세 생성 등 다양한 기능을 제공하여 개발 워크플로우를 향상시킵니다. 바이브 코딩처럼 효율적인 개발을 추구한다면 Apidog를 활용해 보는 것이 좋겠습니다.
MCP(Model Context Protocol)은 Anthropic에서 개발한 프로토콜로, AI 모델이 외부 소프트웨어 및 도구와 상호작용할 수 있게 해주는 표준화된 프레임워크입니다. MCP를 통해 AI 모델은 단순한 텍스트 생성을 넘어서 이메일 전송, 코드 변경 배포, 데이터베이스 쿼리 실행 등과 같은 실제 행동을 취할 수 있습니다.
MCP 아키텍처는 크게 두 가지 요소로 구성됩니다:
1. MCP 클라이언트: AI 모델(Claude, GPT-4 등)이 포함된 애플리케이션
2. MCP 서버: 다양한 도구와 기능을 제공하는 서버
전통적으로 Claude Desktop과 같은 애플리케이션에서만 MCP 서버를 사용할 수 있었지만, 이제 Ollama와 같은 로컬 LLM(대형 언어 모델)을 활용하여 MCP 서버를 로컬에서 구축하고 활용할 수 있게 되었습니다.
Ollama는 로컬 기기에서 대형 언어 모델(LLM)을 쉽게 실행할 수 있게 해주는 오픈소스 도구입니다. 다양한 모델(Qwen, Llama, Mistral 등)을 로컬에서 실행할 수 있어 API 비용 없이 AI 모델을 활용할 수 있는 장점이 있습니다. 또한 도구 호출(tool calling) 기능을 지원하는 모델들이 있어 MCP 서버와 함께 사용하기에 적합합니다.
# Python 설치 (python.org에서 다운로드, PATH에 추가 옵션 선택)
# uv/uvx 설치
curl -sSf https://install.ultraviolet.rs/windows | powershell
# Go 설치 (golang.org에서 다운로드)
# Homebrew로 Python 설치
brew install python
# uv/uvx 설치
brew install ultraviolet/uv/uv
# 또는
curl -sSf https://install.ultraviolet.rs/mac | bash
# Go 설치
brew install go
# Python 설치
sudo apt update
sudo apt install python3 python3-pip
# uv/uvx 설치
curl -sSf https://install.ultraviolet.rs/linux | bash
# Go 설치
sudo apt install golang-go
# Qwen 2.5 모델 다운로드 (도구 호출 지원)
ollama pull qwen2.5
MCPHost는 LLM이 MCP 프로토콜을 통해 외부 도구와 상호작용할 수 있게 해주는 CLI 애플리케이션입니다. Go로 작성되었으며, Ollama 및 다른 모델들과 함께 사용할 수 있습니다.
# Go 언어가 필요합니다
go install github.com/mark3labs/mcphost@latest
MCP 서버를 설정하기 위해 JSON 파일을 생성합니다. 아래는 local.json 파일의 예시입니다:
{
  "mcpServers": {
    "sqlite": {
      "command": "uvx",
      "args": ["mcp-server-sqlite", "--db-path", "/path/to/your/database.db"]
    },
    "ddg-search": {
      "command": "uvx",
      "args": ["duckduckgo-mcp-server"]
    },
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/path/to/your/directory"
      ]
    }
  }
}
Windows 환경에서는 경로에 역슬래시(\)를 이중으로 사용해야 합니다:
{
  "mcpServers": {
    "sqlite": {
      "command": "C:\\Users\\username\\anaconda3\\Scripts\\uvx.exe",
      "args": ["mcp-server-sqlite", "--db-path", "C:\\Users\\username\\Desktop\\Database.db"]
    },
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "C:\\Users\\username\\Desktop\\mcp-files"
      ]
    }
  }
}
SQLite MCP 서버는 데이터베이스 쿼리를 실행할 수 있는 기능을 제공합니다:
# uvx를 사용하여 설치
uvx install mcp-server-sqlite
파일 시스템 MCP 서버는 파일 및 디렉토리를 관리할 수 있는 기능을 제공합니다:
# npm을 사용하여 글로벌로 설치
npm install -g @modelcontextprotocol/server-filesystem
인터넷 검색 기능을 제공하는 MCP 서버입니다:
# uvx를 사용하여 설치
uvx install duckduckgo-mcp-server
설정 파일과 필요한 MCP 서버를 설치한 후, MCPHost를 실행하여 Ollama와 연결할 수 있습니다:
# Qwen2.5 모델을 사용하여 MCPHost 실행
mcphost -m ollama:qwen2.5 --config "/path/to/your/local.json"
Windows 환경에서는 다음과 같이 실행합니다:
mcphost -m ollama:qwen2.5 --config "C:\path\to\your\local.json"
이제 터미널에서 대화형 인터페이스가 시작되며, Ollama를 통해 MCP 서버의 도구들에 접근할 수 있습니다.
Dolphin MCP는 또 다른 방법으로, 파이썬으로 작성된 오픈소스 라이브러리입니다. 이를 통해 Ollama, OpenAI, DeepSeek 등 다양한 AI 모델을 MCP 서버와 통합할 수 있습니다.
# PyPI를 통한 설치
pip install dolphin-mcp
.env 파일 생성:OPENAI_API_KEY=your_openai_api_key_here  # 선택 사항
OPENAI_MODEL=gpt-4o  # 선택 사항
mcp_config.json 파일 생성:{
  "mcpServers": {
    "sqlite": {
      "command": "uvx",
      "args": ["mcp-server-sqlite", "--db-path", "/path/to/your/database.db"]
    },
    "filesystem": {
      "command": "npx",
      "args": [
        "@modelcontextprotocol/server-filesystem",
        "/path/to/your/directory"
      ]
    }
  }
}
Dolphin MCP는 CLI 명령과 Python 라이브러리 두 가지 방식으로 사용할 수 있습니다:
# 기본 사용법
dolphin-mcp-cli "데이터베이스의 모든 테이블을 보여줘"
# Ollama 모델 지정
dolphin-mcp-cli --model ollama "파일 시스템에서 모든 텍스트 파일을 찾아줘"
import asyncio
from dolphin_mcp import run_interaction
async def main():
    result = await run_interaction(
        user_query="데이터베이스에 새 레코드를 추가해줘",
        model_name="ollama",
        quiet_mode=False
    )
    print(result)
asyncio.run(main())
SQLite MCP 서버를 사용하여 데이터베이스 분석 및 쿼리를 수행할 수 있습니다:
# MCPHost로 실행
mcphost -m ollama:qwen2.5 --config "path/to/config.json"
대화창에서:
> 데이터베이스의 모든 테이블을 보여줘
> employees 테이블에서 급여가 가장 높은 직원 5명을 찾아줘
파일 시스템 MCP 서버를 사용하여 파일 및 디렉토리를 관리할 수 있습니다:
> 현재 디렉토리의 모든 .txt 파일을 찾아서 내용을 요약해줘
> 어제 수정된 모든 파일 목록을 보여줘
DuckDuckGo MCP 서버를 사용하여 인터넷 검색을 수행할 수 있습니다:
> 최근 인공지능 기술 트렌드에 대해 검색해줘
> 한국의 현재 주요 뉴스 헤드라인을 찾아서 요약해줘
여러 MCP 서버를 동시에 설정하면, AI 모델이 상황에 맞는 적절한 도구를 선택하여 사용할 수 있습니다:
{
  "mcpServers": {
    "sqlite": { ... },
    "filesystem": { ... },
    "ddg-search": { ... },
    "github": { ... }
  }
}
자신만의 MCP 서버를 개발하여 특화된 기능을 제공할 수 있습니다. 간단한 예시:
// 간단한 날씨 MCP 서버
import { createServer } from '@modelcontextprotocol/sdk/server';
const server = createServer({
  name: 'weather-mcp',
  version: '1.0.0',
});
server.tool(
  'getWeather',
  'Get current weather for a city',
  {
    city: {
      type: 'string',
      description: 'The city name',
    },
  },
  async ({ city }) => {
    // API 호출 및 날씨 정보 반환 로직
    const weatherData = await fetchWeatherData(city);
    return {
      content: [{
        type: 'text',
        text: `${city}의 현재 날씨: ${weatherData.temp}°C, ${weatherData.condition}`
      }]
    };
  }
);
server.listen();
MCPHost와 Ollama를 사용할 때 --message-window 플래그를 사용하여 컨텍스트 윈도우 크기를 조정할 수 있습니다:
mcphost -m ollama:qwen2.5 --config "path/to/config.json" --message-window 20
이렇게 하면 더 긴 대화 기록을 유지하여 컨텍스트 이해도를 향상시킬 수 있습니다.
A: 모든 Ollama 모델이 도구 호출을 지원하는 것은 아닙니다. Qwen2.5, Llama3.1, Solar 등 도구 호출을 지원하는 모델을 사용해야 합니다.
A: 설정 파일의 경로가 올바른지, 필요한 도구가 모두 설치되었는지 확인하세요. 또한 Windows에서는 경로에 이중 역슬래시(\\)를 사용해야 합니다.
A: Ollama가 실행 중인지 확인하고, 해당 모델이 올바르게 다운로드되었는지 확인하세요:
ollama list
ollama serve
A: 설정 파일의 JSON 형식이 올바른지 확인하고, 각 MCP 서버의 command와 args가 정확하게 설정되었는지 확인하세요.
Ollama와 함께 로컬 MCP 서버를 배포하면 클라우드 기반 AI 서비스에 의존하지 않고도 강력한 AI 기능을 활용할 수 있습니다. 이를 통해 개인정보 보호를 강화하고, API 비용을 절감하며, 맞춤형 AI 솔루션을 개발할 수 있습니다.
MCPHost나 Dolphin MCP와 같은 도구를 사용하면 SQLite, 파일 시스템, 웹 검색 등 다양한 MCP 서버를 로컬 LLM과 통합할 수 있으며, 이를 통해 데이터 분석, 파일 관리, 정보 검색 등 다양한 작업을 자연어로 수행할 수 있습니다.
이제 로컬 환경에서 MCP 서버를 활용하여 AI의 가능성을 최대한 발휘해 보세요. 앞으로도 MCP 생태계는 계속 발전하여 더 다양한 도구와 기능을 제공할 것으로 기대됩니다.