npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

figsor

v1.4.1

Published

Figsor — MCP server that bridges Cursor AI to Figma for chat-driven design creation

Readme

Figsor

Chat in Cursor. Design in Figma.

Figsor is an MCP (Model Context Protocol) server that bridges Cursor AI to Figma, enabling chat-driven design creation and editing — directly on your Figma canvas.

How It Works

  1. Install the Figsor plugin in Figma (available on the Figma Community)
  2. Add one line to your Cursor MCP config
  3. Chat about designs in Cursor → they appear in Figma in real-time
Cursor → MCP (stdio) → Figsor Server → WebSocket → Figma Plugin → Design on Canvas

Setup

1. Install the Figma Plugin

Search for Figsor in the Figma Community and install the plugin. Open it in any Figma file — it will wait for Cursor to connect.

2. Add to Cursor

Open your Cursor MCP settings (~/.cursor/mcp.json on Mac/Linux, %USERPROFILE%\.cursor\mcp.json on Windows) and add:

{
  "mcpServers": {
    "figsor": {
      "command": "npx",
      "args": ["-y", "figsor"]
    }
  }
}

That's it. Cursor will automatically download and run the server when needed.

3. Start Designing

Open a Figma file, run the Figsor plugin, then chat in Cursor:

"Create a mobile login screen with email and password fields"

"Design a dashboard with a sidebar, KPI cards, and charts"

"Edit the selected frame — make the button rounded and change the color to blue"

Available Tools

Figsor exposes 40+ design tools to Cursor:

Create & Layout

| Tool | Description | |------|-------------| | create_frame | Create frames (screens, sections, cards) | | create_text | Add text with font, size, weight, color | | create_rectangle | Create rectangles and shapes | | create_ellipse | Create circles and ovals | | create_line | Create lines and dividers | | create_svg_node | Create icons and vector graphics from SVG | | set_auto_layout | Configure flexbox-style auto-layout | | modify_node | Edit any existing element | | set_stroke | Add borders and strokes | | set_effects | Add shadows and blur effects | | delete_node | Remove elements | | move_to_parent | Restructure the layer hierarchy |

Read & Inspect

| Tool | Description | |------|-------------| | get_selection | Read the current selection | | get_page_structure | Get the full page tree | | read_node_properties | Inspect any node's properties | | find_nodes | Search for elements by name or type | | set_selection | Select and zoom to elements | | get_local_styles | Read the file's design tokens | | list_components | Browse available components | | create_component_instance | Use existing components | | detach_instance | Convert instances to frames |

Vector Drawing & Advanced Fills

| Tool | Description | |------|-------------| | create_vector | Draw custom shapes with the pen tool — define vertices, bezier curves, or SVG path data | | boolean_operation | Union, subtract, intersect, or exclude shapes | | flatten_nodes | Flatten nodes into a single editable vector | | set_fill | Apply advanced fills — solid colors, linear/radial/angular/diamond gradients, multiple fills |

Image, Typography & Constraints

| Tool | Description | |------|-------------| | set_image_fill | Place image fills on nodes — placeholder mode now, Unsplash/URL support coming | | style_text_range | Apply mixed styling within text — different fonts, sizes, colors per character range | | set_constraints | Set responsive constraints (pin left/right/center, stretch, scale) | | list_available_fonts | Discover available fonts + project/DS fonts from text styles |

Component & Variable Tools

| Tool | Description | |------|-------------| | create_component | Create a new main component (reusable design element) | | create_component_set | Combine components into a variant set | | create_variable_collection | Create a design token collection with modes (Light/Dark) | | create_variable | Create a COLOR, FLOAT, STRING, or BOOLEAN token | | bind_variable | Bind a token to a node property for dynamic theming | | get_variables | List all variable collections and tokens in the file |

SVG Export & Animation

| Tool | Description | |------|-------------| | export_as_svg | Export any node (or all children of a frame) as SVG markup | | show_animation_preview | Open a modal with live animated SVG previews + ZIP download |

Select a frame of icons → tell Cursor to animate them → AI generates CSS @keyframes micro-animations for each icon → preview plays live in the plugin → download the pack as a ZIP.

Pro: Design System Integration

Unlock Pro in the plugin to connect your Figma libraries:

| Tool | Description | |------|-------------| | scan_library | Scan a Figma library file | | search_library_components | Search across your design system | | create_library_instance | Import and use library components | | get_library_info | View connected library info |

Requirements

  • Node.js 18 or later
  • Figma desktop or web app
  • Cursor IDE with MCP support

Configuration

| Environment Variable | Default | Description | |---------------------|---------|-------------| | FIGSOR_PORT | 3055 | WebSocket server port |

License

MIT © Asif Kabir