Skip to main content
Glama

FastAPI MCP SSE

MCP(Model Context Protocol) 통합을 갖춘 FastAPI 프레임워크를 사용한 SSE(Server-Sent Events) 구현.

MCP란 무엇인가요?

모델 컨텍스트 프로토콜(MCP)은 AI 모델이 외부 도구 및 데이터 소스와 상호 작용할 수 있도록 하는 개방형 표준입니다. MCP는 AI 개발의 몇 가지 주요 과제를 해결합니다.

  • 컨텍스트 제한 : 모델이 훈련 데이터 외의 최신 정보에 액세스할 수 있도록 허용합니다.

  • 도구 통합 : 모델이 외부 도구 및 API를 사용할 수 있는 표준화된 방법을 제공합니다.

  • 상호 운용성 : 다양한 AI 모델과 도구 간에 공통 인터페이스를 생성합니다.

  • 확장성 : 재교육 없이 AI 시스템에 새로운 기능을 쉽게 추가할 수 있습니다.

이 프로젝트는 FastAPI 웹 애플리케이션에서 SSE(Server-Sent Events)를 사용하여 MCP를 구현하는 방법을 보여줍니다.

Related MCP server: Python MCP Cat Facts

설명

이 프로젝트는 FastAPI 프레임워크를 사용하여 서버 전송 이벤트(SSE)를 구현하고 MCP(Model Context Protocol) 기능을 통합하는 방법을 보여줍니다. 핵심 기능은 사용자 지정 경로를 포함하는 모든 기능을 갖춘 FastAPI 웹 애플리케이션에 MCP의 SSE 기능을 원활하게 통합하는 것입니다.

특징

  • MCP를 사용한 SSE(Server-Sent Events) 구현

  • 사용자 정의 경로와 FastAPI 프레임워크 통합

  • MCP와 표준 웹 엔드포인트를 모두 갖춘 통합 웹 애플리케이션

  • 사용자 정의 가능한 경로 구조

  • MCP와 웹 기능 간의 문제를 깔끔하게 분리

건축학

이 프로젝트는 다음과 같은 모듈식 아키텍처를 보여줍니다.

  1. MCP SSE 엔드포인트( /sse/messages/ )를 FastAPI 애플리케이션에 통합합니다.

  2. 표준 웹 경로( / , /about , /status , /docs , /redoc )를 제공합니다.

  3. MCP 기능과 웹 경로 간의 분리를 유지하는 방법을 보여줍니다.

설치 및 사용 옵션

필수 조건

UV 패키지 관리자 설치 - Rust로 작성된 빠른 Python 패키지 설치 프로그램:

지엑스피1

옵션 1: 설치 없이 빠른 실행

UV의 실행 도구를 사용하여 저장소를 복제하지 않고 애플리케이션을 직접 실행합니다.

uvx --from git+https://github.com/panz2018/fastapi_mcp_sse.git start

옵션 2: 전체 설치

가상 환경 만들기

프로젝트에 대한 격리된 Python 환경을 만듭니다.

uv venv

가상 환경 활성화

가상 환경을 활성화하여 사용하세요:

.venv\Scripts\activate

종속성 설치

필요한 모든 패키지를 설치하세요:

uv pip install -r pyproject.toml

통합 서버 시작

MCP SSE 기능이 포함된 통합 FastAPI 서버를 시작합니다.

python src/server.py

또는

uv run start

사용 가능한 엔드포인트

서버를 시작한 후(옵션 1 또는 옵션 2 사용) 다음 엔드포인트를 사용할 수 있습니다.

MCP Inspector로 디버그

MCP 기능을 테스트하고 디버깅하려면 MCP Inspector를 사용하세요.

mcp dev ./src/weather.py

MCP Inspector에 연결

  1. http://localhost:5173 에서 MCP Inspector를 엽니다.

  2. 연결을 구성합니다.

기능 테스트

  1. Tools 섹션으로 이동

  2. 사용 가능한 기능을 보려면 List Tools 클릭하세요.

    • get_alerts : 날씨 알림 받기

    • get_forcast : 날씨 예보 받기

  3. 기능을 선택하세요

  4. 필수 매개변수를 입력하세요

  5. 실행하려면 Run Tool 클릭하세요.

애플리케이션 확장

사용자 정의 경로 추가

애플리케이션 구조 덕분에 FastAPI의 APIRouter를 사용하여 새로운 경로를 쉽게 추가할 수 있습니다.

  1. APIRouter를 사용하여 routes.py에 새로운 경로 핸들러를 정의합니다.

    @router.get("/new-route") async def new_route(): return {"message": "This is a new route"}
  2. 라우터로 정의된 모든 경로는 자동으로 기본 애플리케이션에 포함됩니다.

MCP 통합 사용자 정의

MCP SSE 기능은 다음을 통해 server.py에 통합됩니다.

  • SSE 전송 생성

  • SSE 핸들러 설정

  • FastAPI 애플리케이션에 MCP 경로 추가

Continue 와의 통합

Continue VS Code 확장 프로그램과 함께 이 MCP 서버를 사용하려면 Continue 설정에 다음 구성을 추가하세요.

{ "experimental": { "modelContextProtocolServers": [ { "transport": { "name": "weather", "type": "sse", "url": "http://localhost:8000/sse" } } ] } }
-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/panz2018/fastapi_mcp_sse'

If you have feedback or need assistance with the MCP directory API, please join our Discord server