hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Command Executor 및 Brave Search를 위한 MCP 기반 클라이언트-서버 앱
개요
이 프로젝트는 MCP(Model Context Protocol)를 사용하여 사용자 프롬프트를 처리하고, 대규모 언어 모델(LLM)을 사용하여 의도를 파악하며, 실행을 위해 적절한 서비스로 라우팅하는 클라이언트-서버 아키텍처를 구현합니다. 이 시스템은 두 가지 주요 구성 요소로 구성됩니다.
- 클라이언트: 사용자 입력을 처리하고 이를 LLM으로 전송한 다음 LLM의 결정에 따라 해당 서버로 요청을 전달합니다.
- 서버: LLM JSON 응답에 지정된 도구 기반 요청을 처리합니다. 시스템 명령을 실행하거나 Brave Search API를 사용하여 웹 데이터를 가져옵니다.
LLM은 사용자 요청에 명령 실행이 필요한지, 아니면 웹 검색이 필요한지 판단합니다. 프롬프트가 명확하지 않은 경우, LLM은 도구 이름( command_execution
또는 fetch_web_data
)과 필요한 인수를 명시하는 구조화된 JSON 응답을 생성하기 전에 후속 질문을 합니다.
흐름도
일하고 있는
- 사용자 입력: 사용자가 CLI에 프롬프트를 입력합니다.
- 클라이언트 처리: 클라이언트가 프롬프트를 LLM에 전달합니다.
- LLM 결정:
- 의도가 불분명한 경우 LLM은 후속 질문을 합니다.
- 도구 이름과 필요한 인수를 지정하는 JSON 응답을 생성합니다.
- 클라이언트 라우팅:
- 도구가
command_execution
인 경우:- 요청은 명령 서버 로 전송됩니다.
- 명령 서버는 Python의
subprocess
모듈을 사용하여 명령을 실행합니다. - 성공 또는 실패 응답이 반환됩니다.
- 도구가
fetch_web_data
인 경우:- 요청은 Fetch Web Data Server 로 전송됩니다.
- 서버는 Brave Search API 에 관련 결과를 쿼리합니다.
- 검색 결과가 클라이언트에게 반환됩니다.
- 도구가
- 클라이언트 응답: 클라이언트는 CLI를 통해 최종 응답을 사용자에게 다시 보냅니다.
필수 조건
- 파이썬 3.x
- pip(Python 패키지 관리자)
- 가상 환경 설정(선택 사항이지만 권장됨)
- UV/UVX 설치: UV 설치 가이드
- Brave Search API: Brave Search API 키
- 아래 LLM 중 하나:
설치
1. 저장소를 복제합니다.
지엑스피1
2. 가상 환경을 생성하고 활성화합니다.
Copy
3. 종속성 설치
Copy
4. LLM 모델 구성
Ollama 모델 사용
- Ollama 설치 가이드 의 지침에 따라 Ollama CLI 도구를 설치하세요.
- 그런 다음 Ollama를 확인하세요.Copy
- 클라이언트 명령(llama3 또는 llama2)에서 모델을 지정합니다.Copy
Groq 모델 사용
- Groq의 API 키를 저장하기 위해
.env
파일을 만듭니다.Copy - Groq의 API 키를
.env
파일에 추가하세요.Copy
5. Brave Search API 구성
Brave의 API 키를 .env
파일에 추가하세요.
Copy
달리다
- Ollama 모델을 사용하려면
Copy
- Groq 모델을 사용하려면
Copy
시험
클라이언트에게 쿼리를 제공합니다(예: touch test.txt
, create text file with test
, rm test.txt file
등).
Copy
🚀 Docker 프로젝트 설정 가이드
📌 코드 실행 단계
1️⃣ Git 저장소 복제
Copy
2️⃣ 모델 선택을 위한 구성 편집
config.ini 파일을 수정하여 모델 유형과 이름을 지정합니다.
Copy
3️⃣ Docker 컨테이너 빌드
Copy
4️⃣ 모델 클라이언트 실행
Copy
This server cannot be installed
대규모 언어 모델(LLM)을 통해 사용자 의도를 해석하여 Brave Search API를 사용하여 시스템 명령을 실행하고 웹 데이터를 검색하는 것을 용이하게 합니다.