使用说明

项目简介

MCP Windows Server 是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在为LLM(大型语言模型)客户端提供与Windows操作系统交互的能力。它通过注册和执行预定义的工具,允许LLM控制Windows系统的各种功能,例如窗口管理、媒体播放控制、剪贴板操作、屏幕截图、系统主题设置和发送系统通知。

主要功能点

  • 窗口管理: 获取当前前台窗口信息、列出所有窗口、聚焦窗口、关闭窗口、最小化窗口。
  • 媒体控制: 获取当前媒体会话信息、暂停和播放指定应用的媒体。
  • 系统监控: 控制显示器休眠和唤醒。
  • 剪贴板操作: 获取和设置剪贴板内容。
  • 屏幕截图: 捕获指定窗口的屏幕截图。
  • 主题设置: 设置Windows系统主题为深色或浅色模式。
  • 系统通知: 发送Windows Toast通知。

安装步骤

  1. 环境准备: 确保你的系统已安装 Python 环境。推荐使用 'uv' 或 'uvx' 包管理器(根据仓库 'README.md' 提及)。如果未安装,请先安装 'uv' 或 'uvx'。你可以访问 https://astral.sh/uv 了解 'uv' 的安装方法。 'uvx' 可能是 'uv' 的一个变体或别名,如果 'uv' 不可用,可以尝试搜索 'uvx' 的安装方法。

  2. 下载仓库代码: 从 GitHub 仓库 https://github.com/SecretiveShell/mcp-windows 下载源代码,并解压到本地目录,例如 'C:\Users{你的用户名}\Documents\mcp-windows'。

服务器配置

MCP 服务器需要配置在 MCP 客户端中才能使用。以下是针对 'mcp-windows' 服务器的客户端配置示例(JSON 格式),你需要将其添加到你的 MCP 客户端的配置文件中。

使用 'uvx' 命令 (推荐,如果你的环境支持 'uvx')

{
  "mcpServers": {
    "windows": {
      "command": "uvx",  // 启动服务器的命令,这里假设 uvx 可用
      "args": [
        "mcp-windows" // 命令参数,指定运行 mcp-windows
      ]
    }
  }
}

使用 'uv' 命令 (本地开发环境)

{
  "mcpServers": {
    "windows": {
      "command": "uv",  // 启动服务器的命令,这里假设 uv 可用
      "args": [
        "--directory",  // 指定工作目录
        "C:\\Users\\{你的用户名}\\Documents\\mcp-windows", //  请替换为你的 mcp-windows 仓库的实际本地路径
        "run",          //  运行命令
        "mcp-windows"   //  运行 mcp-windows
      ]
    }
  }
}

配置说明:

  • '"mcpServers"': MCP 客户端配置 MCP 服务器的根节点。
  • '"windows"': 为该 MCP 服务器自定义的名称,客户端通过此名称引用该服务器。
  • '"command"': 启动 MCP 服务器的命令。根据你的环境选择 'uvx' 或 'uv'。
  • '"args"': 传递给启动命令的参数。
    • 使用 'uvx' 时,参数简单指定 'mcp-windows' 即可。
    • 使用 'uv' 时,需要使用 '--directory' 指定仓库目录,并使用 'run mcp-windows' 运行。
    • 重要: 请将 'C:\Users\{你的用户名}\Documents\mcp-windows' 替换为你实际解压 'mcp-windows' 仓库代码的本地路径。

基本使用方法

  1. 启动 MCP 服务器: 配置好 MCP 客户端后,启动你的 MCP 客户端。客户端会根据配置启动 'mcp-windows' 服务器。服务器会在后台运行,并通过标准输入/输出 (stdio) 与客户端通信。

  2. LLM 调用工具: 在 LLM 应用中,你可以通过 MCP 协议调用 'mcp-windows' 服务器提供的工具。工具名称由模块名和工具函数名组成,并使用下划线 '_' 分隔。例如:

    • 'windows_get_foreground_window_info': 获取前台窗口信息 (来自 'window_management' 模块)
    • 'media_get_media_sessions': 获取媒体会话信息 (来自 'media' 模块)
    • 'notifications_send_toast': 发送系统通知 (来自 'notifications' 模块)
    • ... 等等,请参考仓库代码中 'src/mcp_windows' 目录下各个 '.py' 文件中 '@mcp.tool(...)' 注解定义的工具函数名。
  3. 参数传递: 部分工具需要参数,例如 'focus_window' 和 'send_toast'。你需要根据工具的定义,在 MCP 请求中以 JSON 格式传递正确的参数。具体参数类型和要求请参考仓库代码中工具函数的定义。

注意:

  • 确保你的 MCP 客户端正确配置并成功连接到 'mcp-windows' 服务器。
  • 工具的可用性和行为受限于 Windows 操作系统以及相关 API 的权限和功能。
  • 详细的工具参数和返回值类型,请参考仓库源代码。

信息

分类

桌面与硬件