FastAPI SSE MCP Случайный
Сервер FastAPI, реализующий протокол контекста модели (MCP) с использованием Server-Sent Events (SSE) для потоковой связи. Этот проект предоставляет различные утилиты, включая генерацию случайных чисел, генерацию изображений с использованием Azure OpenAI DALL-E и генерацию подкастов на основе ИИ.
Функции
События, отправленные сервером (SSE) для потоковой передачи данных в реальном времени
Реализация протокола контекста модели (MCP) для использования структурированного инструмента
Несколько вспомогательных инструментов :
Инструмент и ресурсы Echo
Генератор случайных чисел
Генерация изображений через Azure OpenAI DALL-E 3
Генерация подкастов с помощью ИИ
«Инструмент для размышлений» для рефлексивных ответов
Related MCP server: MyAIServ MCP Server
Предпосылки
Питон 3.10+
Доступ к API Azure OpenAI (для создания изображений)
Установка
Клонируйте репозиторий:
git clone <repository-url>
cd fastapi_sse_mcp_randomУстановите зависимости:
pip install -r requirements.txtИли с помощью uv :
uv pip install -e .Использование
Запуск сервера
Запустите сервер с помощью:
python main.pyСервер запустится по адресу http://0.0.0.0:8000
Доступные конечные точки
GET /: Конечная точка проверки работоспособностиGET /sse/: конечная точка соединения SSEPOST /messages/: Конечная точка для клиентских сообщений
Доступные инструменты
Эхо-инструмент
{
"name": "echo_tool",
"parameters": {
"message": "Hello, world!"
}
}Генератор случайных чисел
{
"name": "random_number",
"parameters": {
"min_value": 1,
"max_value": 100
}
}Генерация изображения
{
"name": "generate_image",
"parameters": {
"prompt": "A beautiful landscape with mountains and a lake"
}
}Генерация подкастов
{
"name": "generate_podcast",
"parameters": {
"prompt": "The future of artificial intelligence",
"duration": 5,
"name1": "Mark",
"voice1": "Thomas",
"name2": "Sophia",
"voice2": "Emily"
}
}Инструмент для размышлений
{
"name": "think_tool",
"parameters": {
"input": "What are the implications of quantum computing?"
}
}Структура проекта
main.py: Основное приложение FastAPI и реализация инструментов MCPsse.py: реализация событий, отправленных сервером (SSE)pyproject.toml: метаданные и зависимости проектаrequirements.txt: список основных зависимостей
Зависимости
FastAPI: веб-фреймворк для создания API
MCP: реализация протокола контекста модели
OpenAI: Клиент для служб Azure OpenAI
Uvicorn: ASGI-сервер для запуска приложений FastAPI
Запросы: HTTP-библиотека для вызовов API
Лицензия
[Укажите здесь вашу лицензию]
Внося вклад
[Инструкции по внесению вклада в проект]