内容
# @glassypic/mcp-server
[](https://www.npmjs.com/package/@glassypic/mcp-server)
[](https://opensource.org/licenses/MIT)
[](https://modelcontextprotocol.io)
适用于 [GlassyPic](https://glassypic.com) 的 MCP 服务器。这是一款将原始图像转换为生产就绪资产的工具。支持放大、调整大小/裁剪、压缩、文件格式转换和 SEO 文件名及替代文本生成。只需用自然语言描述您想要的结果。
## 快速开始
将以下内容添加到您的 MCP 客户端配置中:
```json
{
"mcpServers": {
"glassypic": {
"command": "npx",
"args": ["-y", "@glassypic/mcp-server@latest"]
}
}
}
```
无需注册开户,即可开箱即用,每天免费 20 次。
### 客户端特定设置
<details>
<summary><strong>Claude Desktop</strong></summary>
编辑 `~/Library/Application Support/Claude/claude_desktop_config.json`(macOS)或 `%APPDATA%\Claude\claude_desktop_config.json`(Windows):
```json
{
"mcpServers": {
"glassypic": {
"command": "npx",
"args": ["-y", "@glassypic/mcp-server@latest"]
}
}
}
```
</details>
<details>
<summary><strong>Claude Code</strong></summary>
```bash
claude mcp add glassypic -- npx -y @glassypic/mcp-server@latest
```
</details>
<details>
<summary><strong>Cursor</strong></summary>
将以下内容添加到项目根目录下的 `.cursor/mcp.json`:
```json
{
"mcpServers": {
"glassypic": {
"command": "npx",
"args": ["-y", "@glassypic/mcp-server@latest"]
}
}
}
```
</details>
<details>
<summary><strong>Windsurf</strong></summary>
编辑 `~/.codeium/windsurf/mcp_config.json`:
```json
{
"mcpServers": {
"glassypic": {
"command": "npx",
"args": ["-y", "@glassypic/mcp-server@latest"]
}
}
}
```
</details>
<details>
<summary><strong>Cline</strong></summary>
打开 Cline 设置 → MCP 服务器 → 添加,然后粘贴:
```json
{
"mcpServers": {
"glassypic": {
"command": "npx",
"args": ["-y", "@glassypic/mcp-server@latest"]
}
}
}
```
</details>
<details>
<summary><strong>Gemini CLI</strong></summary>
```bash
gemini mcp add --transport stdio glassypic npx -y @glassypic/mcp-server@latest
```
或编辑 `~/.gemini/settings.json`(全局)或项目根目录下的 `.gemini/settings.json`:
```json
{
"mcpServers": {
"glassypic": {
"command": "npx",
"args": ["-y", "@glassypic/mcp-server@latest"]
}
}
}
```
在 Gemini CLI 中通过 `/mcp list` 验证它是否正在运行。
</details>
<details>
<summary><strong>OpenAI Codex CLI</strong></summary>
```bash
codex mcp add glassypic -- npx -y @glassypic/mcp-server@latest
```
或手动编辑 `~/.codex/config.toml`:
```toml
[mcp_servers.glassypic]
command = "npx"
args = ["-y", "@glassypic/mcp-server@latest"]
```
</details>
## 工具:`optimize_image`
这是一款使用 AI 算法和多步骤代理(通常可减少 60-80% 的大小)的工具,可将原始图像转换为生产就绪的资产,并可选地进行调整大小、放大、格式转换和 SEO 元数据生成。支持 JPEG、PNG、WebP、HEIC、GIF、AVIF、TIFF 和 BMP。接受绝对本地文件路径或远程 URL。
### 参数
| 参数 | 类型 | 必需 | 默认值 | 描述 |
| --- | --- | --- | --- | --- |
| `input` | 字符串 | 是 | - | 绝对本地文件路径或远程 URL |
| `output_path` | 字符串 | 否 | 自动 | 文件路径或目录(以 `/` 结尾)。如果省略:在原始文件旁边保存,并带有 SEO 斜线或 `.glassypic` 后缀 |
| `output_format` | 字符串 | 否 | 原始 | `jpg`、`png`、`webp`、`avif`、`gif` 或 `original` |
| `output_width_px` | 整数 | 否 | - | 目标像素宽度 |
| `output_height_px` | 整数 | 否 | - | 目标像素高度 |
| `output_upscale_factor` | 整数 | 否 | - | AI 放大因子:`2`(2 倍)或 `4`(4 倍) |
| `output_resize_behavior` | 字符串 | 否 | 填充 | `pad`(白色填充)或 `crop`(智能裁剪)。仅在设置了宽度和高度时使用 |
| `output_seo_tag_gen` | 布尔值 | 否 | 真 | 生成 SEO 元数据并将文件重命名为 SEO 斜线。额外消耗 1 个积分 |
| `output_file_size_limit` | 整数 | 否 | - | 目标最大输出文件大小(字节)。服务器尝试通过额外压缩来满足此要求。不保证 |
| `gif_frame_limit` | 整数 | 否 | 100 | 要处理的动画 GIF 的最大帧数(1-100)。通过采样较少的帧减少积分成本 |
| `confirm_gif_cost` | 布尔值 | 否 | - | 设置为 `true` 以在查看动画 GIF 成本警告后继续。适用于动画 GIF |
### 调整大小行为
| 提供的尺寸 | 行为 | `output_resize_behavior` |
| --- | --- | --- |
| 仅宽度 | 按比例缩放 | 不适用 |
| 仅高度 | 按比例缩放 | 不适用 |
| 宽度 + 高度 | 精确尺寸,白色填充 | `pad`(默认) |
| 宽度 + 高度 | 精确尺寸,智能裁剪 | `crop` |
### 示例
**基本压缩** - 仅压缩,保持格式和尺寸:
```json
{ "input": "/Users/me/photos/hero.png" }
```
**转换为 WebP:**
```json
{ "input": "/Users/me/hero.png", "output_format": "webp" }
```
**按比例调整大小** - 设置一个尺寸,另一个尺寸缩放:
```json
{ "input": "/Users/me/hero.png", "output_width_px": 1200 }
```
**精确尺寸,白色填充** - 白色条填充空白:
```json
{ "input": "/Users/me/hero.png", "output_width_px": 1080, "output_height_px": 1080 }
```
**精确尺寸,智能裁剪:**
```json
{ "input": "/Users/me/hero.png", "output_width_px": 1080, "output_height_px": 1080, "output_resize_behavior": "crop" }
```
**AI 4 倍放大:**
```json
{ "input": "/Users/me/icon.png", "output_upscale_factor": 4 }
```
**从 URL 保存到目录:**
```json
{ "input": "https://example.com/photo.jpg", "output_path": "/Users/me/assets/" }
```
**跳过 SEO 以节省 1 个积分:**
```json
{ "input": "/Users/me/hero.png", "output_seo_tag_gen": false }
```
### 输出
返回文本摘要和结构化元数据:
```
优化:/Users/me/photos/modern-office-workspace.webp
大小:142.3 KB
压缩率:73%
格式:webp
尺寸:1920x1080
替代文本:现代办公空间,配备笔记本电脑和咖啡杯,放在木制桌子上
```
**结构化输出字段:**
```json
{
"output_path": "/Users/me/photos/modern-office-workspace.webp",
"output_size_bytes": 145715,
"output_width_px": 1920,
"output_height_px": 1080,
"output_format": "webp",
"compression_ratio": 0.27,
"seo_alt_text": "现代办公空间,配备笔记本电脑和咖啡杯,放在木制桌子上",
"seo_keywords": ["办公室", "工作空间", "笔记本电脑", "桌子", "现代"],
"seo_filename": "modern-office-workspace"
}
```
## 支持的格式
| 格式 | 输入 | 输出 | 备注 |
| --- | --- | --- | --- |
| JPG | 是 | 是 | |
| PNG | 是 | 是 | |
| WebP | 是 | 是 | |
| AVIF | 是 | 是 | |
| GIF | 是 | 是 | 动画 GIF 在输出为 GIF 时保留 |
| SVG | 是 | 是 | SVG→SVG 通过 SVGO 优化;栅格↔SVG 转换支持 |
| ICO | 是 | 是 | 智能重建:生成 16、24、32、48、256px favicon 集 |
| HEIC/HEIF | 是* | 否 | 自动转换为 JPG 上传 |
| TIFF | 是* | 否 | 自动转换为 JPG 上传 |
| BMP | 是* | 否 | 自动转换为 JPG 上传 |
GlassyPic 支持任意输入和输出格式组合的高质量转换。
将动画 GIF 转换为非 GIF 格式(JPG、PNG、WebP、AVIF)仅保留第一帧。
将动画 GIF 转换为 GIF 格式支持在保留动画和质量的同时进行缩放/调整大小。您还可以通过减少输出帧数来减小动画 GIF 文件大小。
最大上传文件大小:50 MB。
### SVG 和 ICO 示例
```
# 优化 SVG 文件(保持为矢量)
优化 logo.svg 并保持为 SVG
# 将 SVG 转换为栅格
将 icon.svg 转换为 512x512 PNG
# 将栅格跟踪到矢量 SVG
将 my logo.png 转换为矢量 SVG
# 从任意图像生成 favicon 集
将 logo.png 转换为 ICO favicon
# 生成单尺寸 ICO
将 logo.png 转换为 32x32 ICO
# 从 ICO 中提取最大图标
将 favicon.ico 转换为 PNG
```
## 工作原理
```
本地文件或 URL
→ 上传到 GlassyPic API
→ 智能压缩(有损,通常减少 60-80%)
→ AI SEO 标签生成(替代文本、关键词、文件名)
→ 可选:调整大小、放大、格式转换
→ 下载优化文件
→ 保存带有 SEO 文件名斜线(或如果禁用 SEO,则为 .glassypic 后缀)
```
所有处理过程都在服务器端通过 [GlassyPic API](https://api.glassypic.com) 进行。MCP 服务器是一个薄客户端,用于协调处理流程。
## 积分
| | 访客 | 免费 | 专业版 | 最大 |
| --- | --- | --- | --- | --- |
| 每天或每月积分 | 20/天 | 50/天 | 3,000/月 | 10,000/月 |
| 图片/天(默认设置) | ~5 | ~12 | ~750 | ~2,500 |
| 每张图片费用 | 3 积分 + 1 SEO | 相同 | 相同 | 相同 |
| 需要注册 | 否 | 免费注册 | 付费 | 付费 |
会话数据存储在 `~/.glassypic/session.json`,并在调用之间持续存在。
## 账户和积分
登录以解锁更多积分并在 Web 应用程序和 MCP 服务器之间共享:
```
使用登录工具登录。
使用状态工具检查当前积分。
使用升级工具打开定价页面。
使用注销工具注销。
```
### 登录
打开浏览器窗口以完成登录(Google、Facebook 或电子邮件/神奇链接)。批准后,您的帐户将被链接,积分将在 Web 应用程序和 MCP 服务器之间共享。
```
登录完成:user@example.com(专业版,剩余 2,850 个积分)
```
### 状态
检查当前帐户状态和积分,然后再进行批量处理:
```
已登录为 user@example.com(专业版)
积分:2,850 / 3,000 剩余
重置:2026 年 3 月 1 日 12:00 AM PST
```
### 注销
撤销会话并恢复访客模式(每天 20 个积分)。
### 升级
在浏览器中打开 [glassypic.com/pricing](https://glassypic.com/pricing)。
## AI 代理提示
将此内容粘贴到您的 `CLAUDE.md` 或系统提示中,帮助代理有效使用该工具:
```
## GlassyPic MCP
工具:optimize_image, login, logout, status, upgrade
- 使用状态检查积分,然后再进行批量处理
- 每个 optimize_image 调用费用为 3 积分 + 1(如果启用 SEO)
- 访客:每天 20 个积分。免费帐户:每天 50 个积分。专业版:每月 3,000 个积分。
- 始终使用绝对文件路径,而不是相对路径。
- 设置宽度或高度以按比例调整大小。设置两者以获得精确尺寸。
- 设置宽度和高度时,使用 output_resize_behavior: "crop" 表示照片,使用 "pad" 表示徽标/图标。
- output_seo_tag_gen(默认为 true)将文件名重命名为 SEO 斜线并生成替代文本 + 关键词。
- 设置 output_seo_tag_gen: false 以节省 1 个积分(不需要 SEO 元数据时)。
- GIF 支持输入和输出;动画 GIF 在输出格式为 "gif" 时保持动画。
- 将动画 GIF 转换为 jpg/png/webp/avif 只保留第一帧。
- HEIC、TIFF、BMP 输入自动转换为 JPG。
- 对于批量处理,每个文件调用 optimize_image 一次。
- 如果积分用完,请使用登录功能登录或升级以查看定价。
```
## 故障排除
**工具列表中服务器未显示:**
- 在编辑配置后重启 MCP 客户端
- 确保已安装 Node.js >= 18:`node --version`
- 尝试直接运行:`npx -y @glassypic/mcp-server@latest`(应无错误启动)
**“积分不足”错误:**
- 使用 `status` 工具检查剩余积分
- 使用 `login` 工具登录以获取更多积分(免费帐户每天 50 个积分)
- 使用 `upgrade` 工具查看付费计划(专业版:3,000/月,最大:10,000/月)
- 禁用 SEO 标签(`output_seo_tag_gen: false`)以将成本降低到每张图片 3 个积分
**登录浏览器窗口无法打开:**
- 手动打开此网址:`https://glassypic.com/mcp/authorize` 并输入终端中显示的代码
- 确保已安装并可访问浏览器
**会话令牌问题:**
- 会话数据存储在 `~/.glassypic/session.json`
- 删除此文件以重置并重新开始
- 使用 `logout` 然后 `login` 以重新认证
**文件未找到:**
- 使用本地文件的绝对路径
- 对于 URL,请确保图像是公开可访问的
**超时错误:**
- 大型图像或 AI 放大可能需要 30-60 秒
- 服务器每个作业有 60 秒超时限制
## 要求
- Node.js >= 18
- 兼容 MCP 的客户端(Claude Desktop、Claude Code、Cursor、Windsurf、Cline、OpenAI Codex CLI、Gemini CLI 等)
## 许可证
MIT - 请参阅 [LICENSE](LICENSE)。