PS

panz2018/starlette_mcp_sse

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

8 stars 5 forks 质量 55 趋势 16MIT

A working example to create a starlette server with SSE-based MCP support

概览

A Server-Sent Events (SSE) implementation using Starlette framework with Model Context Protocol (MCP) integration. The Model Context Protocol (MCP) is an open standard that enables AI models to interact with external tools and data sources. MCP solves several key challenges in AI development: - : Allows models to access up-to-date information beyond their training data - : Provides a standardized way for models to use external tools and APIs - : Creates a common interface between different AI models and tools - : Makes it easy to add new capabilities to AI systems without retraining This project demonstrates how to implement MCP using Server-Sent Events (SSE) in a Starlette web application. This project demonstrates how to implement Server-Sent Events (SSE) using the Starlette framework while integrating Model Context Protocol (MCP) functionality.

README

以下为原文 README 节选,完整内容请查看原文。

Starlette MCP SSE

English | 简体中文

A Server-Sent Events (SSE) implementation using Starlette framework with Model Context Protocol (MCP) integration.

What is MCP?

The Model Context Protocol (MCP) is an open standard that enables AI models to interact with external tools and data sources. MCP solves several key challenges in AI development:

  • Context limitations: Allows models to access up-to-date information beyond their training data
  • Tool integration: Provides a standardized way for models to use external tools and APIs
  • Interoperability: Creates a common interface between different AI models and tools
  • Extensibility: Makes it easy to add new capabilities to AI systems without retraining

This project demonstrates how to implement MCP using Server-Sent Events (SSE) in a Starlette web application.

Description

This project demonstrates how to implement Server-Sent Events (SSE) using the Starlette framework while integrating Model Context Protocol (MCP) functionality. The key feature is the seamless integration of MCP’s SSE capabilities within a full-featured Starlette web application that includes custom routes.

Features

  • Server-Sent Events (SSE) implementation with MCP
  • Starlette framework integration with custom routes
  • Unified web application with both MCP and standard web endpoints
  • Customizable route structure
  • Clean separation of concerns between MCP and web functionality

Architecture

This project showcases a modular architecture that:

  1. Integrates MCP SSE endpoints (/sse and /messages/) into a Starlette application
  2. Provides standard web routes (/, /about, /status, /docs)
  3. Demonstrates how to maintain separation between MCP functionality and web routes

Installation & Usage Options

Prerequisites

Install UV Package Manager - A fast Python package installer written in Rust:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Option 1: Quick Run Without Installation

Run the application directly without cloning the repository using UV’s execution tool:

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

Option 2: Full Installation

Create Virtual Environment

Create an isolated Python environment for the project:

uv venv

Activate Virtual Environment

Activate the virtual environment to use it:

.venv\Scripts\activate

Install Dependencies

Install all required packages:

uv pip install -r pyproject.toml

Start the Integrated Server

Launch the integrated Starlette server with MCP SSE functionality:

python src/server.py

or

uv run start

Available Endpoints

在 GitHub 查看完整 README

安装

uvx --from git+https://github.com/panz2018/starlette_mcp_sse.git start
新手?先看 mcpskill.org 教程 →