项目简介
Desktop Image Manager MCP Server 是一个基于 Model Context Protocol (MCP) 开发的桌面图片管理服务器。它允许LLM客户端(如 Claude)通过MCP协议调用本地功能,实现对桌面图片的管理和处理。
主要功能点
- 统计桌面图片数量:快速获取您桌面上的图片文件总数。
- 获取图片列表:列出桌面所有图片文件的名称,方便LLM进行选择和操作。
- 图片压缩:支持对桌面上的 JPG、PNG、WebP 等格式图片进行压缩,并可自定义压缩质量,节省存储空间。
安装步骤
-
克隆仓库
首先,您需要将 GitHub 仓库克隆到本地:
git clone https://github.com/zhixiaoqiang/desktop-image-manager-mcp cd desktop-image-manager-mcp -
安装依赖
确保您的环境中已安装 Node.js (>= 16) 和 pnpm (>= 8)。然后使用 pnpm 安装项目依赖:
pnpm install -
构建项目
运行以下命令构建项目,生成可执行的服务器代码:
pnpm build -
启动服务器
构建完成后,通过以下命令启动 MCP 服务器:
pnpm start服务器默认通过标准输入/输出 (stdio) 与 MCP 客户端通信。
服务器配置
要将此 MCP 服务器与 MCP 客户端(例如 Claude Desktop)配合使用,您需要在客户端的配置文件中添加服务器配置信息。以 Claude Desktop 为例,您需要编辑 'claude_desktop_config.json' 文件,该文件通常位于:
- MacOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
- Windows: '%APPDATA%/Claude/claude_desktop_config.json'
在配置文件中添加如下 JSON 配置,以注册 'desktop-image-manager' 服务器:
{ "desktop-image-manager": { // 服务器名称,在客户端中用于标识和调用 "command": "npx", // 启动服务器的命令,这里使用 npx 运行 npm 包 "args": [ // 传递给命令的参数 "-y", // npx 参数,自动确认安装包 "@jzone-mcp/desktop-image-manager-mcp" // 服务器的 npm 包名称,package.json 中 name 字段的值 ] } }
配置参数说明:
- '"desktop-image-manager"': 服务器名称,客户端通过此名称识别和调用该服务器。您可以自定义名称,但需要与客户端调用时保持一致。
- '"command": "npx"': 启动命令。 'npx' 是 Node.js 的包执行器,用于运行本地或 npm 安装的包。
- '"args"': 命令参数,一个字符串数组,传递给启动命令 'npx'。
- '"-y"': 'npx' 的参数,表示自动确认安装缺少的 npm 包,避免运行时交互。
- '"@jzone-mcp/desktop-image-manager-mcp"': 要执行的 npm 包名称,这里指向当前 MCP 服务器的 npm 包。请确保 'package.json' 中的 'name' 字段与此处一致。
配置完成后,Claude Desktop 客户端即可识别并连接到此 MCP 服务器。
基本使用方法
配置完成后,LLM客户端(如 Claude)即可通过 MCP 协议调用此服务器提供的工具。以下是一些基本使用示例,展示了如何通过客户端调用服务器提供的功能:
-
统计桌面图片数量
客户端可以调用 'count-desktop-images' 工具来获取桌面图片数量。服务器将返回包含图片数量的文本信息。
-
获取图片列表
客户端可以调用 'list-desktop-images' 工具来获取桌面图片的文件名列表。服务器将返回包含图片文件名的文本列表。
-
压缩图片
客户端可以调用 'compress-image' 工具来压缩指定的图片文件。调用时需要提供以下参数:
- 'fileName': 要压缩的图片文件名 (字符串)。
- 'quality': 压缩质量,范围 1-100 (数字,可选,默认为 80)。
- 'outputName': 输出文件名 (字符串,可选)。
例如,客户端可以发送如下 JSON-RPC 请求来压缩名为 'example.jpg' 的图片:
{ "jsonrpc": "2.0", "method": "callTool", "params": { "name": "compress-image", "arguments": { "fileName": "example.jpg", "quality": 60 } }, "id": "compress-image-1" }服务器执行压缩操作后,会将压缩结果(包括压缩前后文件大小、节省空间百分比等)以文本形式返回给客户端。压缩后的文件默认保存在桌面,文件名会添加 "-compressed" 后缀。
请注意: LLM客户端的具体调用方式和界面可能有所不同,请参考您使用的LLM客户端的文档或界面操作指南来调用 MCP 服务器的功能。
信息
分类
桌面与硬件