网页特性查询服务器

Baseline MCP Server 是一个用于查询基准网页特性数据的服务器,适用于开发者进行网页特性分析和浏览器兼容性检查。

  • by Technickel-Dev
  • TypeScript
  • 本地部署
  • 7 星标
  • 更新于
在 GitHub 查看 Technickel-Dev/baseline-mcp

使用说明

基线MCP服务器

一个用于查询基础网页特征数据的服务器。它是使用……构建的(注:原文在此处截断,未提供具体构建技术或工具,因此翻译也相应保留了这种开放性) @modelcontextprotocol/sdk 并且使用了 web-features 将包作为数据源。它是为……而构建的 “Baseline Tooling 2025 Hackathon”翻译为中文是:“2025年基准工具开发黑客松/编程马拉松”。

先决条件

  • 对于本地开发,您还需要安装 Node.js 和 npm。

用法

使用基线MCP服务器有两种方法:

  1. 演示客户端: 尝试在以下网址使用演示客户端: https://baseline-mcp-demo.web.app/ 翻译为中文可以是:“https://baseline-mcp-演示.web.app/” 或者更自然地表达为:“https://baseline-mcp-示例网站.web.app/”。不过,通常网址的翻译并不直接改变网址本身,而是指明其含义或用途,所以这里的翻译更多是解释了网址的内容或目的。在实际应用中,网址通常保持原样,不进行翻译.
  2. 您自己的客户端: 您可以将自己兼容MCP的客户端连接到服务器。详情请参阅下文的“连接客户端”部分。

连接客户端

使用下面的折叠面板来配置您的客户端。

Connect with Gemini CLI & Gemini Code Assist

在你的 ~/.gemini/settings.json,向其中添加以下对象之一 mcpServers 数组。

{
  "name": "baseline-mcp",
  "command": ["npx", "mcp-remote", "https://baseline-mcp.netlify.app/mcp"]
}
Connect with VS Code Copilot

在你的 settings.json 或者 .vscode/mcp.json,添加以下配置。

"mcp": {
  "servers": {
    "baseline-mcp": {
      "command": "npx",
      "args": ["mcp-remote", "https://baseline-mcp.netlify.app/mcp"]
    }
  }
}

发展

如果您想修改或为这个工具做贡献,请按照以下说明进行本地设置。

安装

  1. 克隆仓库: git clone <repository-url>
  2. 导航到项目目录: cd baseline-mcp

本地运行

  1. 安装依赖项:

    npm install
    
  2. 构建服务器:

    npm run build
    
  3. 运行服务器:

    npm start
    

检查服务器

要检查服务器的功能,您可以使用 inspect 脚本。这有助于查看服务器公开的完整工具和提示列表。

npm run inspect

与服务器交互

一旦服务器运行起来,您就可以向它发送JSON-RPC请求。服务器提供了以下工具和提示:

提示

  • create-study-guide创建一个网页功能学习指南。
  • find-features-in-file在给定的文件或目录中查找基线特征。
  • suggest-baseline-features根据目标描述,建议基础特征。
  • min-browser-support-report获取一组文件中功能所需的最低浏览器支持版本,并将其以报告形式显示。

工具

特性查询

  • list-features返回所有可用的基线网页功能列表。
  • discouraged-features返回一个列表,其中包含所有不建议使用的网页功能。
  • get-feature-details获取特定网页功能的所有详细信息。
  • get-feature-by-status获取具有特定基线状态的所有网页功能。
  • get_features_by_caniuse_id通过其对应的 caniuse.com 特性 ID 获取网页特性。
  • get_features_with_spec_url获取所有引用特定规范URL的网页功能。
  • get_features_by_compat_feature通过其对应的 @mdn/browser-compat-data 特性键获取网页特性。
  • get_baseline_high_since获取自指定日期以来所有达到“基线高”状态(广泛支持)的网页功能。
  • get_baseline_low_since获取自指定日期以来所有达到“基线低”状态(新支持)的网页功能。
  • get_baseline_low_last_30_days获取过去30天内所有达到“基线低值”状态的网页功能。
  • get_baseline_high_last_30_days获取过去30天内所有达到“基线高”状态的网页功能。
  • get_baseline_status_changes_last_30_days列出过去30天内所有更改了其基线状态的网页功能,并显示其变更情况。
  • get_features_by_description_keyword仅在网页功能的描述中搜索关键词。
  • get_features_by_name_keyword仅在网页功能名称中搜索关键词。
  • get_features_with_multiple_spec_urls返回具有多个规范URL的网页功能。
  • get_features_with_no_spec_url返回没有规范URL的网页功能。
  • get_features_with_alternatives返回所有有推荐替代方案的不建议使用的网页功能。
  • get_feature_alternative获取一个不推荐使用的网页功能的替代建议。
  • get_random_feature返回一个随机的网页功能。
  • list_features_in_file分析提供的文件内容,并列出其中使用的基线网页功能。
  • suggest_baseline_feature基于关键词匹配的查询,建议一种基础网页功能。

浏览器兼容性

  • get_latest_browser_versions返回每个主流浏览器的最新版本。
  • check_feature_support检查某个浏览器开始支持特定网页功能的版本。
  • get_unsupported_features返回一个列表,其中包含给定浏览器不支持的网页功能。
  • get_recently_supported_features返回一个列表,其中包含在指定浏览器版本中新支持的网页功能。
  • compare_browser_support比较浏览器对两个或多个网页功能的支持情况。
  • get_browser_release_dates返回给定浏览器的发布日期和版本列表。
  • get_browser_release_date返回特定浏览器版本的发布日期。
  • get_features_not_supported_by_any_browser返回任何主流浏览器都不支持的网页功能。
  • generate_browser_support_matrix为跨主要浏览器的给定网页功能列表生成简化的浏览器支持矩阵。
  • get_min_browser_support_for_file分析文件内容,以确定支持所有检测到的网页功能所需的最低浏览器版本。

特性组和快照

  • get_feature_groups返回一个包含所有可用特征组的列表。
  • get_features_by_group获取特定组中的所有网页功能。
  • list_snapshots返回所有可用快照的列表。