
alejandro-ao/mcp-fastapi-auth
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
Демоверсия MCP Auth в FastAPI с OAuth 2.1 и ScaleKit
Обзор
Это защищенный сервер Model Context Protocol (MCP), который реализует аутентификацию OAuth 2.1 с использованием Scalekit в качестве сервера авторизации. Сервер предоставляет возможности веб-поиска через API Tavily, обеспечивая надлежащую аутентификацию и авторизацию. MCP (Model Context Protocol) - это протокол, предназначенный для связи между LLM и инструментами или ресурсами. Эта реализация добавляет безопасность корпоративного уровня через аутентификацию OAuth 2.1, что делает ее пригодной для развертывания производства, где контроль доступа имеет решающее значение. - : Безопасный доступ с использованием сервера авторизации Scalekit - : Реализует спецификацию авторизации MCP - : Обеспечивает функциональность веб-поиска через API Tavily - : Поддерживает автоматическую регистрацию клиентов - : Проверяет токены доступа с надлежащей проверкой аудитории - : Реализует PKCE, правильную обработку ошибок и проверку аудитории токенов 1. : Зарегистрируйтесь на Scalekit 2. : Получите ключ API от Tavily 3.
Обзор (машинный перевод)
Это защищенный сервер Model Context Protocol (MCP), который реализует аутентификацию OAuth 2.1 с использованием Scalekit в качестве сервера авторизации. Сервер предоставляет возможности веб-поиска через API Tavily, обеспечивая надлежащую аутентификацию и авторизацию.
Что такое MCP?
MCP (Model Context Protocol) - это протокол, предназначенный для связи между LLM и инструментами или ресурсами. Эта реализация добавляет безопасность корпоративного уровня через аутентификацию OAuth 2.1, что делает ее пригодной для развертывания производства, где контроль доступа имеет решающее значение.
Особенности
** 2.1 Аутентификация** Безопасный доступ к серверу авторизации Scalekit MCP Compliance: Внедрение спецификации авторизации MCP Веб-поиск: Функциональность веб-поиска через Tavily API ** Динамическая регистрация клиентов** Поддержка автоматической регистрации клиентов ** Проверка токенов**: Проверяет доступ к токенам с надлежащей проверкой аудитории ** Лучшие практики безопасности**: внедрение PKCE, правильная обработка ошибок и проверка аудитории токенов
Предпосылки
1Учетная запись Skalekit: Зарегистрируйтесь в Scalekit 2. Ключ API: Получите ключ API от Tavily 3. **Питон 3.
Эта страница переведена автоматически. Технические детали смотрите в оригинале.
README
Показан фрагмент оригинального README. Открыть оригинал.
MCP Server with OAuth 2.1 Authentication
This is a secure Model Context Protocol (MCP) server that implements OAuth 2.1 authentication using Scalekit as the authorization server. The server provides web search capabilities through the Tavily API while ensuring proper authentication and authorization.
What is MCP?
MCP (Model Context Protocol) is a protocol designed for communication between LLMs and tools or resources. This implementation adds enterprise-grade security through OAuth 2.1 authentication, making it suitable for production deployments where access control is critical.
Features
- OAuth 2.1 Authentication: Secure access using Scalekit authorization server
- MCP Compliance: Implements the MCP authorization specification
- Web Search: Provides web search functionality via Tavily API
- Dynamic Client Registration: Supports automatic client registration
- Token Validation: Validates access tokens with proper audience checking
- Security Best Practices: Implements PKCE, proper error handling, and token audience validation
Prerequisites
- Scalekit Account: Sign up at Scalekit
- Tavily API Key: Get your API key from Tavily
- Python 3.11+: Required for running the server
Setup
1. Install Dependencies
pip install -e .
2. Configure Environment Variables
Copy the example environment file and configure your settings:
cp .env.example .env
Edit .env with your actual values:
# Your Scalekit environment URL
SCALEKIT_ENVIRONMENT_URL=https://your-company.scalekit.com
# Your MCP server's resource identifier
RESOURCE_IDENTIFIER=https://your-mcp-server.com
# Server port (optional)
PORT=10000
# Tavily API key
TAVILY_API_KEY=your_tavily_api_key_here
3. Configure Scalekit
In the Scalekit dashboard:
- Navigate to MCP servers and click Add MCP server
- Configure your server:
- Server name: “Web Search MCP Server”
- Resource identifier: Your server URL (e.g.,
https://your-mcp-server.com) - Allow dynamic client registration: Enable this
- Access token lifetime: 300-3600 seconds
- Scopes:
web-search:read,web-search:write
Running the Server
python src/server.py
The server will start on http://localhost:10000 (or your configured port).
API Endpoints
OAuth Discovery Endpoints
GET /.well-known/oauth-protected-resource- Resource metadata for MCP client discoveryGET /.well-known/oauth-authorization-server- Authorization server metadata (proxied from Scalekit)
OAuth Endpoints
POST /oauth/register- Dynamic client registration (proxied to Scalekit)
MCP Endpoints
POST /web-search/mcp- Main MCP endpoint (requires authentication)
Authentication Flow
Установка
This server does not publish a one-line install command.
Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →