MCP Cookie
一种模型上下文协议(MCP)服务器,为LLM提供cookie感知的web获取功能。此服务器允许LLM从已安装的浏览器中使用Cookie获取web内容和下载文件,并在Cookie过期时自动处理身份验证流。
特性
- 多浏览器支持:从Chrome、Edge、Brave、Opera、Firefox和Safari中提取Cookie
- 交叉平台的:适用于Windows、macOS和Linux(支持特定于平台的浏览器)
- 自动登录处理:检测过期的Cookie并打开浏览器进行重新身份验证
- 智能Cookie提取:仅从请求的特定浏览器中提取Cookie
- 默认浏览器检测:自动检测并使用系统的默认浏览器
- 大文件支持:大文件的流式下载和进度报告
- 二进制文件支持:正确处理文本和二进制文件下载
安装
npm install用法
作为MCP服务器
添加到MCP客户端配置中:
{
"mcpServers": {
"cookies": {
"command": "node",
"args": ["/path/to/mcp-cookies/index.js"]
}
}
}可用工具
fetch_with_cookies
使用浏览器Cookie获取URL。
{
url: string, // URL to fetch
browser?: string, // Browser to use (default: system default)
auto_login?: boolean // Auto-open browser if login needed (default: true)
}download_with_cookies
使用浏览器Cookie将文件下载到磁盘。
{
url: string, // URL to download
output_path?: string, // Where to save (optional)
browser?: string, // Browser to use (default: system default)
auto_login?: boolean // Auto-open browser if login needed (default: true)
}浏览器支持
| 浏览器 | Windows | macOS | Linux |
|---|---|---|---|
| Chrome | ✅ | ✅ | ✅ |
| 边缘 | ✅ | ✅ | ✅ |
| 勇敢 | ✅ | ✅ | ✅ |
| 歌剧 | ✅ | ✅ | ✅ |
| 火狐浏览器 | ✅ | ✅ | ✅ |
| Safari | ❌ | ✅ | ❌ |
运作原理
- Cookie提取:服务器直接从浏览器cookie存储中读取cookie:
- Chromium浏览器:用途 chrome-cookies-secure 解密Cookie - Firefox:从SQLite数据库读取(cookies.sqlite) - Safari:用途 @mherod/get-cookie 在 macOS 上
- 登录检测:在获取/下载时,服务器通过以下方式检测登录页面:
- 使用登录指示器检查重定向到不同域的情况 - 扫描登录表单的HTML内容 - 识别常见的SSO提供者(Okta、Auth0等)
- 自动重新身份验证:如果需要登录:
- 打开用户的浏览器进入登录页面 - 等待身份验证完成(每5秒检查一次) - 使用新Cookie自动重试 - 返回最初请求的内容
发展
# Run the server
npm start
# Run in development mode
node index.js安全考虑
- Cookie仅从本地浏览器存储中读取
- MCP服务器不传输或存储Cookie
- Cookie仅用于请求的特定域
- 所有cookie访问都是只读的
需求
- Node.js 18+
- 已安装支持的浏览器
- Windows:某些浏览器可能需要升级
- macOS:可能需要Chrome/Edge的钥匙链访问权限
许可证
麻省理工学院
