Token导航 LogoToken导航TokenDH.com
MCP Oauth2 Server logo
安全风控stdio官方级别未说明来源级核验

MCP Oauth2 Server

MCP Server

一个安全的模型上下文协议(MCP)服务器,提供OAuth 2.1认证,并通过Tavily API实现网页搜索功能。

工具数

1

提示词数

0

GitHub Stars

0

资源数

0
FastAPI搜索Python

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Govindmallurwar

提供方

Govindmallurwar

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -e .

详细介绍

🔐 MCP服务器的OAuth2身份验证

![Python](https://www.python.org/downloads/) ![FastAPI](https://fastapi.tiangolo.com/) ![MCP](https://modelcontextprotocol.io/) ![License](LICENSE) ![OAuth2.1](https://oauth.net/2.1/)

安全 模型上下文协议(MCP)服务器 随着 OAuth 2.1身份验证 通过Tavily API提供网络搜索功能。采用FastAPI构建,专为企业级安全而设计。

🚀 特性

  • 🔐 OAuth 2.1身份验证 -使用Scalekit授权服务器的企业级安全
  • 🌐 Web搜索集成 -由Tavily API提供实时网络搜索功能
  • ⚡ FastAPI性能 -具有自动API文档的高性能异步服务器
  • 🛡️ MCP合规性 -完全符合模型上下文协议授权规范
  • 🎯 基于范围的授权 -具有自定义作用域的细粒度访问控制
  • 📊 令牌验证 -具有受众检查功能的强大令牌验证
  • 🔒 安全最佳实践 -PKCE支持、正确的错误处理和安全默认值

🏗️ 建筑

此MCP服务器采用以下安全架构:

  • OAuth 2.1流程:使用Scalekit完成授权流程
  • MCP协议:LLM和工具之间的标准化沟通
  • 网络搜索工具:Tavily驱动的搜索功能
  • 中间件安全:请求级身份验证和授权

📋 先决条件

🛠️ 安装

1.克隆存储库

git clone https://github.dev/Govindmallurwar/mcp-oauth2-server.git
cd mcp-oauth2-server

2.安装依赖项

# Using pip
pip install -e .

# Or using uv (recommended)
uv sync

3.环境配置

创建一个 .env 使用您的配置文件:

# Scalekit Configuration
SCALEKIT_ENVIRONMENT_URL=https://your-company.scalekit.com
SCALEKIT_CLIENT_ID=your_client_id
SCALEKIT_CLIENT_SECRET=your_client_secret
SCALEKIT_AUDIENCE_NAME=your_audience_name

# Server Configuration
PORT=10000

# Tavily API Configuration
TAVILY_API_KEY=your_tavily_api_key_here

4.Scalekit设置

  1. 引导到 MCP服务器 在Scalekit仪表板中
  2. 点击 添加MCP服务器
  3. 配置:

- 服务器名称:“Web搜索MCP服务器” - 资源标识符:您的服务器URL - 允许动态客户端注册: ✅ 启用 - 访问令牌寿命:300-3600秒 - 范围: search:read

🚀 快速开始

运行服务器

python src/server.py

服务器将于启动 http://localhost:10001

📚 API文档

OAuth发现端点

  • GET /.well-known/oauth-protected-resource/mcp -MCP资源元数据

MCP端点

  • POST /tools/call -执行web搜索工具(需要身份验证)

身份验证流程

  1. 发现:客户端通过元数据端点发现授权服务器
  2. 注册:使用Scalekit进行动态客户端注册
  3. 授权OAuth 2.1 流程与 PKCE
  4. 令牌使用情况:授权标头中的承载令牌
  5. 验证:服务器验证令牌并检查作用域

🔧 配置

环境变量

变量描述必填
SCALEKIT_ENVIRONMENT_URL您的Scalekit环境URL
SCALEKIT_CLIENT_IDScalekit客户端ID
SCALEKIT_CLIENT_SECRETScalekit客户端机密
SCALEKIT_AUDIENCE_NAME令牌受众标识符
PORT服务器端口(默认值:10001)
TAVILY_API_KEYTavilly API网络搜索密钥

安全设置

服务器实现了几个安全功能:

  • 令牌受众验证:确保为此特定服务器颁发令牌
  • 基于范围的授权:控制对网络搜索功能的访问
  • PKCE 支持:防止授权码被拦截
  • 正确的错误响应:根据MCP规范返回WWW-Authenticate标头

🔍 故障排除

常见问题

问题解决方案
令牌验证失败检查 SCALEKIT_AUDIENCE_NAME 匹配Scalekit配置
客户端注册失败验证Scalekit环境URL和凭据
Web搜索无效确保Tavily API密钥有效且具有配额
CORS错误配置 allow_origins 生产中

调试模式

启用调试日志记录:

import logging
logging.basicConfig(level=logging.DEBUG)

健康检查

# Check OAuth metadata
curl http://localhost:10000/.well-known/oauth-protected-resource/mcp

📁 项目结构

mcp-oauth2-server/
├── src/
│   ├── server.py          # Main FastAPI server
│   ├── auth.py            # OAuth middleware
│   ├── tavily_mcp.py      # MCP server implementation
│   └── config.py          # Configuration management
├── docs/
├── pyproject.toml         # Project dependencies
├── .env                   # Environment with placeholder
└── README.md              # This file

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

目录标签

目录标签

FastAPI搜索PythonOAuth2认证本地部署网页搜索企业级安全MCP协议

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP