MDN文档搜索服务

一个提供MDN Web Docs搜索、文档获取和浏览器兼容性检查的服务器,可直接从AI助手中使用。

  • by anvme
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 anvme/mdn-mcp

使用说明

mdn mcp

MCP服务器 MDN Web文档 --直接从您的AI助手搜索文档、获取页面并检查浏览器兼容性。

特性

工具 说明 数据源
mdn_search 按关键字搜索MDN MDN搜索API(远程)
mdn_doc 获取页面的完整文档 MDN JSON API(远程)
mdn_compat 浏览器兼容性检查 @mdn/browser-compat-data (离线)
mdn_list 按命名空间浏览和发现BCD功能 @mdn/browser-compat-data (离线)
mdn_css CSS属性形式化定义 mdn-data (离线)
mdn_http HTTP标头、状态代码、方法引用 @mdn/browser-compat-data (离线)

设置

无需安装——只需配置您的MCP客户端:

VS Code / Copilot

增添 .vscode/mcp.json:

{
  "servers": {
    "mdn": {
      "command": "npx",
      "args": ["-y", "mdn-mcp"]
    }
  }
}
Cursor

增添 .cursor/mcp.json:

{
  "mcpServers": {
    "mdn": {
      "command": "npx",
      "args": ["-y", "mdn-mcp"]
    }
  }
}
Windsurf

增添 ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "mdn": {
      "command": "npx",
      "args": ["-y", "mdn-mcp"]
    }
  }
}
Claude Desktop

增添 claude_desktop_config.json:

{
  "mcpServers": {
    "mdn": {
      "command": "npx",
      "args": ["-y", "mdn-mcp"]
    }
  }
}
Claude Code
claude mcp add --transport stdio mdn -- npx -y mdn-mcp

或添加到 .mcp.json (与团队分享):

{
  "mcpServers": {
    "mdn": {
      "command": "npx",
      "args": ["-y", "mdn-mcp"]
    }
  }
}
Zed

增添 settings.json:

{
  "context_servers": {
    "mdn": {
      "command": "npx",
      "args": ["-y", "mdn-mcp"]
    }
  }
}
JetBrains IDEs

打开 设置→ 工具→ AI助手→ MCP,单击 +,然后粘贴:

{
  "mcpServers": {
    "mdn": {
      "command": "npx",
      "args": ["-y", "mdn-mcp"]
    }
  }
}
Gemini CLI
gemini mcp add mdn -- npx -y mdn-mcp

或添加到 ~/.gemini/settings.json:

{
  "mcpServers": {
    "mdn": {
      "command": "npx",
      "args": ["-y", "mdn-mcp"]
    }
  }
}
Other MCP clients

任何支持以下功能的MCP客户端 标准 传输可以使用此服务器。命令是:

npx -y mdn-mcp

请参阅 MCP客户端的完整列表.

本地开发

git clone https://github.com/anvme/mdn-mcp.git
cd mdn-mcp
npm install
node index.js

工具参考

mdn_search

按关键字搜索MDN Web文档。

参数 类型 必填 默认 说明
query string 是 -- 搜索查询
limit number no 5 最大结果(1-20)

例子: { "query": "Array.map", "limit": 3 }

mdn_doc

获取特定MDN页面的完整文档。支持大页面的分页。

参数 类型 必填 默认 说明
path string yes -- MDN文档路径或完整URL
sections string[] no -- 筛选部分: syntax, description, parameters, return_value, examples, see_also
max_length number no 5000 返回的最大字符数(500-50000)
start_index number no 0 分页的字符偏移量

例子: { "path": "Web/CSS/grid", "sections": ["syntax", "description"] }

mdn_compat

检查web功能的浏览器兼容性。离线工作。

参数 类型 必填 说明
feature string yes BCD特征路径,例如。 css.properties.grid, api.fetch, javascript.builtins.Array.map

例子: { "feature": "javascript.builtins.Array.map" }

返回一个Markdown表,支持Chrome、Edge、Firefox、Safari、Opera、iOS Safari、Chrome Android、Firefox Android、Node.js、Deno和Bun的版本。

mdn_list

按命名空间浏览和发现BCD功能。按关键字或状态筛选。

参数 类型 必填 默认 说明
path string 否 "" BCD浏览路径,例如。 css.properties, api, javascript.builtins
query string no -- 按关键字筛选功能
deprecated boolean 否 -- true =仅弃用, false =排除已弃用
experimental boolean 否 -- true =仅为实验性, false =排除实验
limit number no 50 要返回的最大功能(1-200)

示例:

  • { "path": "css.properties", "query": "grid" } --查找CSS网格相关属性
  • { "path": "api", "deprecated": true, "limit": 20 } --列出已弃用的Web API
  • { "path": "" } --显示所有顶级BCD命名空间

mdn_css

获取CSS属性的形式化定义——语法、初始值、继承、计算值、动画类型等。离线工作。

参数 类型 必填 说明
name string yes CSS属性、函数、at规则、选择器、类型或单元名称

示例:

  • { "name": "grid" } --全网格简写定义
  • { "name": "display" } --显示属性形式语法
  • { "name": ":hover" } --:悬停选择器信息
  • { "name": "calc" } --calc()函数信息

mdn_http

浏览HTTP引用数据——标头、状态代码、方法,具有浏览器兼容性。

参数 类型 必填 默认 说明
topic string 否 "" HTTP主题路径,例如。 headers, headers.Content-Type, status.200

示例:

  • { "topic": "" } --列出所有HTTP类别
  • { "topic": "headers" } --列出所有HTTP标头
  • { "topic": "headers.Content-Type" } --内容类型的浏览器兼容性
  • { "topic": "status" } --列出所有HTTP状态代码

先决条件

  • Node.js>=18

许可证

麻省理工学院