Token导航 LogoToken导航TokenDH.com
Affinity MCP logo
设计创作stdio官方级别未说明来源级核验

Affinity MCP

MCP Server

一个用于Affinity系列软件(Photo/Designer/Publisher)的自动化工具,支持自然语言控制和多文件并行处理。

工具数

0

提示词数

0

GitHub Stars

19

资源数

0
批量处理RustClaudeClaude DesktopClaudeCursorWindsurfVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

tacyan

提供方

tacyan

最后核验

2026/5/17 20:35

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx 直接运行

详细介绍

AffinityMCP

通用MCP服务器(Rust)公开了Canva工作流的工具——以及 亲和照片/设计师/出版商自动化--专为 自然语言 在MCP兼容客户端中使用。

特性

  • 🎨 自然语言控制:使用自然语言命令控制Affinity应用程序
  • 🖼️ 文件操作:打开文件、创建新文档、以各种格式导出
  • 16并行处理:最多可同时处理16个文件,以实现最高效率
  • 🔧 高级工具:应用筛选器、获取文档信息等
  • 🚀 轻松设置:为初学者提供简单的设置和全面的文档
  • 🌐 跨平台就绪:目前macOS(AppleScript),计划支持Windows

快速开始

对于初学者,请参阅 SETUP_GUIDE.md 了解详细的分步说明。

快速安装:

# Build
cargo build --release
cp target/release/affinity-mcp dist/

# Use with Cursor
# Add to Cursor MCP settings:
{
  "mcpServers": {
    "affinity-mcp": {
      "command": "npx",
      "args": ["affinity-mcp"],
      "autoStart": true
    }
  }
}

安装

先决条件

  • Node.js 18+(用于瘦npx包装器)
  • Rust 1.76+/Cargo(适用于本地版本)
  • AFFINITY_MCP_API_KEY 如果使用Canva Connect/MCP端点。

获取API密钥

  • 如果您的工具需要Canva API,请从Canva开发人员控制台或MCP服务器指南中获取凭据。否则,您可以跳过此步骤。

本地建设

cd /path/to/affinity-mcp
cargo build --release
# copy target/release/affinity-mcp -> ./dist/
cp target/release/affinity-mcp dist/

设置:克劳德代码(CLI)

使用这一行(替换为实际值):

claude mcp add AffinityMCP -s user -e AFFINITY_MCP_API_KEY="sk-your-real-key" -- npx affinity-mcp

要删除:

claude mcp remove AffinityMCP

设置:游标(此处不要提交.Cursor/mcp.json)

在客户端中创建配置:

{
  "mcpServers": {
    "affinity-mcp": {
      "command": "npx",
      "args": ["affinity-mcp"],
      "env": { "AFFINITY_MCP_API_KEY": "sk-your-real-key" },
      "autoStart": true
    }
  }
}

其他客户和代理商

VS Code

code --add-mcp '{"name":"affinity-mcp","command":"npx","args":["affinity-mcp"],"env":{"AFFINITY_MCP_API_KEY":"sk-your-real-key"}}'

Claude Desktop

遵循MCP安装指南并重用上述标准配置。

LM Studio

  • 命令:npx
  • Args:\[“亲和性mcp”\]
  • 环境:AFFINIT_MCP_API_KEY=sk-您的本地密钥

Goose

  • 类型:STDIO
  • 命令:npx
  • Args:\[“亲和性mcp”\]
  • 启用:true

opencode

~/.config/opencode/opencode.json:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "affinity-mcp": {
      "type": "local",
      "command": ["npx", "affinity-mcp"],
      "enabled": true
    }
  }
}

Qodo Gen

添加一个新的MCP并粘贴标准JSON配置。

Windsurf

请参阅文档并重用上面的标准配置。

设置:Codex(TOML)

示例(Serena):

[mcp_servers.serena]
command = "uvx"
args = ["--from", "git+https://github.com/oraios/serena", "serena", "start-mcp-server", "--context", "codex"]

此服务器(最小):

[mcp_servers.affinity-mcp]
command = "npx"
args = ["affinity-mcp"]

# Optional environment variables:
# AFFINITY_MCP_API_KEY = "sk-your-real-key"
# MCP_NAME = "affinity-mcp"

配置(Env)

  • AFFINITY_MCP_API_KEY:Canva API密钥或令牌(如果适用)
  • MCP_NAME:服务器名称覆盖(默认:关联mcp)

如果您的工具纯粹是本地的,则不需要API密钥。

可用工具

亲和工具(自然语言支持)

所有Affinity工具都支持自然语言命令。示例:

  • “在Affinity Photo中打开文件/path/to/image.jpg”
  • “创建宽度为1920、高度为1080的新文档”
  • “将当前文档导出为PDF到/path/to/output.PDF”

affinity.open_file

在Affinity应用程序中打开文件(根据文件扩展名自动检测应用程序)。

  • 输入:{“path”:字符串,“app”?:“Photo”|“Designer”|“Publisher”}
  • 输出:{“open”:布尔值,“app”:字符串,“path”:字符串}

affinity.create_new

创建新的Affinity文档。

  • 输入:{“应用程序”:“照片”|“设计器”|“发布者”,“宽度”:数字,“高度”:数字}
  • 输出:{“created”:布尔值,“app”:字符串}

亲和力.出口

导出当前打开的文档。

  • 输入:{“路径”:字符串,“格式”:“pdf”|“png”|“jpg”|“tiff”|“svg”,“质量”?:数字}
  • 输出:{“export”:布尔值,“path”:字符串}

affinity.apply_filter

对当前文档应用筛选器。

  • 输入:{“filter_name”:字符串,“intensity”?:数字}
  • 输出:{“applied”:布尔值,“filter_name”:字符串}

affinity.get_active_document

获取有关当前活动文档的信息。

  • 输入:{}
  • 输出:{“is_open”:布尔值,“name”?:string,“path”?:string}

affinity.close_document

关闭当前打开的文档。

  • 输入:{}
  • 输出:{“closed”:boolean}

affinity.batch_open_files⚡ 16平行

同时打开多个文件(最多并行16个文件)。

  • 输入:{“paths”:string\[\],“app”?:“Photo”|“Designer”|“Publisher”}
  • 输出:{“success_count”:数字,“failure_count”:数字,“results”:OpenFileResult\[\]}

自然语言示例:“打开多个文件:/path/to/image1.jpg、/path/to/image2.jpg、/path/to/image3.jpg”

亲和性.匹配_输出⚡ 16平行

同时导出多个文档(最多并行导出16个)。

  • 输入:{“exports”:ExportParams\[\]}
  • 输出:{“成功计数”:数字,“失败计数”:数量,“结果”:ExportResult\[\]}

自然语言示例:“将所有打开的文档导出为PDF文件”

Canva工具

canva.create_design

  • 输入:{“title”:字符串、“template_id”?:字符串、宽度?:数字、高度?:数字}
  • 输出:{“design_id”:字符串,“url”?:字符串}

示例用法

自然语言命令

在Cursor或其他MCP兼容客户端中,您可以使用自然语言:

示例1:打开文件

User: "Open /Users/john/Desktop/image.jpg in Affinity Photo"
AI: [Calls affinity.open_file with path="/Users/john/Desktop/image.jpg", app="Photo"]

示例2:创建和导出

User: "Create a new Affinity Photo document with size 1920x1080, then export it as PDF to my Desktop"
AI: [Calls affinity.create_new, then affinity.export]

示例3:获取文档信息

User: "What document is currently open?"
AI: [Calls affinity.get_active_document]

示例4:批处理操作(16个并行)

User: "Open these 5 images simultaneously: /path/to/img1.jpg, /path/to/img2.jpg, /path/to/img3.jpg, /path/to/img4.jpg, /path/to/img5.jpg"
AI: [Calls affinity.batch_open_files with paths array]

示例5:批量导出(16个并行)

User: "Export all open documents as PDF files to the Desktop"
AI: [Calls affinity.batch_export with multiple export configurations]

直接刀具调用(MCP刀具调用)

{
  "type": "tool",
  "name": "affinity.open_file",
  "arguments": {
    "path": "/path/to/image.jpg",
    "app": "Photo"
  }
}

文档

有关复杂的模式,请参见 src/tools/*.rs.

名称一致性和故障排除

始终使用CANONICAL_ID(affinity-mcp)用于标识符和密钥。

使用CANONICAL_DISPLAY(AffinityMCP)仅适用于UI标签。

注册后不要混合使用旧密钥。

一致性矩阵

  • npm包名称→ affinity-mcp
  • 二进制名称→ affinity-mcp
  • MCP服务器名称→ affinity-mcp
  • 环境默认MCP_NAME→ affinity-mcp
  • 客户端注册表项→ affinity-mcp
  • UI标签→ AffinityMCP

冲突清理

删除过时的密钥并重新添加 affinity-mcp 只有。

光标仅为UI配置;此回购故意省略 .cursor/mcp.json.

目录标签

目录标签

批量处理RustClaudeAffinity自动化本地部署自然语言控制图像处理设计工具

支持客户端

Claude DesktopClaudeCursorWindsurfVS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP