MCP 配置参考

本文档提供了 VS Code 中 MCP 服务器配置文件格式、相关命令和设置的参考。有关添加和管理 MCP 服务器的信息,请参阅 添加和管理 MCP 服务器

配置文件

MCP 服务器配置存储在 mcp.json JSON 文件中。该文件可以位于您的工作区 (.vscode/mcp.json) 或您的 用户配置文件 中。VS Code 为该配置文件提供了 IntelliSense(智能感知)支持。

配置结构

配置文件包含两个主要部分:

  • "servers": {}:一个将服务器名称映射到其配置的对象。每个键都是服务器名称,值是服务器配置对象。根据服务器类型的不同,需要填写的字段也不同。

  • "inputs": []:一个可选数组,用于定义 API 密钥等敏感信息的输入变量。

您可以在服务器配置中使用 预定义变量,例如引用工作区文件夹 (${workspaceFolder})。

标准 I/O (stdio) 服务器

对于通过标准输入和输出流进行通信的服务器,请使用此配置。这是本地运行的 MCP 服务器最常见的类型。

字段 必需 描述 示例
type 服务器连接类型 "stdio"
command 启动服务器可执行文件的命令。必须在您的系统路径中可用,或包含其完整路径。 "npx", "node", "python", "docker"
args 传递给命令的参数数组 ["server.py", "--port", "3000"]
env 服务器的环境变量 {"API_KEY": "${input:api-key}"}
envFile 用于加载更多变量的环境文件路径 "${workspaceFolder}/.env"
sandboxEnabled 在沙盒环境中运行服务器。仅支持 macOS 和 Linux。 true
sandbox 沙盒服务器的文件系统和网络访问规则。仅在 sandboxEnabledtrue 时适用。请参阅 沙盒配置 {"filesystem": {...}, "network": {...}}
注意

当对 stdio 服务器使用 Docker 时,请勿使用后台运行选项 (-d)。服务器必须在前台运行才能与 VS Code 通信。

本地服务器配置示例

此示例显示了使用 npx 的基础本地 MCP 服务器的最小配置

{
  "servers": {
    "memory": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-memory"]
    }
  }
}

沙盒配置

您可以为本地运行的 stdio MCP 服务器启用沙盒功能,以限制它们对文件系统和网络的访问。沙盒服务器只能访问您明确允许的文件系统路径和网络域。沙盒功能仅在 macOS 和 Linux 上可用。

要为服务器启用沙盒,请在其配置中设置 "sandboxEnabled": true。然后,使用 sandbox 对象定义文件系统和网络访问规则。当沙盒服务器需要当前规则未允许的访问权限时,请检查服务器输出中的错误消息,并相应地更新 sandbox 配置。

注意

启用沙盒后,工具确认将自动批准,因为服务器是在受控环境中运行的。

sandbox 对象支持以下属性

属性 类型 描述
filesystem.allowWrite string[] 允许服务器写入的文件路径。
filesystem.denyRead string[] 禁止服务器读取的文件路径。
filesystem.denyWrite string[] 禁止服务器写入的文件路径。
network.allowedDomains string[] 允许服务器访问的域。支持通配符,例如 *.example.com
network.deniedDomains string[] 禁止服务器访问的域。

您可以在文件系统路径值中使用 预定义变量,例如 ${workspaceFolder}

沙盒配置示例

此示例启用了沙盒,授予了工作区的写入权限,拒绝了对 .ssh 目录的读取权限,并允许访问特定域的网络

{
  "servers": {
    "myServer": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@example/mcp-server"],
      "sandboxEnabled": true,
      "sandbox": {
        "filesystem": {
          "allowWrite": ["${workspaceFolder}"],
          "denyRead": ["${userHome}/.ssh"]
        },
        "network": {
          "allowedDomains": ["api.example.com", "*.cdn.example.com"]
        }
      }
    }
  }
}

HTTP 和服务器发送事件 (SSE) 服务器

对于通过 HTTP 通信的服务器,请使用此配置。VS Code 首先尝试 HTTP 流传输,如果不支持 HTTP,则回退到 SSE。

字段 必需 描述 示例
type 服务器连接类型 "http", "sse"
url 服务器的 URL "https://:3000", "https://api.example.com/mcp"
headers 用于身份验证或配置的 HTTP 头 {"Authorization": "Bearer ${input:api-token}"}

除了可通过网络访问的服务器外,VS Code 还可以连接到在 Unix 套接字或 Windows 命名管道上监听 HTTP 流量的 MCP 服务器。通过指定套接字或管道路径(格式为 unix:///path/to/server.sock 或 Windows 上的 pipe:///pipe/named-pipe)即可连接。您可以使用 URL 片段指定子路径,例如 unix:///tmp/server.sock#/mcp/subpath

远程服务器配置示例

此示例显示了无需身份验证的远程 MCP 服务器的最小配置

{
  "servers": {
    "context7": {
      "type": "http",
      "url": "https://mcp.context7.com/mcp"
    }
  }
}

用于敏感数据的输入变量

输入变量允许您为配置值定义占位符,避免将 API 密钥或密码等敏感信息直接硬编码在服务器配置中。

当您使用 ${input:variable-id} 引用输入变量时,VS Code 会在服务器首次启动时提示您输入该值。该值随后会被安全存储以供后续使用。了解有关 VS Code 中 输入变量 的更多信息。

输入变量属性

字段 必需 描述 示例
type 输入提示类型 "promptString"
id 在服务器配置中引用的唯一标识符 "api-key", "database-url"
描述 用户友好的提示文本 "GitHub 个人访问令牌"
password 隐藏输入的文本(默认:false) 对于 API 密钥和密码,设置为 true
带有输入变量的服务器配置示例

此示例配置了一个需要 API 密钥的本地服务器

{
  "inputs": [
    {
      "type": "promptString",
      "id": "perplexity-key",
      "description": "Perplexity API Key",
      "password": true
    }
  ],
  "servers": {
    "perplexity": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "server-perplexity-ask"],
      "env": {
        "PERPLEXITY_API_KEY": "${input:perplexity-key}"
      }
    }
  }
}

开发模式

您可以通过在服务器配置中添加 dev 键来为 MCP 服务器启用 开发模式。这是一个包含两个属性的对象:

  • watch:一个文件 glob 模式,用于监视文件更改并在发生更改时重启 MCP 服务器。
  • debug:允许您为 MCP 服务器设置调试器。目前,VS Code 支持调试 Node.js 和 Python MCP 服务器。

在 MCP 开发指南中了解有关 MCP 开发模式 的更多信息。

服务器命名规范

定义 MCP 服务器时,请遵循以下命名规范:

  • 使用驼峰式命名法 (camelCase) 作为服务器名称,例如 "uiTesting" 或 "githubIntegration"
  • 避免使用空格或特殊字符
  • 为每个服务器使用唯一名称以避免冲突
  • 使用能反映服务器功能或品牌的描述性名称,例如 "github" 或 "database"

命令

下表列出了命令面板中可用的 MCP 相关命令(⇧⌘P (Windows, Linux Ctrl+Shift+P))。

命令 描述
MCP: Add Server (添加服务器) 将新的 MCP 服务器添加到您的工作区或用户配置文件。
MCP: Browse MCP Servers (浏览 MCP 服务器) 在扩展视图中打开 MCP 服务器库。
MCP: Browse Resources (浏览资源) 浏览 MCP 服务器提供的资源。
MCP: Install Server from Manifest (从清单安装服务器) 从 MCP 清单文件安装 MCP 服务器。
MCP: List Servers (列出服务器) 列出所有已配置的 MCP 服务器,并执行启动、停止、重启或显示输出等操作。
MCP: Open Remote User Configuration (打开远程用户配置) 打开远程环境的 mcp.json 文件。
MCP: Open User Configuration (打开用户配置) 打开用户配置文件中的 mcp.json 文件。
MCP: Open Workspace Folder MCP Configuration (打开工作区文件夹 MCP 配置) 打开工作区中的 .vscode/mcp.json 文件。
MCP: Reset Cached Tools (重置缓存工具) 清除 MCP 服务器缓存的工具列表。当服务器的工具发生更改时使用此功能。
MCP: Reset Trust (重置信任) 重置对 MCP 服务器的信任决定,下次启动时需要重新确认。
MCP: Show Installed Servers (显示已安装服务器) 显示所有已安装的 MCP 服务器列表。

设置

有关 VS Code AI 设置的完整列表,请参阅 AI 设置参考。以下设置是 MCP 服务器特有的。

设置 描述
chat.mcp.access 在 VS Code 中打开 在 VS Code Insiders 中打开 此设置由组织管理。请联系您的管理员进行更改。 管理可以在 VS Code 中使用哪些 MCP 服务器。
chat.mcp.discovery.enabled 在 VS Code 中打开 在 VS Code Insiders 中打开 配置从其他应用程序自动发现 MCP 服务器配置。
chat.mcp.autostart 在 VS Code 中打开 在 VS Code Insiders 中打开 (实验性) 检测到配置更改时自动启动 MCP 服务器。
chat.mcp.serverSampling 在 VS Code 中打开 在 VS Code Insiders 中打开 配置哪些模型暴露给 MCP 服务器以进行采样(在后台发出请求)。
chat.mcp.apps.enabled 在 VS Code 中打开 在 VS Code Insiders 中打开 (实验性) 启用或禁用 MCP 应用,这是由 MCP 服务器提供的丰富用户界面。
© . This site is unofficial and not affiliated with Microsoft.