Itinai.com a website with a catalog of works by branding spec dd70b183 f9d7 4272 8f0f 5f2aecb9f42e 0

Реализация OAuth 2.1 для MCP-серверов с Scalekit: пошаговое руководство

Itinai.com a website with a catalog of works by branding spec dd70b183 f9d7 4272 8f0f 5f2aecb9f42e 0

Внедрение OAuth 2.1 для MCP серверов с помощью Scalekit: пошаговое руководство по кодированию

В этой статье мы обсудим, как осуществить внедрение OAuth 2.1 для MCP серверов, используя Scalekit, и сделаем это на примере создания простого сервера анализа новостей о финансах. Этот процесс позволит вам обеспечить безопасность вашего сервера, упростив работу с аутентификацией и авторизацией.

Применение OAuth 2.1 в современном бизнесе

OAuth 2.1 — это протокол авторизации, который значительно упрощает взаимодействие между пользователем и приложением. Он обеспечивает безопасность, позволяя приложениям получать ограниченный доступ к данным пользователя без необходимости передачи паролей. Внедрение этого протокола поможет вашему бизнесу защитить конфиденциальные данные и повысить уровень доверия клиентов.

Подготовка необходимых зависимостей

Перед началом работы убедитесь, что у вас установлены все необходимые инструменты и библиотеки:

  • API Alpha Vantage: используйте его для получения новостей финансирования. Для получения бесплатного ключа API перейдите на платформу Alpha Vantage и зарегистрируйтесь.
  • Node.js: установите последнюю версию с официального сайта nodejs.org. Это необходимо для тестирования вашего приложения.
  • Python библиотеки: установите нужные пакеты с помощью команды pip install fastapi fastmcp mcp scalekit-sdk-python.

Создание учетной записи Scalekit

Scalekit значительно облегчает работу с OAuth. Создайте учетную запись на сайте scalekit.com и активируйте полную аутентификацию. Настройте необходимые разрешения в панели авторизации, добавив разрешение news:read для получения данных о новостях из Alpha Vantage.

Настройка MCP сервера

Теперь добавьте ваш MCP сервер в интерфейс Scalekit:

  • Укажите уникальный идентификатор ресурса и настройте его для локального тестирования.
  • Получите ваши API учётные данные, включая Client ID и Secret Key, которые будут нужны для конфигурации.

Создание конфигурационного файла

Создайте файл config.py, чтобы загрузить все переменные окружения:

import os
from dotenv import load_dotenv

load_dotenv()

class Settings():
    ALPHA_VANTAGE_API_KEY = os.environ.get('ALPHA_VANTAGE_API_KEY')
    # Другие переменные окружения
settings = Settings()

Логика анализа новостей

Теперь создадим логику для получения данных о новостях с помощью API Alpha Vantage. Используйте следующий код для получения последней информации:

from mcp.server.fastmcp import FastMCP
import httpx
from config import settings

mcp = FastMCP("finance-news")

async def call_alpha_vantage(endpoint: str, params: dict) -> dict:
    params["apikey"] = settings.ALPHA_VANTAGE_API_KEY
    async with httpx.AsyncClient() as client:
        response = await client.get(BASE_URL, params=params)
        return response.json()

Создание промежуточного ПО авторизации

Разработаем промежуточное ПО, которое будет проверять входящие запросы. Оно обеспечит, чтобы только авторизованные запросы обрабатывались вашим сервером:

from fastapi import HTTPException, Request
from scalekit import ScalekitClient

class AuthMiddleware(BaseHTTPMiddleware):
    async def dispatch(self, request: Request, call_next):
        # Проверка токена
        if not valid_token:
            raise HTTPException(status_code=401, detail="Unauthorized")
        return await call_next(request)

Запуск сервера

Запустите сервер, выполнив команду python server.py. Для тестирования используйте любой клиент API, чтобы отправить запросы к вашему MCP серверу. При отсутствии правильных учетных данных вы получите ошибку аутентификации.

Преимущества использования Scalekit и OAuth 2.1

Внедрение OAuth 2.1 с использованием Scalekit позволяет не только упростить процесс авторизации, но и значительно улучшить безопасность вашего приложения. Вы получаете:

  • Автоматизацию обработки токенов, что сокращает время разработки.
  • Упрощение интеграции с сторонними API.
  • Повышение доверия пользователей к вашему приложению.

Заключение

Внедрение OAuth 2.1 для MCP серверов с помощью Scalekit — это инвестиция, которая окупится благодаря повышению безопасности и упрощению работы с авторизацией. Следуйте нашим рекомендациям, и ваш сервер будет готов к безопасной работе с клиентами.

Новости в сфере искусственного интеллекта