- Home
- MCP servers
- AffinityMCP Server
AffinityMCP Server
- rust
1
GitHub Stars
rust
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"tacyan-affinitymcp": {
"command": "npx",
"args": [
"affinity-mcp"
],
"env": {
"AFFINITY_MCP_API_KEY": "YOUR_API_KEY_PLACEHOLDER"
}
}
}
}AffinityMCP is a Rust-based universal MCP server that exposes tools to automate Affinity Photo, Designer, and Publisher workflows using natural language commands. It enables you to control Affinity apps, perform file operations, and run batch tasks from MCP-compatible clients with straightforward setup and parallel processing for efficiency.
How to use
You interact with the server through an MCP-compatible client (for example, Cursor or other MCP-enabled interfaces). You issue natural language requests that map to specific Affinity actions, such as opening files, creating documents, applying filters, exporting, or performing batch operations. The server interprets your command and executes the corresponding tool against the chosen Affinity application. You can run multiple operations in parallel (up to 16) to maximize throughput, making workflows faster when handling large sets of files.
How to install
Prerequisites you need to install and run the server:
- Node.js 18+ for the thin npx wrapper
- Rust 1.76+ / Cargo for local builds
Additional setup and configuration
To run AffinityMCP locally, you build the server, place the binary in a distribution folder, and configure MCP clients to connect to it. You may need an API key if Canva Connect/MCP endpoints are used. The following configuration shows how to run the server and register it with an MCP client.
Configuration and usage notes
- If your tools require Canva APIs, set AFFINITY_MCP_API_KEY with your real key in the environment where the server runs.
Examples and common workflows
- Open a file: ask Affinity to open a file in the appropriate Affinity app (Photo, Designer, or Publisher) by path.
Troubleshooting and tips
- Ensure your API key (if used) is correctly set in the running environment.
Available tools
affinity.open_file
Open a file in an Affinity application (Photo, Designer, or Publisher) by path; returns opened flag, app, and path.
affinity.create_new
Create a new Affinity document with optional width and height; returns created flag and app.
affinity.export
Export the current document to a chosen format (pdf/png/jpg/tiff/svg) with optional quality; returns exported flag and path.
affinity.apply_filter
Apply a specified filter to the active document with optional intensity; returns applied flag and filter name.
affinity.get_active_document
Query information about the currently open document; returns is_open, name, and path.
affinity.close_document
Close the currently open document; returns closed flag.
affinity.batch_open_files
Open multiple files in parallel (up to 16); inputs are paths and optional app; returns counts and results.
affinity.batch_export
Export multiple documents in parallel (up to 16) with multiple export configurations; returns counts and results.
canva.create_design
Create a Canva design with optional template, width, and height; returns design_id and URL.