逆象MCP服务

xiaowu89/nx-mcp-server
Hosted
0 Stars 141 次浏览 更新于 2026-08-23

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 及压缩比。支持 StdioStreamable 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/

urlsfiles 可同时传,合并后按顺序处理。


两种请求模式

根据传入内容自动选择:

模式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: truecontent[0].text 为 JSON 字符串:

{
  "error": "未配置 API Key",
  "code": "MISSING_API_KEY",
  "help": "请设置环境变量 NX_API_KEY 或传入 apiKey 参数…",
  "doc": ""
}
字段 类型 说明
error string 错误描述
code string 错误码,用于客户端程序判断(如 MISSING_API_KEYNETWORK_ERRORREQUEST_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 缺少认证头

注意事项

  1. 远程 MCP 只能传 HTTP(S) 链接,先上传到 CDN 再调用
  2. 本地 MCP 可传绝对路径,MCP Server 直接读磁盘(免上传)
  3. dataUrl 走 FormData 模式,HTTP body 限制 50MB,大图建议用本地路径
  4. 多张图片顺序处理,单张失败不影响其他
  5. 同步接口,超时 180 秒
  6. 压缩后返回七牛 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

相关 MCP 服务