MCP ExplorerExplorer

Openwebui Mcpo Demo

@tsdataon 9 months ago
11 MIT
FreeCommunity
AI Systems
A demo integrating OpenWebUI with MCP server via Docker Compose for LLM APIs.

Overview

What is Openwebui Mcpo Demo

openwebui-mcpo-demo is a demo project that integrates OpenWebUI and the MCP (Model Context Protocol) server using Docker Compose. It provides a convenient web interface for using local Ollama models alongside the OpenAI API.

Use cases

Use cases for openwebui-mcpo-demo include developing applications that leverage local machine learning models, creating interactive AI tools, and conducting experiments with different LLM APIs.

How to use

To use openwebui-mcpo-demo, clone the repository, grant execution permissions to the setup script, and run it to configure your settings. You can choose between automatic or manual installation methods, with options for basic setup, including the MCP tool server, GPU support, or custom configurations.

Key features

Key features include a web interface for Ollama and various LLM APIs, an MCP proxy server that provides additional tool functionalities, and support for GPU acceleration.

Where to use

openwebui-mcpo-demo can be used in fields such as AI development, machine learning, and natural language processing, where integration of local models and APIs is required.

Content

OpenWebUI MCP 데모

이 프로젝트는 OpenWebUI와 MCP(Model Context Protocol) 서버를 Docker Compose를 통해 통합한 데모입니다. 로컬 Ollama 모델과 OpenAI API를 함께 사용할 수 있는 편리한 웹 인터페이스를 제공합니다.

개요

  • OpenWebUI: Ollama 및 다양한 LLM API를 위한 웹 인터페이스
  • MCP 프록시: 도구 기능을 제공하는 Model Context Protocol 서버

시스템 요구사항

  • Docker 및 Docker Compose
  • 노출된 포트: 3000(OpenWebUI), 8000(MCP 프록시)
  • Ollama가 설치되어 있고 11434 포트에서 실행 중이어야 함 (기본 설정)

설치 및 실행 방법

자동 설치 (setup.sh 스크립트 사용)

  1. 저장소를 클론합니다:
git clone https://github.com/tsdata/openwebui-mcpo-demo.git
cd openwebui-mcpo-demo
  1. 설치 스크립트에 실행 권한을 부여합니다:
chmod +x setup.sh
  1. 설치 스크립트를 실행합니다:
./setup.sh
  1. 메뉴에서 원하는 설정을 선택합니다:
      1. 기본 설정 (호스트 Ollama + OpenAI API)
      1. MCP 도구 서버 포함
      1. GPU 지원 포함
      1. 사용자 정의 설정

수동 설치

  1. 필요한 디렉토리를 생성합니다:
mkdir -p mcp-proxy
  1. MCP 프록시용 Dockerfile을 생성합니다:
cat > mcp-proxy/Dockerfile << 'EOF'
FROM python:3.11-slim

WORKDIR /app

# 필요한 패키지 설치
RUN pip install mcpo uv

# 설정 디렉토리 생성
RUN mkdir -p /app/config

# MCP 설정 파일 복사
COPY mcp-config.json /app/config/mcp-config.json

# 설정 파일을 사용하여 실행
CMD ["mcpo", "--host", "0.0.0.0", "--port", "8000", "--config", "/app/config/mcp-config.json"]
EOF
  1. MCP 설정 파일을 생성합니다:
cat > mcp-proxy/mcp-config.json << 'EOF'
{
  "mcpServers": {
    "fetch": {
      "command": "uvx",
      "args": ["mcp-server-fetch"]
    },
    "time": {
      "command": "uvx",
      "args": ["mcp-server-time", "--local-timezone=Asia/Seoul"]
    }
  }
}
EOF
  1. Docker Compose를 사용하여 서비스를 시작합니다:
    • 기본 설정:
      docker compose up -d
      
    • MCP 도구 서버 포함:
      docker compose --profile tools up -d --build
      

설정 옵션

기본 설정

  • OpenWebUI 웹 인터페이스만 실행합니다.
  • 호스트의 Ollama와 연결됩니다.

MCP 도구 서버 포함

  • 기본 설정에 MCP 프록시 서버를 추가합니다.
  • 추가 도구 기능(fetch, time 등)을 제공합니다.

GPU 지원 포함

  • CUDA 지원이 포함된 OpenWebUI 이미지를 사용합니다.
  • GPU 가속 처리가 가능합니다.

사용자 정의 설정

  • OpenAI API 키, Ollama URL 등을 사용자가 직접 구성할 수 있습니다.
  • MCP 도구 서버 및 GPU 지원 옵션을 선택적으로 적용할 수 있습니다.

사용 방법

  1. OpenWebUI 웹 인터페이스에 접속합니다: http://localhost:3000
  2. MCP 프록시 API 문서 확인(도구 서버 활성화 시): http://localhost:8000/docs

MCP 서버 확장

MCP 프록시에 새로운 도구를 추가하려면:

  1. mcp-proxy/mcp-config.json 파일을 수정합니다:
{
  "mcpServers": {
    "fetch": {
      "command": "uvx",
      "args": [
        "mcp-server-fetch",
        "--ignore-robots-txt"
      ]
    },
    "time": {
      "command": "uvx",
      "args": [
        "mcp-server-time",
        "--local-timezone=Asia/Seoul"
      ]
    },
    "새로운도구": {
      "command": "uvx",
      "args": [
        "mcp-server-새로운도구"
      ]
    }
  }
}
  1. MCP 프록시 서버를 재시작합니다:
docker compose --profile tools restart mcp-proxy

문제 해결

Ollama 연결 문제

  • Ollama가 호스트에서 실행 중인지 확인하세요.
  • 기본 포트(11434)가 사용 가능한지 확인하세요.
  • Docker 네트워크 설정을 확인하세요.

MCP 프록시 서버 문제

  • 로그를 확인하세요: docker logs mcp-proxy
  • 필요한 Python 패키지가 설치되어 있는지 확인하세요.

서비스 관리

서비스 중지

docker compose down

로그 확인

  • OpenWebUI: docker logs open-webui
  • MCP 프록시: docker logs mcp-proxy

컨테이너 재시작

docker compose restart

데이터 관리

OpenWebUI의 데이터는 Docker 볼륨(open-webui-data)에 저장됩니다. 데이터를 백업하려면:

docker volume inspect open-webui-data  # 볼륨 위치 확인
# 또는
docker run --rm -v open-webui-data:/data -v $(pwd):/backup alpine tar -czf /backup/open-webui-backup.tar.gz /data

라이센스

이 프로젝트는 오픈 소스 라이센스하에 배포됩니다. 자세한 내용은 라이센스 파일을 참조하세요.

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers