逆象MCP服务
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"nx-mcp": {
"args": [
"-y",
"nx-mcp-server"
],
"command": "npx",
"env": {
"NX_API_KEY": "your-key"
}
}
}
}
该服务需要配置环境变量:NX_API_KEY
可用工具 (1 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
nx_compress 5 个参数
远程智能压缩图片。两种方式:①传 urls(HTTP链接或本地路径);②传 files(dataUrl 格式)。支持 PNG/JPEG/BMP/WebP/TGA。支持 output 参数直接写入本地文件
该工具无需必填参数,直接调用即可
服务介绍
NX MCP Server
远程图片压缩 MCP Server,调用 NX API 对图片进行智能压缩,返回七牛 CDN URL 及压缩比。支持 Stdio 和 Streamable HTTP 双传输模式。
工具列表
| 工具 | 说明 |
|---|---|
nx_compress |
智能压缩图片,支持 HTTP URL / 本地路径 / dataUrl / base64,可自动覆盖或另存 |
nx_compress 参数
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
urls |
string[] |
与 files 二选一 | - | 图片列表,支持 HTTP(S) URL、本地绝对路径、data URL |
files |
string[] |
与 urls 二选一 | - | dataUrl 格式图片列表(data:image/...;base64,...) |
quality |
integer |
否 | 90 |
压缩质量 1~100,越大质量越高 |
output |
string |
否 | - | "overwrite" 覆盖原文件 / 目录路径另存(如 E:/output/) |
urls和files可同时传,合并后按顺序处理。
两种请求模式
根据传入内容自动选择:
| 模式A:JSON | 模式B:FormData | |
|---|---|---|
| 触发条件 | 全部是 HTTP(S) URL | 含本地路径 / dataUrl / files |
| 请求头 | Content-Type: application/json + Authorization |
Authorization(FormData 自动设 Content-Type) |
| 请求体 | {"urls":[...], "quality":90} |
multipart: files=[Blob,...], quality=90 |
| 适用 | 远程 MCP / 图片已在 CDN | 本地 MCP / 直接传图片数据 |
返回中的
mode字段标明实际使用的模式("json"/"formdata")。
传入内容限制
| 传入方式 | 本地 MCP(Stdio / localhost HTTP) | 远程 MCP(云端部署) | 说明 |
|---|---|---|---|
| HTTP(S) URL | ✅ | ✅ | 远程唯一可用方式 |
本地绝对路径 C:\... /path/... |
✅ | ❌ | MCP Server 直接读磁盘,远程无法访问 |
data URL data:image/...;base64,... |
✅ | ⚠️ 受限 | HTTP 模式默认 50MB body 限制,超限用本地路径 |
files 参数 |
✅ | ⚠️ 受限 | 同上,走 FormData 模式 |
各场景推荐用法
# 本地 Claude Code(Stdio,无限制)
nx_compress urls: ["C:/Users/me/photo.png"] quality: 80 output: "overwrite"
# 远程 / npx(只能传 HTTP 链接)
nx_compress urls: ["https://cdn.example.com/photo.png"] quality: 80
API Key 配置
优先级:参数 apiKey > 环境变量 NX_API_KEY
方式一:MCP 环境变量
{
"mcpServers": {
"nx-mcp": {
"command": "node",
"args": ["/path/to/mcp-server/src/index.js"],
"env": {
"NX_API_KEY": "your-key"
}
}
}
}
方式二:npm 包参数传入
import {compressImage} from 'nx-mcp-server/src/nx-api.js';
const result=await compressImage({
urls:['https://example.com/photo.png'],
apiKey:'your-key',
});
output 输出模式
| output 值 | 效果 | 示例 |
|---|---|---|
| 不传 | 只返回 CDN URL,不写文件 | 预览用 |
"overwrite" |
下载压缩版覆盖原文件 | 仅本地路径有效 |
| 目录路径 | 下载压缩版另存到指定目录 | E:/output/ 或 /tmp/out/ |
返回示例(含 output):
{
"success": true,
"mode": "formdata",
"items": [
{
"originalUrl": "E:/images/photo.png",
"compressedUrl": "https://qiniucdn.nxtici.cn/compressed/xxx.png",
"originalSize": 3156532,
"compressedSize": 397952,
"ratio": "87.4%",
"outputPath": "E:/images/photo.png",
"outputSize": 397952
}
],
"summary": { "total": 1, "success": 1, "failed": 0 },
"output": { "mode": "overwrite", "count": 1 }
}
快速开始
方式一:魔搭 MCP 广场(推荐)
在魔搭 MCP 广场搜索 NX MCP Server,一键同步到 Cherry Studio 或复制配置到其他客户端。
方式二:npx 一键运行(Claude Code / 其他客户端)
{
"mcpServers": {
"nx-mcp": {
"command": "npx",
"args": ["-y", "nx-mcp-server"],
"env": {
"NX_API_KEY": "your-key"
}
}
}
}
传输模式
| 模式 | 环境变量 | body 限制 | 适用 |
|---|---|---|---|
| Stdio(默认) | 不设 | 无限制 | Claude Code、Cherry Studio 本地 |
| HTTP | MCP_TRANSPORT=http |
50MB(JSON/FormData) | 云端托管 |
HTTP 模式启动:
MCP_TRANSPORT=http MCP_PORT=3000 NX_API_KEY=your-key node src/index.js
# → http://0.0.0.0:3000/mcp
# → http://localhost:3000/health
支持的图片格式
png jpg jpeg bmp webp tga
错误响应
失败时返回 isError: true,content[0].text 为 JSON 字符串:
{
"error": "未配置 API Key",
"code": "MISSING_API_KEY",
"help": "请设置环境变量 NX_API_KEY 或传入 apiKey 参数…",
"doc": ""
}
| 字段 | 类型 | 说明 |
|---|---|---|
error |
string |
错误描述 |
code |
string |
错误码,用于客户端程序判断(如 MISSING_API_KEY、NETWORK_ERROR、REQUEST_TIMEOUT) |
help |
string |
建议/帮助信息,可直接展示给用户 |
doc |
string |
文档链接(可选) |
常见错误码:
| code | 说明 |
|---|---|
MISSING_API_KEY |
未配置 API Key |
MISSING_PARAMS |
缺少 urls/files 参数 |
FILE_NOT_FOUND |
本地文件不存在 |
DOWNLOAD_FAILED |
远程图片下载失败 |
NETWORK_ERROR |
网络请求失败 |
REQUEST_TIMEOUT |
压缩请求超时 |
API_AUTH_FAILED |
API Key 无效 |
API_MISSING_AUTH |
缺少认证头 |
注意事项
- 远程 MCP 只能传 HTTP(S) 链接,先上传到 CDN 再调用
- 本地 MCP 可传绝对路径,MCP Server 直接读磁盘(免上传)
- dataUrl 走 FormData 模式,HTTP body 限制 50MB,大图建议用本地路径
- 多张图片顺序处理,单张失败不影响其他
- 同步接口,超时 180 秒
- 压缩后返回七牛 CDN URL,可下载或配合
output直接写文件
项目结构
src/
├── index.js # MCP Server 主入口(Stdio/HTTP 双模式)
├── config.js # 配置加载(config.json + 环境变量)
├── errors.js # 统一错误类(NxError:结构化 code/help/doc)
├── nx-api.js # 压缩 API 客户端(JSON/FormData 双模式 + 本地文件读取)
└── tools/
├── definitions.js # MCP 工具定义
└── handlers.js # 工具处理函数
依赖
@modelcontextprotocol/sdk— MCP 协议express— HTTP 传输模式的 body 解析(50MB 限制)
License
MIT