mcpField
D
designport

designport

Local
github.com/CloudCorpRecordsMedia & Design0Updated 2w ago

About designport

designport is an MCP server and CLI client for the Figma REST API, for workflows that need to read design files and manage comments. It covers a defined subset of file, node, image, style, component, project, and comment operations.

Key features

  1. 01Fetch files and specific nodes
  2. 02Render nodes as images
  3. 03List image fills, styles, and components
  4. 04Browse team projects and project files
  5. 05Read and post file comments

Use cases

  1. 01Inspecting a Figma file or selected nodes
  2. 02Retrieving node images and file styles
  3. 03Browsing files within a team project
  4. 04Reading or posting comments on a file

MCP support

The MCP server exposes tools that call the Figma REST API for file and node data, images, styles, components, projects, and comments. It uses a Figma personal access token.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"cloudcorprecords-designport": {
"command": "npx",
"args": [
"-y",
"@reneturcios/designport"
]
}
}
}
Run commandnpx -y @reneturcios/designport

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@reneturcios/designport0.1.0
ocighcr.io/cloudcorprecords/designport:0.1.0

Tools

10

Saved tool list · updated 1w ago

ParameterTypeRequiredDescription
depthnumberNoOptional depth of the document tree to return, as a number of levels.
versionstringNoOptional specific version of the file to retrieve, identified by its version ID.
file_keystringYesFigma file key identifying the file to retrieve.

Details

From the project README

designport

designport is a compatible client for the Figma REST API, packaged as an MCP server and a small CLI. It is an independent client for the same public upstream API (https://api.figma.com/v1) — it is not a copy of Figma's hosted OAuth remote MCP server, and none of that server's OAuth tool surface (design context, screenshots, metadata, variable definitions, code-connect, FigJam, or design-system rules) is reproduced here.

The subset covers reading design files: fetch a file or specific nodes, render nodes to images, list image fills, styles, and components, browse team projects and project files, and read or post comments on a file.

Authentication is a Figma personal access token, sent as the X-Figma-Token header. Set FIGMA_PERSONAL_ACCESS_TOKEN before starting the server; a call made without it fails with an error naming the variable. The API base can be overridden with FIGMA_API_BASE.

Install

npx @reneturcios/designport get_file <file_key>
docker run -i ghcr.io/cloudcorprecords/designport

CLI

designport get_file <file_key> --depth 2
designport get_file_nodes <file_key> 1:2,3:4
designport get_images <file_key> 1:2 --format png --scale 2
designport get_file_styles <file_key>
designport get_team_projects <team_id>
designport list_project_files <project_id>
designport post_comment <file_key> "Looks good"
designport --version

Exit codes: 0 success, 1 API error, 2 usage error.

MCP server

npx -y @reneturcios/designport mcp
{
  "mcpServers": {
    "designport": {
      "command": "npx",
      "args": ["-y", "@reneturcios/designport", "mcp"],
      "env": { "FIGMA_PERSONAL_ACCESS_TOKEN": "your-token" }
    }
  }
}
Tools
ToolInputFigma endpoint
get_filefile_key, version?, depth?GET /files/{key}
get_file_nodesfile_key, node_ids, depth?, version?GET /files/{key}/nodes
get_imagesfile_key, node_ids, format?, scale?GET /images/{key}
get_image_fillsfile_keyGET /files/{key}/images
get_file_stylesfile_keyGET /files/{key}/styles
get_file_componentsfile_keyGET /files/{key}/components
get_team_projectsteam_idGET /teams/{id}/projects
list_project_filesproject_idGET /projects/{id}/files
get_commentsfile_keyGET /files/{key}/comments
post_commentfile_key, message, client_meta?POST /files/{key}/comments

node_ids is a comma-separated string of node IDs, sent as the API's ids parameter. post_comment's optional client_meta is a string containing a JSON-encoded object — for example '{"x":10,"y":20}' — which is parsed and sent as the API's client_meta object; keeping it a string keeps the tool schema simple.

Out of scope for this subset: the variables API, dev resources, library assets and search, webhooks, activity logs, and payments.

Development

npm install
npm run build
npm test

Tests run entirely on fake-fetch fixtures; no network and no real token are used.

License

MIT — see LICENSE.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.