Skip to content

Connection

Tools for establishing and managing the Figma connection

4 tools in this domain.

REQUIRED FIRST STEP: Join a channel before using any other tool. The channel name is shown in the Figma plugin UI (defaults to 'vibma' if not customised). After joining, call `ping` to verify the Figma plugin is connected.

ParameterTypeRequiredDescription
channelstringThe channel name displayed in the Figma plugin panel. Defaults to 'vibma' if omitted.
JSON Schema
{
  "type": "object",
  "properties": {
    "channel": {
      "type": "string",
      "description": "The channel name displayed in the Figma plugin panel. Defaults to 'vibma' if omitted.",
      "default": "vibma"
    }
  }
}

Response reference only — not included in tool definitions

No parameters

Example response
"Joined channel \"vibma\" on port 3055. Call `ping` now to verify the Figma plugin is connected."
Response JSON Schema
{
  "type": "string",
  "description": "Confirmation message with channel and port"
}

Debug: inspect which clients (MCP, plugin) are connected to each relay channel. Useful for diagnosing connection issues. Does not require an active channel.

No parameters

JSON Schema
{
  "type": "object",
  "properties": {}
}

Response reference only — not included in tool definitions

No parameters

Example response
{
  "vibma": {
    "mcp": {
      "connected": true,
      "version": "0.2.2",
      "name": "vibma",
      "joinedAt": "2026-03-02T19:43:37.863Z"
    },
    "plugin": {
      "connected": true,
      "version": "0.2.2",
      "name": null,
      "joinedAt": "2026-03-02T19:42:18.294Z"
    }
  }
}
Response JSON Schema
{
  "type": "object",
  "description": "Map of channel names to their connected clients",
  "additionalProperties": {
    "type": "object",
    "properties": {
      "mcp": {
        "type": "object",
        "properties": {
          "connected": {
            "type": "boolean"
          },
          "version": {
            "type": "string",
            "description": "MCP server version"
          },
          "name": {
            "type": "string",
            "description": "Client name"
          },
          "joinedAt": {
            "type": "string",
            "description": "ISO 8601 timestamp"
          }
        }
      },
      "plugin": {
        "type": "object",
        "properties": {
          "connected": {
            "type": "boolean"
          },
          "version": {
            "type": "string",
            "description": "Plugin version"
          },
          "name": {
            "type": "string",
            "description": "Client name"
          },
          "joinedAt": {
            "type": "string",
            "description": "ISO 8601 timestamp"
          }
        }
      }
    }
  }
}
edit

DESTRUCTIVE: Factory-reset a channel on the relay, disconnecting ALL occupants. Only use when the channel is stuck or occupied by another MCP.

ParameterTypeRequiredDescription
channelstringChannel to reset. Defaults to 'vibma'.
JSON Schema
{
  "type": "object",
  "properties": {
    "channel": {
      "type": "string",
      "description": "Channel to reset. Defaults to 'vibma'.",
      "default": "vibma"
    }
  }
}

Response reference only — not included in tool definitions

No parameters

Example response
"Channel vibma reset"
Response JSON Schema
{
  "type": "string",
  "description": "Confirmation of tunnel reset"
}

Verify end-to-end connection to Figma. Call this right after join_channel. Returns { status: 'pong', documentName, currentPage } if the full chain (MCP → relay → plugin → Figma) is working. If this times out, the Figma plugin is not connected — ask the user to check the plugin window for the correct port and channel name.

No parameters

JSON Schema
{}

Response reference only — not included in tool definitions

FieldTypeDescription
status"pong"
documentNamestringActive Figma document name
currentPagestringCurrent page name
timestampnumberUnix timestamp
Example response
{
  "status": "pong",
  "documentName": "Design System",
  "currentPage": "Components",
  "timestamp": 1709337600
}
Response JSON Schema
{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "const": "pong"
    },
    "documentName": {
      "type": "string",
      "description": "Active Figma document name"
    },
    "currentPage": {
      "type": "string",
      "description": "Current page name"
    },
    "timestamp": {
      "type": "number",
      "description": "Unix timestamp"
    }
  },
  "required": [
    "status",
    "documentName",
    "currentPage",
    "timestamp"
  ]
}