Integrations
Manages environment variables for API keys and configuration settings through .env files
Provides a web API framework for hosting the MCP server, with endpoints for chat interactions and conversation management
Provides repository hosting for the MCP server code with instructions for cloning and contributing
MCP 서버 구현
외부 도구를 사용하여 대규모 언어 모델 기능을 향상시키기 위한 모델 컨텍스트 프로토콜(MCP)의 완전한 Flask 기반 구현입니다.
개요
이 저장소는 모델의 텍스트 출력에서 직접 도구를 호출하여 LLM 기능을 확장하는 방법인 모델 컨텍스트 프로토콜(MCP)을 처리하는 서버를 구축하는 방법을 보여줍니다. 함수 호출과 달리 MCP는 도구 정의를 컨텍스트 창에 직접 배치하고 모델의 자연어 응답을 구문 분석하여 도구 사용을 식별합니다.
특징
- 🔧 완전한 MCP 구현 : 전체 구문 분석, 실행 및 응답 처리
- 🌤️ 샘플 도구 : 매개변수 검증 기능이 있는 날씨 및 계산기 도구
- 🔄 대화 흐름 : 여러 상호 작용에서 맥락을 유지합니다.
- 🧩 정규식 기반 구문 분석 : 도구 호출을 위한 유연한 텍스트 구문 분석
- 🚀 Flask API : 채팅 통합을 위한 REST API 엔드포인트
프로젝트 구조
지엑스피1
설치
- 저장소를 복제합니다.Copy
- 가상 환경 만들기:Copy
- 종속성 설치:Copy
- 환경 변수 설정:Copy
용법
서버 실행
Flask 개발 서버를 시작합니다.
생산을 위해:
API 엔드포인트
- POST /chat : MCP로 채팅 메시지 처리Copy
독립형 예제
MCP가 어떻게 동작하는지 보려면 예제 스크립트를 실행하세요.
작동 원리
- 도구 등록 : 도구는 매개변수와 실행 논리를 사용하여 등록됩니다.
- 도구 정의 주입 : XML 형식의 도구 설명이 프롬프트에 추가됩니다.
- LLM 응답 처리 : 정규식 패턴은 LLM 텍스트 출력에서 도구 호출을 식별합니다.
- 도구 실행 : 매개변수가 구문 분석되어 적절한 도구 핸들러로 전달됩니다.
- 결과 주입 : 도구 실행 결과가 응답에 다시 삽입됩니다.
MCP 대 함수 호출
특징 | 엠씨피 | 함수 호출 |
---|---|---|
정의 위치 | 프롬프트 텍스트에서 | API 매개변수에서 |
호출 형식 | 자연어 | 구조화된 JSON |
구현 | 텍스트 파싱 | API 통합 |
시계 | 응답에서 볼 수 있음 | 숨겨져 있을 수 있습니다 |
플랫폼 지원 | 모든 텍스트 기반 LLM | API 지원이 필요합니다 |
대화 예시
사용자 : 보스턴의 날씨는 어때요?
법학 석사 :
처리 후 :
나만의 도구 추가
Tool
에서 상속받은 새로운 클래스를 만듭니다.- 매개변수와 실행 논리를 정의합니다.
- MCP 핸들러에 등록
예:
MCP 구성 및 호출 흐름
- 도구 등록 :
- MCP 도구는 핸들러에 등록됩니다.
- 각 도구는 이름, 설명 및 매개변수 정의를 제공합니다.
- 도구 정의 주입 :
- 도구 정의가 시스템 메시지에 추가되었습니다.
- MCP의 형식은 XML 구조를 따릅니다.
- LLM 응답 처리 :
- LLM은 도구 호출을 포함할 수 있는 응답을 생성합니다.
- 패턴 매칭은 텍스트에서 도구 호출을 식별합니다.
- 도구 매개변수는 구문 분석되어 도구 실행 메서드로 전달됩니다.
- 도구 실행 :
- 도구는 제공된 매개변수로 실행됩니다.
- 결과는 대화에 다시 주입됩니다.
- 대화 관리 :
- 도구 결과가 포함된 처리된 응답은 대화 기록에 추가됩니다.
- 향후 LLM 요청에는 컨텍스트를 위한 이 기록이 포함됩니다.
대화 예시
대화의 예는 다음과 같습니다.
사용자 : 보스턴의 날씨는 어때요?
시스템 : MCP 도구 정의를 포함한 프롬프트를 LLM으로 전송합니다.
LLM 응답 :
MCP 핸들러 : 응답을 구문 분석하고 도구 호출을 찾고 날씨 도구를 실행합니다.
도구 실행 결과 :
처리된 응답 (사용자에게 다시 전송):
사용자 : 144의 제곱근을 계산할 수 있나요?
LLM 응답 :
MCP 핸들러 : 응답 구문 분석, 계산기 도구 실행
도구 실행 결과 :
처리된 응답 (사용자에게 다시 전송):
이는 LLM의 텍스트 기반 호출부터 실행 및 응답 처리까지 MCP 도구 사용의 전체 흐름을 보여줍니다.
특허
MIT
기여하다
기여를 환영합니다! 풀 리퀘스트를 제출해 주세요.
This server cannot be installed
자연어를 통해 외부 도구 기능으로 LLM을 향상시키기 위해 모델 컨텍스트 프로토콜을 구현한 Flask 기반 서버로, 날씨 조회 및 계산과 같은 도구를 모델의 텍스트 출력에서 직접 호출할 수 있습니다.