Token导航 LogoToken导航TokenDH.com
Web Auth MCP logo
浏览器工具stdio官方级别未说明来源级核验

Web Auth MCP

MCP Server

一个处理HTTP请求并支持基于浏览器的自动认证的MCP服务器,适用于OAuth流程和登录表单。

工具数

1

提示词数

0

GitHub Stars

1

资源数

0
浏览器自动化PythonClaudeClaude DesktopClaude

安装说明

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

作者 / 组织

ablagodarenko

提供方

ablagodarenko

最后核验

2026/5/17 20:23

运行时

Python

快速接入

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

命令预览

python3 -m venv venv

详细介绍

Web认证MCP服务器

一种MCP(模型上下文协议)服务器,通过基于浏览器的自动身份验证处理HTTP请求。

特性

  • 通过MCP工具执行HTTP请求
  • 自动检测身份验证要求
  • OAuth流和登录表单的基于浏览器的身份验证
  • Chrome密码管理器集成 -自动使用保存的密码
  • 自动填写和提交表格 -简化登录流程
  • 使用捕获的身份验证凭据重试请求
  • 支持Cookie、令牌和会话管理
  • 可配置的浏览器配置文件(系统或临时)

安装

快速安装

./install.sh

手动安装

# Create virtual environment
python3 -m venv venv
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Install package
pip install -e .

用法

运行MCP服务器

标准模式(默认)

# Activate virtual environment
source venv/bin/activate

# Run the server with stdio transport
web-auth-mcp

HTTP/SSE模式

# Activate virtual environment
source venv/bin/activate

# Run the server with HTTP transport on default port 8080
web-auth-mcp-http

# Or specify custom host and port
web-auth-mcp --http 0.0.0.0 8080

# Access the server at: http://localhost:8080/sse

MCP客户端配置

用于标准运输

添加到您的MCP客户端配置中(例如,Claude Desktop):

{
  "mcpServers": {
    "web-auth-mcp": {
      "command": "python",
      "args": ["-m", "web_auth_mcp.server"],
      "env": {
        "BROWSER_HEADLESS": "false",
        "BROWSER_TIMEOUT": "60"
      }
    }
  }
}

用于HTTP/SSE传输

配置您的MCP客户端以连接到HTTP端点:

{
  "mcpServers": {
    "web-auth-mcp": {
      "url": "http://localhost:8080/sse",
      "env": {
        "BROWSER_HEADLESS": "false",
        "BROWSER_TIMEOUT": "60"
      }
    }
  }
}

测试

# Run tests
pytest

# Run example
python example_usage.py

配置

创建一个 .env 具有可选配置的文件:

# Browser configuration
BROWSER_HEADLESS=false
BROWSER_TIMEOUT=60
BROWSER_WINDOW_SIZE=1920x1080

# Chrome Password Manager (NEW!)
BROWSER_USE_DEFAULT_PROFILE=false
BROWSER_ENABLE_PASSWORD_MANAGER=true
BROWSER_AUTO_FILL_PASSWORDS=true

# Authentication configuration
AUTH_CACHE_TTL=3600
AUTH_RETRY_ATTEMPTS=3

# Authentication timing (fixes quick closing issue)
BROWSER_TIMEOUT=300
MANUAL_AUTH_TIMEOUT=180
AUTH_WAIT_TIME=10

# Logging configuration
LOG_LEVEL=INFO
SUPPRESS_MCP_WARNINGS=true

Chrome密码管理器集成

服务器现在支持使用Chrome保存的密码进行自动身份验证:

快速开始

  1. 启用密码管理器功能:
   export BROWSER_ENABLE_PASSWORD_MANAGER=true
   export BROWSER_AUTO_FILL_PASSWORDS=true
   export BROWSER_HEADLESS=false
  1. 选择配置文件模式:

- 系统配置文件 (访问所有已保存的密码):

     export BROWSER_USE_DEFAULT_PROFILE=true

- 临时配置文件 (仅限会话密码):

     export BROWSER_USE_DEFAULT_PROFILE=false
  1. 测试功能:
   python test_password_manager.py
   python example_password_manager.py

运作原理

  1. 自动检测:检测网页上的登录表单
  2. Chrome自动填充:触发Chrome的内置密码自动填充
  3. 表格提交:找到凭据时自动提交表单
  4. 后备方案:如果自动填充失败,则可以进行手动交互

支持的登录表单

  • 标准HTML登录表单
  • 电子邮件/用户名+密码组合
  • 常见的表单字段模式和选择器
  • 各种提交按钮类型

有关详细文档,请参阅 CHROME_PASSWORD_MANAGER.md.

故障排除

MCP初始化警告

您可能会看到以下警告:

WARNING - Failed to validate request: Received request before initialization was complete

这是正常的MCP协议行为 并且不影响功能。这些警告发生在初始化完成之前收到请求的客户端-服务器握手过程中。

要抑制这些警告:

export SUPPRESS_MCP_WARNINGS=true
# or add to your .env file:
echo "SUPPRESS_MCP_WARNINGS=true" >> .env

无论这些警告如何,服务器都将继续正常运行。

工具

http_request

执行带有自动身份验证处理的HTTP请求。

参数:

  • url (string):要请求的URL
  • method (string):HTTP方法(GET、POST、PUT、DELETE等)
  • headers (object,可选):请求标头
  • body (string,可选):请求正文
  • auth_required (布尔值,可选):强制身份验证流

退货:

  • 响应状态、标头和正文
  • 如果执行了身份验证,则提供身份验证详细信息

运作原理

  1. HTTP请求:服务器通过MCP工具接收HTTP请求
  2. 身份验证检测:通过检查以下内容来检查是否需要身份验证:

- HTTP状态码(401403) - 将响应重定向到登录页面 - 内容指示器(“请登录”等) - WWW身份验证标头

  1. 浏览器身份验证:如果需要身份验证:

- 打开浏览器窗口(无头或可见) - 导航到需要身份验证的URL - 等待用户完成身份验证 - 提取身份验证数据(Cookie、令牌、标头)

  1. 请求重试:使用身份验证数据检索原始请求
  2. 响应:返回带有身份验证状态的最终响应

支持的身份验证类型

  • OAuth 2.0流程 (授权码、隐式等)
  • 基于表单的登录 (用户名/密码表单)
  • 基于Cookie的会话
  • 基于令牌的身份验证 (JWT,不记名代币)
  • CSRF保护 (自动提取令牌)

浏览器自动化

服务器使用Selenium WebDriver和Chrome来处理身份验证:

  • 支持无头和可见浏览器模式
  • 自动检测身份验证完成
  • 从localStorage、sessionStorage和Cookie中提取令牌
  • 处理来自元标签的CSRF令牌
  • 可配置的超时和窗口大小

故障排除

浏览器问题

浏览器无法打开:

  • 检查一下 BROWSER_HEADLESS=false (默认)
  • 确保您的系统上安装了Chrome

浏览器打开但未关闭:

  • 服务器自动检测身份验证完成
  • 等待成功消息:“✅ 身份验证已成功完成!"
  • 如果卡住,请检查您是否已完全完成登录过程

身份验证超时:

  • 增加超时时间: BROWSER_TIMEOUT=120 (默认值:60秒)
  • 确保在超时时间内完成身份验证

常见解决方案

# Force visible browser
export BROWSER_HEADLESS=false

# Increase timeout
export BROWSER_TIMEOUT=120

# Debug mode
export LOG_LEVEL=DEBUG

目录标签

目录标签

浏览器自动化PythonClaude本地部署认证管理HTTP请求处理OAuth支持密码管理

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

oauth

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiooauth部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP