browserslist-mcp(可译为“浏览器列表多配置处理程序”或根据具体上下文简化为“浏览器列表 MCP”)
一个模型上下文协议(MCP)服务器,用于解析 browserslist 查询并提供 browserslist 文档。
特点/功能
- MCP协议合规性完全符合 MCP规范(2025年6月18日)
- Browserslist 查询解析执行 browserslist 查询并获取匹配的浏览器版本
- 多种部署选项:
- 基于Stdio的MCP服务器,用于与MCP客户端集成 - 基于HTTP的Koa服务器,用于Web部署 - 兼容无服务器平台,如Cloudflare Workers
- 全面文档内置资源用于学习 browserslist 查询语法
- 类型安全使用Zod模式验证完善TypeScript类型定义
- 经过充分测试使用 Vitest 的综合测试套件
安装
使用 pnpm(推荐):
pnpm install使用 npm:
npm install用法
作为MCP服务器(标准输入输出)
默认模式以MCP服务器的形式运行,使用stdio传输方式:
pnpm dev或者构建并运行:
pnpm build
node dist/index.js作为HTTP服务器(Koa)
运行基于Web的访问HTTP服务器:
pnpm dev:koa服务器将在端口3000(或指定的端口)上启动 PORT 环境变量)。
作为Cloudflare Worker(无服务器)
部署到Cloudflare Workers以进行边缘计算:
# Local development
pnpm worker:dev
# Deploy to production
pnpm worker:deploy见 Cloudflare Workers 指南 以获取详细说明。
HTTP 端点
MCP协议端点:
POST /mcp- MCP协议端点(基于HTTP的JSON-RPC)
- 支持MCP初始化、列出工具、列出资源 - 与MCP客户端SDK兼容 - Cloudflare Workers 的无状态模式
REST API 接口点:
GET /health- 健康检查端点POST /api/query- 执行 browserslist 查询
{
"query": "last 2 versions",
"options": {
"env": "production"
}
}GET /api/defaults- 获取默认的 browserslist 配置POST /api/coverage- 获取浏览器覆盖率统计
{
"browsers": ["chrome 90", "firefox 88"]
}GET /api/documentation- 获取 browserslist 查询文档(Markdown 格式)GET /api/examples- 获取 browserslist 查询示例
MCP 工具
服务器提供以下MCP工具:
query_browsers
执行 browserslist 查询以获取匹配的浏览器版本。
输入:
{
"query": "last 2 versions",
"options": {
"env": "production",
"path": "/path/to/project"
}
}输出:
{
"browsers": ["chrome 120", "chrome 119", "firefox 121", ...],
"query": "last 2 versions",
"count": 42
}get_defaults
获取默认的 browserslist 查询配置。
输出:
Default browserslist query: > 0.5%, last 2 versions, Firefox ESR, not deadget_coverage
获取一系列浏览器的全球使用覆盖率。
输入:
{
"browsers": ["chrome 90", "firefox 88", "safari 14"]
}输出:
{
"coverage": 68.5
}MCP Resources(公司名,可译为)“MCP资源公司”
browserslist://documentation
关于 browserslist 查询语法的全面 Markdown 文档,包括:
- 基本查询类型(浏览器版本、名称、日期范围)
- 特殊查询(默认设置、无响应浏览器等)
- 将查询与布尔运算符结合使用
- 浏览器名称参考
- 配置文件
- 最佳实践
browserslist://examples
包含描述的常见 browserslist 查询示例的 JSON 数组。
发展
构建
pnpm build测试
运行测试:
pnpm test观看模式:
pnpm test:watch用户界面模式:
pnpm test:ui类型检查
pnpm typecheck项目结构
browserslist-mcp/
├── src/
│ ├── __tests__/ # Test files
│ ├── resources/ # Documentation resources
│ ├── server/ # Server implementations
│ │ ├── index.ts # MCP server
│ │ ├── koa.ts # Koa HTTP server
│ │ └── koa-entry.ts # Koa entry point
│ ├── types/ # Type definitions
│ ├── utils/ # Utility functions
│ └── index.ts # Main entry point
├── dist/ # Build output
├── package.json
├── tsconfig.json
├── vitest.config.ts
└── README.mdBrowserslist 查询示例
以下是一些常见的 browserslist 查询:
defaults- 浏览器列表默认浏览器(推荐)last 2 versions- 所有浏览器的最新两个版本> 1%- 全球使用率超过1%的浏览器not dead- 排除24个月内未更新的浏览器last 2 versions and not dead- 组合查询Chrome > 90- Chrome 90版本及更新版本last 1 year- 去年发布的浏览器> 0.5%, not IE 11- 使用率超过0.5%,不包括IE 11
如需更多详情,请使用 browserslist://documentation 资源或访问 browserslist 文档。
所使用的技术
- TypeScript - 类型安全的代码
- 佐德 - 模式验证
- @modelcontextprotocol/sdk(可翻译为)“@模型上下文协议/SDK”(注:这里的“SDK”通常指的是“软件开发工具包”,但在中文语境中,如果“@modelcontextprotocol”是一个特定的项目或协议名称,且没有官方中文译名,通常会保留原英文形式。因此,整个表达可以理解为“@模型上下文协议的软件开发工具包”,但为了简洁,常直接保留为“@modelcontextprotocol/sdk”或根据具体语境稍作调整。) - MCP协议实现
- browserslist(浏览器列表) - 浏览器查询解析
- Koa - HTTP服务器框架
- Vitest(注:Vitest是一个用于测试JavaScript/TypeScript项目的轻量级测试框架,但在此语境下,若仅作为词汇翻译,则为“维特斯”或保持原样,因为它是专有名词) - 测试框架
- pnpm(注:pnpm是一个包管理工具,中文可直译为“pnpm包管理器”,但通常直接使用其英文名称) - 包管理器
文档
- WORKER.md(文件名,可译为“工作者.md”或保持原样,具体取决于上下文是否需要翻译文件名) - 《Cloudflare Workers 全面指南》
- 示例/README.md(或:示例说明文件) - MCP客户端配置示例
- 示例/CLOUDFLARE.md - 快速Cloudflare部署指南
示例
该 examples/ 目录包含:
- MCP客户端配置 - 如何配置Claude Desktop及其他MCP客户端
- Cloudflare Worker 部署 - 准生产环境的无服务器部署指南
- HTTP API 示例 - 使用 Koa HTTP 服务器
许可证
ISC(Internet Service Center,互联网服务中心)
