基线状态查询服务器

一个基于Model Context Protocol (MCP)的服务器,用于查询Web平台功能的基线状态,支持本地和云端部署。

  • by jlacher
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 jlacher/baseline-mcp-server

使用说明

基线MCP服务器

模型上下文协议(MCP)服务器,允许您使用以下数据查询web平台功能的基线状态 webstatus.dev.

VS代码设置

  1. 安装依赖项:

    npm install
    
  2. 构建本地MCP服务器:

    npm run build
    
  3. 创建一个 .vscode/mcp.json 在您的工作区中添加文件,并添加以下配置(GitHub Copilot的示例):

    {
      "servers": {
        "baseline-mcp-server": {
          "command": "node",
          "args": [
            "${workspaceFolder}/dist/index.js"
          ],
          "env": {
            "API_BASE_URL": "https://api.webstatus.dev"
          }
        }
      }
    }
    
  4. 在代理模式下打开支持MCP的客户端扩展,如Copilot Chat

  5. 选择 代理 从聊天模式下拉列表中

  6. 选择一个像“克劳德3.5十四行诗”这样的模型

  7. 输入与基线相关的提示

Cloudflare员工部署

您可以将服务器部署到Cloudflare Workers进行远程设置。该配置将在全球范围内工作,无需对特定区域进行更改。

  1. 安装牧马人 (Cloudflare Workers CLI):

    npm install -g wrangler
    
  2. 注册Cloudflare (如果需要):

    • 在以下网址创建免费Cloudflare帐户 cloudflare.com
    • Workers部署不需要域
  3. 登录Cloudflare:

    wrangler login
    
  4. 构建并部署worker:

    npm run deploy
    

    这将使用中的配置构建worker并全局部署它 wrangler.toml.

  5. 为远程服务器配置VS代码: 更新您的 .vscode/mcp.json 以包括远程服务器配置:

    {
      "servers": {
        "baseline-mcp-server": {
          "url": "https://baseline-mcp-server.YOUR_WORKER_SUBDOMAIN.workers.dev",
          "type": "http"
        }
      }
    }
    

    替换 YOUR_WORKER_SUBDOMAIN 使用Cloudflare帐户的workers子域。

注意:默认情况下,worker配置使用Cloudflare的全局网络,因此不需要特定于区域的设置。请求将自动路由到最近的边缘位置。

示例

提示

What's the Baseline status of view transitions?

响应

I'll check the baseline status for the View Transitions API using the baseline tools.
Ran `get_web_feature_baseline_status`

输入

{
  "query": [
    "view transitions"
  ]
}

输出

🌐 基线状态: 视图转换

找到 2 特征:

1.跨文档视图转换

状态: ⚠️ 有限的

浏览器支持:

  • 铬: ✅ 2024年6月11日(v126)
  • Chrome安卓版: ✅ 2024年6月11日(v126)
  • 边缘: ✅ 2024年6月13日(v126)
  • 游猎: ✅ 2024年12月11日(v18.2)
  • Safari iOS: ✅ 2024年12月11日(v18.2)

使用统计:

  • 铬: 10.7649%的每日页面浏览量

Web平台测试:

  • 铬: 🟡 通过率82.3%
  • Chrome安卓版: 🟠 通过率66.1%
  • 边缘: 🟢 合格率90.3%
  • 火狐浏览器: 🔴 合格率1.6%
  • 游猎: 🔴 通过率45.2%

规格:

  1. 视图规范

建议: 🔴 考虑填充物或替代品


2.视图转换

状态: ⚠️ 有限的

浏览器支持:

  • 铬: ✅ 2023年3月7日(v111)
  • Chrome安卓版: ✅ 2023年3月7日(v111)
  • 边缘: ✅ 2023年3月13日(v111)
  • 游猎: ✅ 2024年9月16日(v18)
  • Safari iOS: ✅ 2024年9月16日(v18)

使用统计:

  • 铬: 每日页面浏览量的0.2001%

Web平台测试:

  • 铬: 🟡 通过率87.2%
  • Chrome安卓版: 🔴 通过率23.8%
  • 边缘: 🟢 通过率93.1%
  • 火狐浏览器: 🔴 合格率3.3%
  • 游猎: 🟡 通过率79.8%

规格:

  1. 视图规范

建议: 🔴 考虑填充物或替代品

Based on the baseline status check, here's what we know about View Transitions:

1. Same-document View Transitions:
• Has LIMITED support status
• Supported in Chrome/Edge (since v111, March 2023)
• Recently added to Safari (v18, September 2024)
• Has relatively low usage (0.2% of Chrome page views)
• Test coverage varies significantly across browsers (87-93% in Chrome/Edge, but only 24% in Chrome Android)

2. Cross-document View Transitions:
• Also has LIMITED support status
• Newer feature with broader browser support:
    ○ Chrome/Edge: v126 (June 2024)
    ○ Safari: v18.2 (December 2024)
• Higher usage than same-document transitions

可用工具

1. get_web_feature_baseline_status

获取一个或多个web平台功能的全面基线信息。

参数:

  • query (必填):包含要搜索的特征名称的字符串数组
  • include_browser_details (可选,默认值:true):是否包含浏览器实现详细信息
  • include_usage_stats (可选,默认值:true):是否包含使用统计信息
  • include_test_results (可选,默认值:true):是否包含Web平台测试的测试结果
  • include_specs (可选,默认值:true):是否包含指向功能规范的链接
  • limit (可选,默认值:10):要返回的最大结果数(介于1和20之间)

2. get_baseline_summary

获取Baseline系统及其状态类别的概述。此工具不接受任何参数。

资源

发展

要添加新工具或修改现有工具,请执行以下操作:

  1. 在中添加或修改工具的逻辑 src/tools/baseline-tools.ts.
  2. 在中注册该工具及其Zod模式 src/index.ts.

许可证

该项目根据MIT许可证获得许可。