使用说明
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"]
}
}
}
本地开发
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
许可证
麻省理工学院