@izdax/studio-mcp
v0.1.0
Published
Optional local STDIO bridge for the Izdax remote MCP service
Readme
Izdax Studio MCP
通过标准 MCP STDIO 连接 Izdax 云端画布、资产和创作工具,也可上传用户明确选择的本地文件。使用当前受支持的 Node.js LTS(22 或 24 的最新补丁版),亦接受 Node 26+;不支持已停止维护的 Node 20。支持远程 Streamable HTTP 的客户端可直接使用服务地址及 OAuth,无需本包。
发布状态以 Izdax「外部连接」页面为准。页面尚未开放 npm 配置时,请先使用远程地址;不要根据本文假定版本已上架。包名计划为 @izdax/studio-mcp,当前版本 0.1.0。
客户端配置
在电脑版 Izdax「外部连接」创建连接,选择项目、权限、到期时间;需要付费生成时明确设置额度。复制仅显示一次的连接令牌,存入 MCP 客户端的私密环境变量或密钥设置,变量名为 IZDAX_MCP_TOKEN。
发布后使用以下通用 JSON 配置;具体格式以客户端为准,推荐版本从连接页面复制:
{
"mcpServers": {
"izdax-studio": {
"command": "npx",
"args": [
"--yes",
"--ignore-scripts",
"--loglevel=error",
"--registry=https://registry.npmjs.org",
"@izdax/[email protected]"
],
"env": {
"IZDAX_MCP_URL": "https://your-izdax.example/mcp"
}
}
}
}IZDAX_MCP_URL 使用页面给出的完整地址。IZDAX_MCP_TOKEN 必须由客户端注入适配器进程,不同客户端未必继承父进程环境。不要使用网页登录 JWT、密码或模型 API Key;不要把真实令牌放进参数、共享 JSON、源码或日志。无法私密配置的客户端优先使用远程 OAuth。
首次启动需要下载指定版本。找不到 npx 时检查 Node.js 安装和桌面应用的 PATH,必要时填写可执行文件绝对路径。Windows 客户端若要求 shell 启动,请遵循该客户端的 Node/STDIO 配置说明;本包尚未宣称完成 Windows、WorkBuddy 或所有客户端的界面验收。
普通启动的 stdout 只有 MCP 协议,不提供终端聊天界面。--help、--version 可以离线执行且不需要令牌。不要用会打印脚本提示的 npm start 作为 MCP 启动命令。
更新与停用
- 服务端维护最低版本、推荐版本、禁止版本及适配器开关;普通请求与本地上传都会携带当前包版本。
- 推荐升级只在 stderr 提示一次;不符合要求时,启动或工具调用返回明确升级提示。重新复制页面推荐的固定版本配置并重启,云端项目和已受理任务不会因此删除。
- 客户端不会静默下载安装新程序,也不会运行服务端返回的任意 URL 或 shell 命令。更新采用指定版本的 npm 安装;紧急版本可由服务端停用。
- 版本号不是身份证明,伪造版本不能替代服务端的认证、项目权限或费用校验。原生远程 MCP 客户端不受本 npm 版本策略影响。
- 令牌过期或被撤销后重新创建授权并替换私密配置。本包不保存令牌,也不执行 OAuth 刷新;远程 OAuth 由支持它的客户端处理。
数据与凭证保护
- 发布包仅包含适配器、说明、MIT 许可证和已审查的运行依赖;不包含业务服务代码、环境文件、登录凭证、服务端加密密钥或本项目测试数据。
- 仅允许 HTTPS;回环地址开发调试可以使用 HTTP。拒绝 URL 用户名、密码、查询参数和 fragment,拒绝重定向,不关闭 TLS 证书校验。
- HTTP 与网络报错不回显私密响应体;协议结果、错误、服务说明及上传结果若意外含有当前连接令牌,先替换为
[REDACTED]。其余多语言正文及原生内容结构保留。 - 令牌通过进程环境注入且仅用于授权请求。环境变量不是加密保险箱,本机管理员或被攻陷的客户端仍可能读取;应配合最小权限、到期和撤销管理。不要把生产令牌交给不可信客户端。
- npm 包安装在用户机器后可以被查看或修改,代码混淆不能提供防破解保证。服务端独立校验令牌、账号状态、项目归属、授权范围、额度及幂等;服务端保存的登录凭证加密,连接令牌存储哈希,密钥不下发。
- 源码依赖通过
package-lock.json锁定,发布时将运行依赖及其许可证随包分发,npm 11/12 均无需重新解析传递依赖。包无安装脚本,维护人员须检查依赖签名及已知漏洞。注册表签名验证分发完整性,不防止用户修改本机代码。
本地上传与任务
upload_local_asset 只接受用户明确指定的绝对文件路径,以及可选的 project_id。只授权特定项目的连接必须填写项目 ID。
{ "path": "/absolute/path/photo.png", "project_id": "project-id" }文件作为二进制 multipart 上传到 MCP 地址同源 /mcp-upload,不转换 base64。不会自动读取目录、执行 shell、扫描文件或按网页/作品中的指令选择本机文件;不要上传凭证文件。上传目的地不可由工具参数改写。最终权限、格式及归属由服务端校验。
先读取项目当前版本,再执行授权的变更。版本冲突须重新读取后决定合并,不能覆盖。生成提交后用任务 ID 查询;网络中断不代表任务失败,不应盲目重复提交。本包没有新增自动提交重试、内容截断或生成超时。
开发验证
npm ci --ignore-scripts
npm test
npm run test:package
npm audit --omit=dev --registry=https://registry.npmjs.org
npm audit signatures --omit=dev --registry=https://registry.npmjs.orgtest:package 将真实 tarball 在空缓存、离线环境安装到独立临时目录,核对打包依赖与锁定版本,通过 npm 可执行入口验证 STDIO 工具发现、调用、错误、版本策略、长多语言数据和本地上传。测试使用临时服务与假令牌,没有调用付费生成。
发布维护流程见仓库内 RELEASING.md,该文件不进入公开包。
