이 프로젝트는 MCP 프로토콜을 통해 로컬 LLM(예: Qwen)을 계산기나 지식 베이스와 같은 도구에 연결합니다. 어시스턴트는 이러한 도구를 자동으로 감지하고 호출하여 사용자 질의에 답변합니다.
📦 특징
🔧 MCP 서버를 통한 도구 실행
🧠 HTTP 또는 OpenAI SDK를 통한 로컬 LLM 통합
📚 지식 기반 지원(
data.json)⚡
stdio및sse전송을 지원합니다
Related MCP server: MCP Documentation Server
🗂 프로젝트 파일
파일 | 설명 |
| 도구를 등록하고 MCP 서버를 시작합니다. |
| 로컬 LLM과 통신하기 위해 |
| LLM + 도구 호출 논리를 위해 OpenAI 호환 SDK를 사용합니다. |
| stdio를 사용하는 MCP 클라이언트 |
| SSE를 사용하는 MCP 클라이언트 |
| Q&A 지식 기반 |
📥 설치
요구 사항
파이썬 3.8 이상
종속성 설치:
지엑스피1
requirements.txt
aiohttp==3.11.18
nest_asyncio==1.6.0
python-dotenv==1.1.0
openai==1.77.0
mcp==1.6.0🚀 시작하기
1. MCP 서버 실행
python server.py이렇게 하면 add , multiply , get_knowledge_base 와 같은 기능을 갖춘 도구 서버가 실행됩니다.
2. 클라이언트 시작
옵션 A: HTTP 클라이언트(원시 API를 통한 로컬 LLM)
python client-http.py옵션 B: OpenAI SDK 클라이언트
python client-openai.py옵션 C: stdio 전송
python client-stdio.py옵션 D: SSE 운송
server.py 다음을 설정하는지 확인하세요.
transport = "sse"그런 다음 실행하세요.
python client-sse.py💬 예시 프롬프트
수학 도구 호출
What is 8 times 3?응답:
Eight times three is 24.지식 기반 질문
What are the healthcare benefits available to employees in Singapore?응답에는 data.json 의 관련 답변이 포함됩니다.
📁 예: data.json
[
{
"question": "What is Singapore's public holiday schedule?",
"answer": "Singapore observes several public holidays..."
},
{
"question": "How do I apply for permanent residency in Singapore?",
"answer": "Submit an online application via the ICA website..."
}
]🔧 구성
client-http.py 또는 clientopenai.py 내부에서 다음을 업데이트합니다.
LOCAL_LLM_URL = "..."
TOKEN = "your-api-token"
LOCAL_LLM_MODEL = "your-model"LLM이 OpenAI 호환 API 엔드포인트를 제공하는지 확인하세요.
🧹 정리
클라이언트는 도구 호출 및 응답을 자동으로 처리합니다. Ctrl+C 사용하여 서버나 클라이언트를 중지할 수 있습니다.
🪪 라이센스
MIT 라이선스. 라이선스 파일을 참조하세요.