使用说明
项目简介
MCP Windows Server 是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在为LLM(大型语言模型)客户端提供与Windows操作系统交互的能力。它通过注册和执行预定义的工具,允许LLM控制Windows系统的各种功能,例如窗口管理、媒体播放控制、剪贴板操作、屏幕截图、系统主题设置和发送系统通知。
主要功能点
- 窗口管理: 获取当前前台窗口信息、列出所有窗口、聚焦窗口、关闭窗口、最小化窗口。
- 媒体控制: 获取当前媒体会话信息、暂停和播放指定应用的媒体。
- 系统监控: 控制显示器休眠和唤醒。
- 剪贴板操作: 获取和设置剪贴板内容。
- 屏幕截图: 捕获指定窗口的屏幕截图。
- 主题设置: 设置Windows系统主题为深色或浅色模式。
- 系统通知: 发送Windows Toast通知。
安装步骤
-
环境准备: 确保你的系统已安装 Python 环境。推荐使用 'uv' 或 'uvx' 包管理器(根据仓库 'README.md' 提及)。如果未安装,请先安装 'uv' 或 'uvx'。你可以访问 https://astral.sh/uv 了解 'uv' 的安装方法。 'uvx' 可能是 'uv' 的一个变体或别名,如果 'uv' 不可用,可以尝试搜索 'uvx' 的安装方法。
-
下载仓库代码: 从 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' 仓库代码的本地路径。
基本使用方法
-
启动 MCP 服务器: 配置好 MCP 客户端后,启动你的 MCP 客户端。客户端会根据配置启动 'mcp-windows' 服务器。服务器会在后台运行,并通过标准输入/输出 (stdio) 与客户端通信。
-
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(...)' 注解定义的工具函数名。
-
参数传递: 部分工具需要参数,例如 'focus_window' 和 'send_toast'。你需要根据工具的定义,在 MCP 请求中以 JSON 格式传递正确的参数。具体参数类型和要求请参考仓库代码中工具函数的定义。
注意:
- 确保你的 MCP 客户端正确配置并成功连接到 'mcp-windows' 服务器。
- 工具的可用性和行为受限于 Windows 操作系统以及相关 API 的权限和功能。
- 详细的工具参数和返回值类型,请参考仓库源代码。
信息
分类
桌面与硬件