MCP (Model Context Protocol) 서버
MCP 서버는 다양한 LLM(Large Language Model)을 통합 관리하고 표준화된 인터페이스를 제공하는 서비스입니다. 이 프로젝트는 DeepSeek와 Llama 모델을 통합하여 모델 간 전환이 용이하고, 컨텍스트 관리가 가능한 API를 제공합니다.
주요 기능
- 다양한 LLM 모델(DeepSeek, Llama) 통합 관리
- 모델 간 쉬운 전환 및 라우팅
- 대화 컨텍스트 관리
- 표준화된 API 인터페이스
- 다양한 스토리지 백엔드 지원(메모리, Redis, SQLite)
시스템 요구사항
- Python 3.8 이상
- CUDA 지원 GPU (권장, CPU에서도 실행 가능)
- Docker & Docker Compose (선택 사항)
설치 및 실행
수동 설치
-
저장소 클론:
git clone https://github.com/yourusername/mcp-server.git cd mcp-server
-
설정 스크립트 실행:
python setup.py
(모델 다운로드 포함):
python setup.py --download-models
(특정 모델만 다운로드):
python setup.py --download-models --model deepseek
-
서버 실행:
source venv/bin/activate # Windows: venv\Scripts\activate uvicorn app.main:app --reload
Docker를 사용한 설치
-
저장소 클론:
git clone https://github.com/yourusername/mcp-server.git cd mcp-server
-
Docker Compose로 실행:
docker-compose up -d
API 사용법
채팅 API
요청:
POST /api/chat
Content-Type: application/json
{
"session_id": "550e8400-e29b-41d4-a716-446655440000",
"messages": [
{
"role": "user",
"content": "안녕하세요, 오늘 날씨가 어때요?"
}
],
"model": "default",
"parameters": {
"temperature": 0.7,
"max_new_tokens": 512
}
}
응답:
{
"session_id": "550e8400-e29b-41d4-a716-446655440000",
"response": "안녕하세요! 오늘 날씨는 맑고 화창하네요. 온도는 약 22도 정도로 쾌적한 편입니다. 야외 활동하기 좋은 날씨입니다.",
"model": "deepseek"
}
사용 가능한 모델 목록
요청:
GET /api/models
응답:
{
"models": [
{
"id": "deepseek",
"name": "DeepSeek Model",
"description": "DeepSeek 기반 대형 언어 모델",
"capabilities": ["text-generation", "code-generation", "reasoning"],
"languages": ["en", "ko"]
},
{
"id": "llama",
"name": "Llama Model",
"description": "Llama 기반 대형 언어 모델 (한국어 특화)",
"capabilities": ["text-generation", "translation", "korean-language"],
"languages": ["ko", "en"]
}
]
}
세션 삭제
요청:
DELETE /api/sessions/550e8400-e29b-41d4-a716-446655440000
응답:
{
"status": "success",
"message": "세션 550e8400-e29b-41d4-a716-446655440000가 삭제되었습니다"
}
모델 추가하기
새로운 모델을 추가하려면:
app/models
디렉토리에 새 모델 클래스 파일을 생성합니다.BaseModel
클래스를 상속받아 구현합니다.app/models/router.py
에서 모델을 등록합니다.app/core/config.py
에서 라우팅 설정을 업데이트합니다.
기여 방법
- 저장소를 포크합니다.
- 기능 브랜치를 생성합니다 (
git checkout -b feature/amazing-feature
). - 변경사항을 커밋합니다 (
git commit -m 'Add some amazing feature'
). - 브랜치에 푸시합니다 (
git push origin feature/amazing-feature
). - Pull Request를 생성합니다.
Related MCP Servers
View all ai_chatbot servers →exa-mcp-server
by exa-labs
A Model Context Protocol (MCP) server allows AI assistants to use the Exa AI Search API for real-time web searches in a secure manner.
Sequential Thinking
by modelcontextprotocol
An MCP server implementation that provides a tool for dynamic and reflective problem-solving through a structured thinking process.
gateway
by centralmind
CentralMind Gateway is a tool designed to expose databases to AI agents via MCP or OpenAPI protocols, providing secure, LLM-optimized APIs.
osp_marketing_tools
by open-strategy-partners
A comprehensive suite of tools for technical marketing content creation, optimization, and product positioning based on Open Strategy Partners' proven methodologies.
mcp-server-calculator
by githejie
A Model Context Protocol server for calculating. This server enables LLMs to use calculator for precise numerical calculations.
repomix
by yamadashy
Repomix is a tool that packs your codebase into AI-friendly formats, making it easier to use with AI tools like LLMs.
ai-agent-marketplace-index-mcp
by AI-Agent-Hub
MCP Server for AI Agent Marketplace Index from DeepNLP, allowing AI assistants to search available AI agents by keywords or categories.