Model Context Protocol (MCP) Server

Integrations

  • Provides a Python implementation of both MCP client and server components, allowing Python applications to expose and access MCP capabilities.

  • Employs WebSocket connections for real-time bidirectional communication between MCP clients and servers, supporting the complete MCP handshake and capability negotiation process.

모델 컨텍스트 프로토콜(MCP) Python 구현

이 프로젝트는 Anthropic MCP 사양에 따라 Python으로 작동하는 모델 컨텍스트 프로토콜(MCP) 서버와 클라이언트를 구현합니다. 간단한 대화형 예제를 통해 MCP 프로토콜의 주요 패턴을 보여줍니다.

MCP란 무엇인가요?

모델 컨텍스트 프로토콜(MCP)은 JSON-RPC 2.0 기반으로 구축된 개방형 표준으로, AI 모델을 외부 데이터 소스 및 도구에 연결하기 위한 것입니다. AI 애플리케이션이 하나 이상의 MCP 서버와 통신하는 클라이언트-서버 아키텍처를 정의하며, 각 서버는 다음과 같은 기능을 제공합니다.

  • 도구 : 작업을 수행하는 실행 가능한 함수
  • 리소스 : 정보를 제공하는 데이터 소스
  • 프롬프트 : 미리 정의된 템플릿 또는 워크플로

MCP는 이러한 기능이 발견되고 호출되는 방식을 표준화하여 모델이 구조화된 방식으로 외부 시스템과 상호 작용할 수 있도록 하는 "AI용 USB-C" 역할을 합니다.

프로젝트 구조

  • server/ : MCP 서버 구현
    • server.py : MCP 요청을 처리하고 샘플 도구/리소스를 제공하는 WebSocket 서버
  • client/ : MCP 클라이언트 구현
    • client.py : 서버에 연결하고 모든 MCP 기능을 실행하는 데모 클라이언트

시연된 기능

이 구현은 핵심 MCP 프로토콜 흐름을 보여줍니다.

  1. 기능 협상 : initialize 통한 클라이언트-서버 핸드셰이크
  2. 역량 발견 : 사용 가능한 도구 및 리소스 나열
  3. 도구 호출 : 매개변수를 사용하여 add_numbers 도구 호출
  4. 리소스 액세스 : 리소스에서 텍스트 콘텐츠 읽기

설정

  1. 가상 환경 만들기:지엑스피1
  2. 종속성 설치:
    pip install -r requirements.txt

용법

  1. MCP 서버를 시작합니다(한 터미널에서):
    python server/server.py
  2. (다른 터미널에서) MCP 클라이언트를 실행합니다.
    python client/client.py

클라이언트는 서버에 연결하고, MCP 핸드셰이크를 수행하고, 기능을 검색하고, 도구를 호출하고, 포맷된 출력을 통해 리소스에 액세스하는 방법을 보여줍니다.

작동 원리

MCP 서버

서버:

  • WebSocket 연결을 허용합니다
  • MCP 사양에 따라 JSON-RPC 요청에 응답합니다.
  • 샘플 도구( add_numbers )를 제공합니다.
  • 샘플 리소스( example.txt )를 제공합니다.
  • MCP 핸드셰이크 및 기능 검색을 지원합니다.

MCP 클라이언트

고객:

  • WebSocket을 통해 서버에 연결합니다
  • MCP 핸드셰이크를 수행합니다.
  • 사용 가능한 도구와 리소스를 발견합니다
  • 도구 호출 및 리소스 읽기를 보여줍니다.
  • 결과를 형식화된 디스플레이로 표시합니다.

프로토콜 세부 정보

MCP는 다음과 같은 주요 방법을 구현합니다.

방법설명
initialize역량 확립을 위한 핸드셰이크
tools/list사용 가능한 도구 나열
tools/call인수를 사용하여 도구 호출
resources/list사용 가능한 리소스 나열
resources/read리소스 콘텐츠 읽기
prompts/list사용 가능한 프롬프트 나열

프로젝트 확장

다음을 통해 이 구현을 확장할 수 있습니다.

  • 다양한 기능을 갖춘 도구 추가
  • 읽을 때마다 변경되는 동적 리소스 추가
  • 가이드 상호작용을 위한 프롬프트 템플릿 구현
  • 더욱 상호 작용적인 클라이언트 애플리케이션 만들기

참고문헌

-
security - not tested
F
license - not found
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

JSON-RPC를 통한 도구 호출 및 리소스 액세스를 지원하여 표준화된 프로토콜을 통해 AI 모델이 외부 도구 및 데이터 소스에 연결할 수 있도록 하는 MCP 서버의 Python 구현입니다.

  1. MCP란 무엇인가요?
    1. 프로젝트 구조
      1. 시연된 기능
        1. 설정
          1. 용법
            1. 작동 원리
              1. MCP 서버
              2. MCP 클라이언트
            2. 프로토콜 세부 정보
              1. 프로젝트 확장
                1. 참고문헌

                  Related MCP Servers

                  • -
                    security
                    F
                    license
                    -
                    quality
                    Implements the Model Context Protocol (MCP) to provide AI models with a standardized interface for connecting to external data sources and tools like file systems, databases, or APIs.
                    Last updated -
                    90
                    Python
                    • Apple
                    • Linux
                  • -
                    security
                    A
                    license
                    -
                    quality
                    A streamlined foundation for building Model Context Protocol servers in Python, designed to make AI-assisted development of MCP tools easier and more efficient.
                    Last updated -
                    13
                    Python
                    MIT License
                  • -
                    security
                    F
                    license
                    -
                    quality
                    A simple demonstration project for the Model Control Protocol (MCP) server that provides tools for AI assistants to fetch news articles, perform calculations, retrieve weather data, and generate personalized greetings.
                    Last updated -
                    Python

                  View all related MCP servers

                  ID: 35niv312p3