> ## Documentation Index
> Fetch the complete documentation index at: https://dragonwingdocs.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 集成 MCP 服务器

> 使用内置的 Model Context Protocol 服务器，让 AI 助手直接控制设备管理、AI 模型、项目等工具。

Qualcomm VS Code 扩展内置了一个**嵌入式 MCP（Model Context Protocol）服务器**，在扩展加载时自动启动。Claude、Codex、Cursor、GitHub Copilot 等 AI 编码助手可以通过 `localhost` 连接到它并调用结构化的工具调用 — 无需手动配置。

<img src="https://mintlify.s3.us-west-1.amazonaws.com/qualcomm-prod/Tools/QVSCE/images/mcp_server_running.png" alt="扩展侧边栏中的 MCP 服务器运行指示器" />

<Info>
  MCP 服务器完全在您的本地计算机上运行。任何数据都不会通过 MCP 通道离开您的设备；所有工具调用仅发送到 `127.0.0.1`。
</Info>

***

## 工作原理

启用后，扩展会在 `localhost` 上启动一个 HTTP 服务器。

```
http://127.0.0.1:3100/mcp
```

<img src="https://mintlify.s3.us-west-1.amazonaws.com/qualcomm-prod/Tools/QVSCE/images/mcp_server_status.png" alt="扩展侧边栏导航中显示的 MCP Server: Running 状态" />

***

## 配置

服务器处于活动状态时，侧边栏会显示 **MCP Server: Running (port 3100)**。点击此标签可直接打开 MCP 和 C++ RAG 设置。

或者，打开 VS Code 设置并搜索 `@id:qvsce.mcpServer.enabled @id:qvsce.mcpServer.port @id:qvsce.cppRag.samplesDir`，即可在同一视图中查看全部三个 MCP 相关设置。

<img src="https://mintlify.s3.us-west-1.amazonaws.com/qualcomm-prod/Tools/QVSCE/images/mcp_server_settings.png" alt="显示 QVSCE MCP 服务器配置选项的 VS Code 设置面板" />

| 设置 | 默认值 | 说明 |
| - | - | - |
| `qvsce.mcpServer.enabled` | `true` | 启用或禁用嵌入式 MCP 服务器。更改会立即生效 — 无需重新加载窗口。 |
| `qvsce.mcpServer.port` | `3100` | HTTP 服务器监听的端口（1–65535）。如果端口 3100 与其他进程冲突，请更改此设置。 |
| `qvsce.cppRag.samplesDir` | *（空）* | 指向 C/C++ 源文件目录（`.cpp`、`.cc`、`.cxx`、`.h`、`.hpp`、`.hxx`）的绝对路径，这些文件代表您偏好的编码风格、SDK 特定模式或领域特定应用代码 — 例如内部 SDK 封装库、团队工具代码或参考应用程序。子目录中所有匹配的文件都会被递归发现。设置此路径后，调用 `build_cpp_rag_index` 以填充索引。留空则仅依赖内置默认索引。 |

<Tip>
  更改端口后，任何指向旧端口的 MCP 客户端配置（例如 `claude_desktop_config.json` 中的条目）都必须更新以保持一致。
</Tip>

### 连接 AI 客户端

任何兼容 MCP 的 AI 助手都可以连接到该服务器。各客户端的通用模式相同：使用 **Streamable HTTP** 传输将其指向 `http://127.0.0.1:3100/mcp`。

<Steps>
  <Step title="确认服务器正在运行">
    检查扩展侧边栏中是否显示 **MCP Server: Running (port 3100)**。如果显示 Stopped，请在设置中启用它（`qvsce.mcpServer.enabled`）。
  </Step>

  <Step title="配置您的 AI 客户端">
    将服务器端点添加到客户端的 MCP 配置中。请参阅下面 Claude 和 Codex 的示例 — 其他客户端遵循相同的模式。

    <Tabs>
      <Tab title="Claude Desktop / Claude Code">
        添加到 `claude_desktop_config.json`（Claude Desktop）或 `.claude/mcp.json`（项目中的 Claude Code）：

        ```json theme={null}
        {
          "mcpServers": {
            "qualcomm-ide": {
              "url": "http://127.0.0.1:3100/mcp"
            }
          }
        }
        ```

        在 **Claude Code** 中，您也可以从终端添加：

        ```bash theme={null}
        claude mcp add qualcomm-ide --transport http http://127.0.0.1:3100/mcp
        ```
      </Tab>

      <Tab title="Codex CLI">
        添加到 `~/.codex/config.toml` 或以内联方式传递：

        ```toml theme={null}
        [[mcp_servers]]
        name = "qualcomm-ide"
        url  = "http://127.0.0.1:3100/mcp"
        ```

        或在运行 Codex 时作为标志传递：

        ```bash theme={null}
        codex --mcp-server "qualcomm-ide=http://127.0.0.1:3100/mcp"
        ```
      </Tab>

      <Tab title="其他客户端">
        任何支持 MCP Streamable HTTP 传输的客户端都可以连接。使用：

        * **URL：** `http://127.0.0.1:3100/mcp`
        * **传输方式：** Streamable HTTP（基于会话）
        * **认证：** 无 — 仅限本地，无需凭据

        有关添加 MCP 服务器条目的位置，请查阅您客户端的文档。
      </Tab>
    </Tabs>
  </Step>

  <Step title="验证连接">
    询问您的助手：*"列出我已连接的 Qualcomm 设备。"* 如果收到包含设备信息的响应，则确认服务器可达且工具可用。
  </Step>
</Steps>

***

## 可用工具

服务器提供分布在九个功能类别中的工具。工具集在不断演进 — 要查看最新可用工具，请询问您的 AI 助手：*"Qualcomm IDE 提供哪些 MCP 工具？"* 点击下面的类别可跳转到对应的工具参考。标记为 **Linux-only** 的工具在 Windows 原生 VS Code 上不可用（支持 WSL 远程连接）。

<CardGroup cols={2}>
  <Card title="设备管理" icon="mobile" href="#device-management">
    *"现在连接了哪些设备？"*

    *"以 root 身份通过 SSH 连接到 192.168.1.42 上的设备。"*

    *"将最新的 Qualcomm Linux 镜像烧录到我的活动设备。"*

    *"在我的设备上扫描 Wi-Fi 网络并将其连接到我的网络。"*
  </Card>

  <Card title="项目" icon="folder" href="#projects">
    *"构建我的项目并将其部署到已连接的设备。"*

    *"使用已安装的 SDK 创建一个新的 C++ 应用程序项目。"*

    *"从我的 SDK 导入 GStreamer 示例项目。"*

    *"用已安装的 SDK 注册我位于 \~/myapp 的现有项目。"*
  </Card>

  <Card title="C++ 代码搜索" icon="search" href="#c-code-search-rag">
    *"查找用于初始化相机管线的 C++ 示例代码。"*

    *"从 SDK 示例中给我展示相机传感器初始化的示例。"*

    *"如何设置 GStreamer 源元素？查找相关示例。"*
  </Card>

  <Card title="文档" icon="book" href="#documentation-search">
    *"如何使用扩展烧录设备？"*

    *"构建项目的前提条件是什么？"*

    *"解释如何为设备设置基于 SSH 密钥的认证。"*
  </Card>

  <Card title="AI 模型" icon="brain" href="#ai-models">
    *"为我的 RB3 Gen 2 设备下载 Llama 3 模型。"*

    *"在我连接的设备上分析 ResNet50 模型并展示结果。"*

    *"为我的设备编译 Whisper 模型，完成后推送到设备。"*

    *"RB5 平台有哪些可用的 AI 模型？"*
  </Card>

  <Card title="SDK 与操作系统镜像" icon="box" href="#sdks-and-os-images">
    *"我的开发套件有哪些可用的 SDK？"*

    *"一次性为我的 RB3 Gen 2 下载最新的操作系统镜像和 SDK。"*

    *"我的 SDK 下载完成了吗？"*
  </Card>

  <Card title="Skills Hub" icon="puzzle" href="#skills-hub">
    *"我连接的设备有哪些可用的技能？"*

    *"安装最适合处理 GStreamer 管线的技能。"*

    *"给我展示 camera-capture 技能的文档。"*
  </Card>

  <Card title="Overlay 配置" icon="layer-group" href="#overlay-configuration">
    *"我的设备上有哪些可用的 overlay 配置？"*

    *"将我的设备切换到 upstream overlay 配置。"*
  </Card>

  <Card title="Delta Flash" icon="bolt" href="#delta-flash-incremental-deploy">
    *"如果我现在进行增量部署，展示哪些文件会发生变化。"*

    *"仅通过 SSH 将更改的构建产物同步到我的设备。"*

    *"先对 delta flash 做一次试运行，如果看起来没问题就应用。"*
  </Card>
</CardGroup>

***

### 设备管理

这些工具让 AI 助手对已连接的 Qualcomm 硬件拥有完整的可见性和控制能力。大多数其他工具类别都依赖于先选择一个活动设备。

<AccordionGroup>
  <Accordion title="list_devices — 列出所有已连接设备">
    返回扩展当前检测到的每个设备，包括序列号、连接类型（SSH 或 EDL）和设备状态。
  </Accordion>

  <Accordion title="get_active_device — 获取选定的设备">
    返回当前设置为活动状态的设备的详细信息。大多数其他设备和项目工具都隐式地对此设备进行操作。
  </Accordion>

  <Accordion title="select_device — 设置活动设备">
    通过序列号将设备设置为活动状态。如果省略序列号或未找到，则会显示交互式 VS Code 选择器。
  </Accordion>

  <Accordion title="add_device_via_ssh — 通过 SSH 添加设备">
    使用 SSH 连接将新设备添加到已知列表。可以生成新的 SSH 密钥对；需要时会安全地提示输入设备密码。
  </Accordion>

  <Accordion title="validate_ssh_connection — 检查 SSH 可达性">
    验证设备的 SSH 连接是否可达，而不执行任何其他操作。
  </Accordion>

  <Accordion title="update_ssh_config — 编辑 SSH 配置">
    更新活动设备的 SSH 连接参数（主机、端口、用户、密钥）。
  </Accordion>

  <Accordion title="list_wifi_networks / connect_wifi / disconnect_wifi / get_wifi_status — Wi-Fi 管理">
    通过 SSH 在已连接设备上扫描、连接、断开和检查 Wi-Fi。
  </Accordion>

  <Accordion title="reboot_device — 重启设备">
    正常重启活动设备或重启进入 EDL（Emergency Download）模式。EDL 重启需要明确的破坏性操作确认。
  </Accordion>

  <Accordion title="flash_device_software — 烧录操作系统镜像（Linux-only）">
    将操作系统镜像烧录到活动设备。实时流式传输阶段通知：EDL 等待、烧录进度和 CamX overlay 待处理状态。
  </Accordion>

  <Accordion title="apply_camx_overlay — 应用 CamX overlay（Linux-only）">
    在 `flash_device_software` 提示等待 overlay 步骤后应用 CamX 专有 overlay。需要 Qualcomm Linux Proprietary v2.0+。
  </Accordion>

  <Accordion title="list_devkit_catalog — 浏览支持的开发套件">
    返回所有支持的 Qualcomm 开发套件，包括 ID、芯片组、支持的操作系统版本和主机架构。
  </Accordion>

  <Accordion title="get_pre_flash_data — 烧录前说明">
    检索给定开发套件和目标操作系统组合的烧录前说明 URL。
  </Accordion>

  <Accordion title="get_auto_activate_status / update_auto_activate — 自动激活控制">
    读取和设置扩展是否在设备连接时自动选择该设备。
  </Accordion>

  <Accordion title="reset_device_selection — 清除活动设备">
    清除活动设备选择并重置自动激活状态。
  </Accordion>

  <Accordion title="remove_device — 移除已知设备">
    从已知设备列表中移除设备。需要破坏性操作确认。
  </Accordion>

  <Accordion title="provision_ufs / program_cdt — 底层配置（Linux-only）">
    **provision\_ufs**：在 EDL 模式下为设备配置 Universal Flash Storage。**program\_cdt**：编程 Configuration Data Table。两者都需要 EDL 模式和破坏性操作确认。
  </Accordion>
</AccordionGroup>

***

### 项目

直接在 AI 对话中构建、部署和运行应用程序。从项目创建到设备上执行的完整工作流都可以通过工具调用完成。

<AccordionGroup>
  <Accordion title="build_project — 构建（Linux-only）">
    运行 `qvsce-build` 任务。支持直接接受 `projectPath` 和 `sdkId` 的无头模式 — 无需打开 VS Code 窗口。
  </Accordion>

  <Accordion title="deploy_project — 构建并部署（Linux-only）">
    构建项目并通过 SSH 将二进制文件部署到活动设备。支持无头模式。
  </Accordion>

  <Accordion title="run_project — 在设备上运行（Linux-only）">
    在活动设备上执行已部署的应用程序。支持无头模式。
  </Accordion>

  <Accordion title="import_sample_project — 从 SDK 导入（Linux-only）">
    将已安装 SDK 中的示例项目导入到 VS Code 工作区，包括源代码和构建依赖。
  </Accordion>

  <Accordion title="create_project — 从模板创建新项目（Linux-only）">
    从 SDK 模板创建新的 C/C++ 应用程序或 GStreamer 插件应用程序，然后使用 `tasks.json`、`launch.json` 和 `c_cpp_properties.json` 配置 `.vscode`。
  </Accordion>

  <Accordion title="register_project — 注册现有项目">
    将现有的本地项目与已安装的 SDK 关联，并写入构建和调试所需的 `.vscode` 配置文件。
  </Accordion>

  <Accordion title="update_preferred_sdk — 切换活动 SDK">
    设置或刷新工作区用于编译和部署的 SDK。
  </Accordion>
</AccordionGroup>

***

### C++ 代码搜索（RAG）

扩展维护一个本地的 C++ 代码示例 TF-IDF 索引，AI 助手在编写或解释代码时会自动查询该索引。

<AccordionGroup>
  <Accordion title="search_cpp_samples — 搜索 C++ 代码">
    使用 TF-IDF 相似度对自然语言或代码查询进行索引搜索。返回最多 10 个带相关性评分的函数级代码块。
  </Accordion>

  <Accordion title="build_cpp_rag_index — 构建搜索索引">
    根据 `qvsce.cppRag.samplesDir` 中设置的目录构建或重建 C++ 代码搜索索引。内置默认索引始终存在；用户示例会合并到其之上。完成时返回总的代码块数和词汇量。
  </Accordion>

  <Accordion title="get_cpp_rag_stats — 索引统计">
    返回当前索引的总代码块数、词汇量大小、默认代码块数和用户代码块数。
  </Accordion>
</AccordionGroup>

<Note>
  索引完全在您的本地计算机上构建和存储 — 不会向外部传输任何源代码或索引数据。如果团队中的多名开发人员需要在其智能体的建议中反映相同的编码规范，则每位开发人员都必须单独配置 `qvsce.cppRag.samplesDir` 并运行 `build_cpp_rag_index`。团队可以共享同一个源目录（例如通过共享仓库）以获得一致的结果，但索引构建必须由每位开发人员在本地执行。
</Note>

***

### 文档搜索

助手会自动调用这些工具 — 在工具失败时、执行复杂操作之前，以及每当您询问 IDE 功能时。

<AccordionGroup>
  <Accordion title="search_documentation — 搜索 IDE 文档">
    通过外部文档服务器搜索 Qualcomm DragonWing IDE 文档。在工具失败时、执行复杂的多步操作之前，以及每当您询问 IDE 功能时都会自动调用。
  </Accordion>

  <Accordion title="get_documentation — 检索特定页面">
    根据 URI 从 DragonWing 文档服务器获取文档页面或资源。
  </Accordion>
</AccordionGroup>

***

### AI 模型

与 Qualcomm AI Hub 全面集成，支持云端分析和编译，以及本地设备端基准测试。

<AccordionGroup>
  <Accordion title="list_ai_model_catalog — 浏览 AI Hub 目录">
    列出可供下载的 AI 模型，可按设备名称和模型类型（LLM、视觉、音频等）进行可选过滤。
  </Accordion>

  <Accordion title="download_ai_model — 下载模型">
    从目录下载 AI 模型。首先获取可用的精度/运行时变体；如果未指定变体，则会出现交互式选择器。
  </Accordion>

  <Accordion title="get_ai_model_status — 模型状态概览">
    返回本地缓存中所有模型的当前下载、编译和烧录状态。
  </Accordion>

  <Accordion title="push_ai_model_to_device — 将模型烧录到硬件">
    将已下载的模型作为后台操作推送到活动设备。
  </Accordion>

  <Accordion title="profile_ai_model — 通过 AI Hub 进行云端分析">
    向 Qualcomm AI Hub 提交针对指定设备的分析作业。返回用于轮询的作业引用。
  </Accordion>

  <Accordion title="local_profile_ai_model — 设备端分析">
    直接在活动设备上运行分析作业 — 测量硬件上的真实推理时间和内存使用情况。
  </Accordion>

  <Accordion title="get_ai_model_profile_result / get_ai_model_local_profile_result — 检索结果">
    按模型 UID 轮询分析作业结果 — 云端或设备端。
  </Accordion>

  <Accordion title="compile_ai_model — 编译和定制模型">
    通过 AI Hub 针对特定设备目标编译模型，可选精度和优化设置。
  </Accordion>

  <Accordion title="get_ai_model_benchmark — 基准测试数据">
    返回模型的推理时间、内存使用、层数和工具版本。可按设备、精度和运行时过滤。
  </Accordion>

  <Accordion title="import_ai_model — 导入本地模型文件">
    将磁盘上已有的模型文件导入到扩展的模型缓存中。
  </Accordion>

  <Accordion title="remove_ai_model — 移除模型">
    从本地缓存中移除之前下载的模型。需要破坏性操作确认。
  </Accordion>

  <Accordion title="list_ai_model_device_types — 支持的设备类型">
    返回所有支持 AI Hub 分析和编译作业的设备类型。
  </Accordion>
</AccordionGroup>

***

### SDK 和操作系统镜像

通常在环境搭建期间使用一次 — 浏览目录、下载并安装适用于您开发套件的 SDK 和操作系统镜像。

<AccordionGroup>
  <Accordion title="download_devkit_software — 打包下载">
    在一次工具调用中同时下载操作系统镜像和 SDK。任一组件都可以省略。
  </Accordion>

  <Accordion title="list_sdk_catalog — 浏览可用 SDK">
    列出给定开发套件和操作系统版本的 SDK：名称、ID、主机架构、版本和下载 URL。
  </Accordion>

  <Accordion title="download_sdk / get_sdk_status / install_sdk — SDK 生命周期">
    **download\_sdk**：启动后台 SDK 下载。**get\_sdk\_status**：轮询进度和安装路径。**install\_sdk**：安装已下载的 SDK（Linux-only）。
  </Accordion>

  <Accordion title="list_os_image_catalog — 浏览操作系统镜像">
    列出开发套件的操作系统镜像：名称、ID、版本和下载元数据。
  </Accordion>

  <Accordion title="download_os_image / get_os_image_status — 操作系统镜像下载">
    **download\_os\_image**：启动后台操作系统镜像下载。
    **get\_os\_image\_status**：轮询进度并标记 CamX overlay 要求。
  </Accordion>
</AccordionGroup>

***

### Skills Hub

浏览和安装可扩展 AI 助手在此扩展中能力的智能体技能。

<AccordionGroup>
  <Accordion title="search_skills — 查找相关技能">
    使用加权匹配按名称、描述和标签搜索技能。自动按已连接设备的环境进行过滤。
  </Accordion>

  <Accordion title="download_skill — 安装技能">
    将技能安装到所选智能体的用户技能目录（Claude、Cursor 或 Codex）。
  </Accordion>

  <Accordion title="get_skill_documentation — 阅读技能的 SKILL.md">
    返回单个目录技能的完整文档，默认为与已连接环境最匹配的版本。
  </Accordion>

  <Accordion title="list_skills — 完整目录">
    列出所有已配置仓库中的每个技能，包括所有已发布版本和各版本的兼容性元数据。
  </Accordion>

  <Accordion title="delete_skill — 卸载技能">
    从智能体的技能目录中移除之前安装的技能。
  </Accordion>

  <Accordion title="refresh_skills_catalog — 强制刷新目录">
    绕过目录 TTL 并立即重新获取所有已配置的技能仓库。
  </Accordion>
</AccordionGroup>

***

### Overlay 配置

Qualcomm Linux 设备的高级配置 — 通过 SSH 检查和切换设备 overlay。

<AccordionGroup>
  <Accordion title="get_overlay_configuration — 读取 overlay 选项">
    返回活动设备的可用 overlay 类别、当前活动的 overlay 以及 upstream/downstream 选项。仅限 Qualcomm Linux。
  </Accordion>

  <Accordion title="apply_overlay_configuration — 应用 overlay 选择">
    通过 SSH 将所选的一组 overlay 选择应用到活动设备。仅限 Qualcomm Linux。
  </Accordion>
</AccordionGroup>

***

### Delta Flash（增量部署）

通过 SSH 将构建产物增量同步到设备 — 当只有少数文件更改时，比完整重新烧录更快。

<AccordionGroup>
  <Accordion title="preview_delta_flash — 试运行 rsync">
    运行 `rsync --dry-run` 以准确报告将传输哪些文件。不会对设备进行任何更改。仅限 Linux 和 macOS。
  </Accordion>

  <Accordion title="apply_delta_flash — 应用增量部署">
    通过 SSH 执行真正的 rsync。需要破坏性操作确认。可以选择运行后置命令（例如 `depmod`）并重启设备。仅限 Linux 和 macOS。
  </Accordion>
</AccordionGroup>

***

## 故障排除

<AccordionGroup>
  <Accordion title="侧边栏中 MCP 服务器显示 'Stopped'">
    1. 打开 VS Code 设置并确认 `qvsce.mcpServer.enabled` 已勾选。
    2. 检查是否有其他程序占用端口 3100（Linux/macOS 上使用 `lsof -i :3100`）。如果存在冲突，将 `qvsce.mcpServer.port` 更改为空闲端口。
    3. 重新加载 VS Code 窗口（`Ctrl+Shift+P` → **Developer: Reload Window**）。
  </Accordion>

  <Accordion title="AI 助手找不到任何工具">
    确认 MCP 客户端配置为连接到 `http://127.0.0.1:<port>/mcp`（而不是 `/sse` 或根路径）。服务器使用 **Streamable HTTP** 传输，而不是旧版仅 SSE 的传输。
  </Accordion>

  <Accordion title="search_cpp_samples 没有返回结果">
    `qvsce.cppRag.samplesDir` 设置可能为空或指向没有 `.cpp`/`.h` 文件的目录。将其设置为有效路径并调用 `build_cpp_rag_index` 以填充索引。
  </Accordion>

  <Accordion title="Linux-only 工具在 WSL 上失败">
    确保您已打开连接到 WSL 的 VS Code（状态栏应显示 **WSL: Ubuntu** 或类似内容），而不是使用在 Windows 侧安装了扩展的 Windows 原生 VS Code 窗口。
  </Accordion>
</AccordionGroup>
