Designport

io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Nov 3, 2026

Figma REST API client: files, nodes, images, styles, components, projects and comments.

VerifiedSTDIODesktop onlyMedia & Design

Overview

Designport's local MCP server; no sign-in required; STDIO.

No AI overview yet: these facts come from the registry entry and the server itself.

Installation

In SourceWeft

  1. Open Designport in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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

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

CLI

bash
designport get_file <file_key> --depth 2designport get_file_nodes <file_key> 1:2,3:4designport get_images <file_key> 1:2 --format png --scale 2designport 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

bash
npx -y @reneturcios/designport mcp
json
{  "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

bash
npm installnpm run buildnpm test

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

License

MIT — see LICENSE.

Source: README.md at commit 25cea81

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.0LatestNov 3, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts