Desktop Image Manager MCP Server
The Desktop Image Manager MCP Server allows you to manage desktop images with these capabilities:
Count the total number of image files on the desktop
List all image file names on the desktop
Compress image files (JPG, PNG, WebP, etc.) with customizable quality settings
Integrates with macOS desktop to access and manage image files, with instructions for configuration on macOS systems
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Desktop Image Manager MCP Servercompress my vacation photos with 85% quality"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Desktop Image Manager MCP Server
基于 Model Context Protocol (MCP) 开发的桌面图片管理服务器,提供图片文件统计、查看和压缩功能。
操作示例:
https://claude.ai/share/0ffbad1e-502e-4188-b008-0bb966acf06d
Related MCP server: MCP File Operations Server
功能特性
统计桌面图片数量:快速获取桌面上的图片文件总数
获取图片列表:列出桌面上所有图片文件的名称
图片压缩:支持压缩 JPG、PNG、WebP 等格式的图片文件,可自定义压缩质量
实现提示
让 Trae 引用 ./demand.md 进行功能代码生成,简化版如下
... (这里是已经引入的 domain knowledge)
打造一个 MCP 服务器,它能够:
- 功能:
- 统计当前桌面上的图片文件数量
- 获取对应文件的名称
- 支持压缩图片
要求:
- 不需要给出 prompt 和 resource 相关代码。
- 你可以假设我的桌面路径为 /Users/{username}/Desktop支持的图片格式
JPG/JPEG
PNG
GIF
BMP
WebP
TIFF
SVG
环境要求
Node.js >= 16
pnpm >= 8
安装
# 克隆项目
git clone <repository-url>
cd desktop-image-manager
# 安装依赖
pnpm install开发
# 启动开发服务器
pnpm dev构建和运行
# 构建项目
pnpm build
# 运行服务器
pnpm start调试
# 调试 MCP 服务
pnpm inspectorMCP 工具使用说明
1. 统计桌面图片数量
# 构建项目
pnpm build
# 运行服务器
pnpm start2. 获取图片列表
// 工具名称: list-desktop-images
// 参数: 无
await client.callTool({
name: "list-desktop-images"
});3. 压缩图片
// 工具名称: compress-image
// 参数:
// - fileName: 要压缩的图片文件名
// - quality: 压缩质量 (1-100),默认 80
// - outputName: 输出文件名(可选)
await client.callTool({
name: "compress-image",
arguments: {
fileName: "example.jpg",
quality: 75,
outputName: "example-compressed.jpg"
}
});开发
# 启动开发服务器
pnpm dev安装
使用 Claude Desktop 添加如下配置 config:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"desktop-image-manager": {
"command": "npx",
"args": [
"-y",
"@jzone-mcp/desktop-image-manager-mcp"
]
}
}注意事项
确保有足够的桌面访问权限
大文件压缩可能需要较长时间
压缩后的文件默认保存在桌面,文件名会添加 "-compressed" 后缀
技术栈
TypeScript
MCP SDK
Sharp (图片处理)
fs-extra (文件操作)
zod (参数验证)
许可证
MIT License
这个 README 文件包含了项目的主要信息、安装说明、使用方法和注意事项。如果您需要添加或修改任何内容,请告诉我。Available Tools
3 toolscompress-imageC
压缩图片
| Name | Required | Description | Default |
|---|---|---|---|
| fileName | Yes | 要压缩的图片文件名 | |
| outputName | No | 输出文件名 (可选) | |
| quality | No | 压缩质量 (1-100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('compress image') but doesn't describe key behaviors like whether the original file is modified or replaced, if a new file is created, error handling, or performance considerations. This leaves significant gaps for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with just two characters ('压缩图片'), which is front-loaded and wastes no words. For a simple tool, this brevity is efficient, though it may sacrifice clarity. Every element earns its place by directly stating the core function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (a mutation operation with 3 parameters) and lack of annotations and output schema, the description is incomplete. It doesn't cover behavioral aspects, usage context, or output details, leaving the agent with insufficient information to invoke the tool correctly without guesswork.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with clear descriptions for fileName, outputName, and quality parameters. The description adds no additional meaning beyond the schema, such as explaining parameter interactions or constraints. Baseline score of 3 is appropriate since the schema adequately documents parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '压缩图片' (compress image) states the basic verb and resource but is vague about scope and implementation details. It doesn't specify what type of compression (e.g., lossy/lossless), supported formats, or how it differs from sibling tools like count-desktop-images and list-desktop-images. The purpose is understandable but lacks specificity and differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives or any prerequisites. The description doesn't mention context for usage, such as when compression is needed or what happens to the original file. Without annotations or explicit instructions, the agent must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
count-desktop-imagesB
统计桌面上的图片文件数量
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states what the tool does (counts images) but doesn't describe how it behaves—e.g., whether it's read-only, if it accesses system files, potential errors, or output format. This leaves significant gaps in understanding the tool's operational characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's function with no wasted words. It's front-loaded and appropriately sized for a simple tool with no parameters, making it easy to parse and understand quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose but lacks details on behavior, output format, or usage context. For a counting tool, this is acceptable but leaves room for improvement in guiding the agent effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and schema description coverage is 100%, so there's no need for parameter details in the description. The baseline for this scenario is 4, as the description appropriately focuses on the tool's purpose without redundant parameter information, though it doesn't add extra value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('统计' meaning 'count') and resource ('桌面上的图片文件' meaning 'desktop image files'), making it immediately understandable. However, it doesn't explicitly differentiate from its sibling 'list-desktop-images', which likely lists files rather than counting them, so it misses the highest clarity tier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'list-desktop-images' or 'compress-image'. It lacks any context about use cases, prerequisites, or exclusions, leaving the agent to infer usage based solely on the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-desktop-imagesB
获取桌面上的图片文件名称列表
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves a list of image file names, implying a read-only operation, but doesn't specify whether it requires permissions, how it handles errors, what formats are supported, or if there are rate limits. For a tool with zero annotation coverage, this leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence in Chinese that directly states the tool's purpose without any fluff or redundancy. It's front-loaded with the core action and resource, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is minimally adequate. It explains what the tool does but lacks details on behavior, usage context, or output format. For a basic read operation, this might suffice, but it could benefit from more completeness regarding how the list is structured or returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, and baseline for 0 parameters is 4. It adds no extra parameter semantics, but that's acceptable here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('获取' meaning 'get' or 'retrieve') and resource ('桌面上的图片文件名称列表' meaning 'list of image file names on the desktop'). It's specific about what it returns (file names, not file contents or metadata). However, it doesn't explicitly differentiate from sibling tools like 'count-desktop-images' which might return a count rather than a list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'compress-image' (for processing) or 'count-desktop-images' (for counting), nor does it specify any prerequisites, exclusions, or contextual factors for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v1.0.0- First observed
compress-image - First observed
count-desktop-images - First observed
list-desktop-images
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose with no overlap: compress-image modifies images, count-desktop-images provides quantitative data, and list-desktop-images provides qualitative data. An agent can easily distinguish between compression, counting, and listing operations.
The tools follow a consistent verb_noun pattern (compress-image, count-desktop-images, list-desktop-images), but the use of hyphens instead of underscores is a minor deviation from the typical snake_case convention. The naming is still highly readable and predictable.
With only 3 tools, the server feels thin for a 'Desktop Image Manager' domain, as it lacks operations like viewing, deleting, moving, or converting images. While the tools cover basic tasks, the count is borderline low for managing desktop images comprehensively.
There are significant gaps in the tool surface for image management: no tools for viewing images, deleting files, moving/organizing images, converting formats, or editing metadata. The server only covers compression, counting, and listing, which is insufficient for full lifecycle management of desktop images.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
The Google Compute Engine MCP server is a fully-managed Model Context Protocol server that provides tools to manage Google Compute Engine resources through AI agents. It enables capabilities including instance management (creating, starting, stopping, resetting, listing), disk management, handling instance templates and group managers, viewing machine and accelerator types, managing images, and accessing reservation and commitment information. The server operates as a zero-deployment, enterprise-grade endpoint at https://compute.googleapis.com/mcp with built-in IAM-based security.
Model Context Protocol server for Studex tools, notifications, and profile integrations
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceA Model Context Protocol server that provides file system operations, analysis, and manipulation capabilities through a standardized tool interface.6MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables Claude Desktop to perform file operations like reading, writing, listing directories, and managing files through natural language commands.MIT
- FlicenseNot gradedqualityCmaintenanceA comprehensive Model Context Protocol server that provides over 50 file and system management tools for AI models, including navigation, file operations, search, compression, and system information capabilities.-
- AlicenseBqualityDmaintenanceAn MCP server designed for managing files and folders specifically on the Windows Desktop. It enables users to perform file operations like deletion while implementing security measures to prevent path traversal outside the Desktop directory.1MIT