{
  "service": "figma",
  "displayName": "Figma",
  "categories": [
    "Design",
    "Productivity"
  ],
  "authTypes": [
    "api_key",
    "oauth2"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "Personal Access Token",
      "placeholder": "figd_...",
      "description": "Figma personal access token sent with the X-Figma-Token header. Create or manage tokens from Figma account settings: https://www.figma.com/developers/api#access-tokens"
    },
    {
      "type": "oauth2",
      "authorizationUrl": "https://www.figma.com/oauth",
      "tokenUrl": "https://api.figma.com/v1/oauth/token",
      "scopes": [
        "current_user:read",
        "file_metadata:read",
        "file_content:read",
        "file_versions:read",
        "file_comments:read",
        "file_comments:write",
        "projects:read",
        "project_metadata:read",
        "library_content:read",
        "library_assets:read",
        "file_dev_resources:read",
        "file_dev_resources:write"
      ],
      "tokenEndpointAuthMethod": "client_secret_basic"
    }
  ],
  "homepageUrl": "https://www.figma.com",
  "actions": [
    {
      "id": "figma.create_dev_resources",
      "service": "figma",
      "name": "create_dev_resources",
      "description": "Create dev resources and attach them to Figma file nodes.",
      "requiredScopes": [
        "file_dev_resources:write"
      ],
      "providerPermissions": [
        "file_dev_resources:write"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "devResources": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The display name for the dev resource."
                },
                "url": {
                  "type": "string",
                  "description": "The URL of the dev resource.",
                  "format": "uri"
                },
                "fileKey": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The main Figma file key from a Figma file URL."
                },
                "nodeId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The Figma node ID to attach the dev resource to."
                }
              },
              "additionalProperties": false,
              "required": [
                "name",
                "url",
                "fileKey",
                "nodeId"
              ],
              "description": "A Figma dev resource to create."
            },
            "description": "The dev resources to create.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "devResources"
        ],
        "description": "Input parameters for creating Figma dev resources."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "linksCreated": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "description": "A raw Figma API value."
              },
              "description": "The raw JSON object returned by the Figma API."
            },
            "description": "The raw JSON array returned by the Figma API."
          },
          "linksUpdated": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "description": "A raw Figma API value."
              },
              "description": "The raw JSON object returned by the Figma API."
            },
            "description": "The raw JSON array returned by the Figma API."
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "description": "A raw Figma API value."
              },
              "description": "The raw JSON object returned by the Figma API."
            },
            "description": "The raw JSON array returned by the Figma API."
          },
          "raw": {
            "type": "object",
            "additionalProperties": {
              "description": "A raw Figma API value."
            },
            "description": "The raw JSON object returned by the Figma API."
          }
        },
        "additionalProperties": false,
        "required": [
          "linksCreated",
          "linksUpdated",
          "errors",
          "raw"
        ],
        "description": "The result of creating or updating Figma dev resources."
      }
    },
    {
      "id": "figma.delete_comment",
      "service": "figma",
      "name": "delete_comment",
      "description": "Delete a Figma comment created by the authenticated user.",
      "requiredScopes": [
        "file_comments:write"
      ],
      "providerPermissions": [
        "file_comments:write"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileKey": {
            "type": "string",
            "minLength": 1,
            "description": "The Figma file key or branch key from a Figma file URL."
          },
          "commentId": {
            "type": "string",
            "minLength": 1,
            "description": "The Figma comment ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "fileKey",
          "commentId"
        ],
        "description": "Input parameters for deleting a Figma comment."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean",
            "description": "Whether the delete request completed successfully."
          }
        },
        "additionalProperties": false,
        "required": [
          "deleted"
        ],
        "description": "The result of deleting a Figma comment."
      }
    },
    {
      "id": "figma.delete_comment_reaction",
      "service": "figma",
      "name": "delete_comment_reaction",
      "description": "Delete an emoji reaction created by the authenticated user.",
      "requiredScopes": [
        "file_comments:write"
      ],
      "providerPermissions": [
        "file_comments:write"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileKey": {
            "type": "string",
            "minLength": 1,
            "description": "The Figma file key or branch key from a Figma file URL."
          },
          "commentId": {
            "type": "string",
            "minLength": 1,
            "description": "The Figma comment ID."
          },
          "emoji": {
            "type": "string",
            "minLength": 1,
            "description": "The emoji reaction shortcode to add or delete."
          }
        },
        "additionalProperties": false,
        "required": [
          "fileKey",
          "commentId",
          "emoji"
        ],
        "description": "Input parameters for deleting a Figma comment reaction."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean",
            "description": "Whether the delete request completed successfully."
          }
        },
        "additionalProperties": false,
        "required": [
          "deleted"
        ],
        "description": "The result of deleting a Figma comment reaction."
      }
    },
    {
      "id": "figma.delete_dev_resource",
      "service": "figma",
      "name": "delete_dev_resource",
      "description": "Delete a Figma dev resource from a main file.",
      "requiredScopes": [
        "file_dev_resources:write"
      ],
      "providerPermissions": [
        "file_dev_resources:write"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileKey": {
            "type": "string",
            "minLength": 1,
            "description": "The main Figma file key from a Figma file URL."
          },
          "devResourceId": {
            "type": "string",
            "minLength": 1,
            "description": "The Figma dev resource ID to delete."
          }
        },
        "additionalProperties": false,
        "required": [
          "fileKey",
          "devResourceId"
        ],
        "description": "Input parameters for deleting a Figma dev resource."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean",
            "description": "Whether the delete request completed successfully."
          }
        },
        "additionalProperties": false,
        "required": [
          "deleted"
        ],
        "description": "The result of deleting a Figma dev resource."
      }
    },
    {
      "id": "figma.get_component",
      "service": "figma",
      "name": "get_component",
      "description": "Get metadata for a published Figma component by key.",
      "requiredScopes": [
        "library_assets:read"
      ],
      "providerPermissions": [
        "library_assets:read"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "minLength": 1,
            "description": "The unique Figma library asset key."
          }
        },
        "additionalProperties": false,
        "required": [
          "key"
        ],
        "description": "Input parameters for reading a Figma component."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "item": {
            "type": "object",
            "additionalProperties": {
              "description": "A raw Figma API value."
            },
            "description": "The raw JSON object returned by the Figma API."
          },
          "raw": {
            "type": "object",
            "additionalProperties": {
              "description": "A raw Figma API value."
            },
            "description": "The raw JSON object returned by the Figma API."
          }
        },
        "additionalProperties": false,
        "required": [
          "item",
          "raw"
        ],
        "description": "A Figma library item returned by the connector."
      }
    },
    {
      "id": "figma.get_component_set",
      "service": "figma",
      "name": "get_component_set",
      "description": "Get metadata for a published Figma component set by key.",
      "requiredScopes": [
        "library_assets:read"
      ],
      "providerPermissions": [
        "library_assets:read"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "minLength": 1,
            "description": "The unique Figma library asset key."
          }
        },
        "additionalProperties": false,
        "required": [
          "key"
        ],
        "description": "Input parameters for reading a Figma component set."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "item": {
            "type": "object",
            "additionalProperties": {
              "description": "A raw Figma API value."
            },
            "description": "The raw JSON object returned by the Figma API."
          },
          "raw": {
            "type": "object",
            "additionalProperties": {
              "description": "A raw Figma API value."
            },
            "description": "The raw JSON object returned by the Figma API."
          }
        },
        "additionalProperties": false,
        "required": [
          "item",
          "raw"
        ],
        "description": "A Figma library item returned by the connector."
      }
    },
    {
      "id": "figma.get_current_user",
      "service": "figma",
      "name": "get_current_user",
      "description": "Get the current Figma user associated with the credential.",
      "requiredScopes": [
        "current_user:read"
      ],
      "providerPermissions": [
        "current_user:read"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input is required to get the current Figma user."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "user": {
            "type": "object",
            "additionalProperties": {
              "description": "A raw Figma API value."
            },
            "description": "The raw JSON object returned by the Figma API."
          }
        },
        "additionalProperties": false,
        "required": [
          "user"
        ],
        "description": "The current Figma user returned by the connector."
      }
    },
    {
      "id": "figma.get_dev_resources",
      "service": "figma",
      "name": "get_dev_resources",
      "description": "Get dev resources attached to a Figma main file.",
      "requiredScopes": [
        "file_dev_resources:read"
      ],
      "providerPermissions": [
        "file_dev_resources:read"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileKey": {
            "type": "string",
            "minLength": 1,
            "description": "The main Figma file key from a Figma file URL."
          },
          "nodeIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A Figma node ID."
            },
            "description": "Figma node IDs to fetch or render, for example `1:2` or `123:456`.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "fileKey"
        ],
        "description": "Input parameters for reading Figma dev resources."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "devResources": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "description": "A raw Figma API value."
              },
              "description": "The raw JSON object returned by the Figma API."
            },
            "description": "The raw JSON array returned by the Figma API."
          },
          "raw": {
            "type": "object",
            "additionalProperties": {
              "description": "A raw Figma API value."
            },
            "description": "The raw JSON object returned by the Figma API."
          }
        },
        "additionalProperties": false,
        "required": [
          "devResources",
          "raw"
        ],
        "description": "Figma dev resources returned by the connector."
      }
    },
    {
      "id": "figma.get_file",
      "service": "figma",
      "name": "get_file",
      "description": "Get the JSON document for a Figma file or branch.",
      "requiredScopes": [
        "file_content:read"
      ],
      "providerPermissions": [
        "file_content:read"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileKey": {
            "type": "string",
            "minLength": 1,
            "description": "The Figma file key or branch key from a Figma file URL."
          },
          "version": {
            "type": "string",
            "minLength": 1,
            "description": "A specific Figma file version ID to read."
          },
          "nodeIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A Figma node ID."
            },
            "description": "Figma node IDs to fetch or render, for example `1:2` or `123:456`.",
            "minItems": 1
          },
          "depth": {
            "type": "integer",
            "minimum": 1,
            "description": "The maximum depth of the document tree to return from Figma."
          },
          "geometry": {
            "type": "string",
            "enum": [
              "paths"
            ],
            "description": "Whether Figma should include vector path geometry."
          },
          "pluginData": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A Figma plugin ID."
            },
            "description": "Plugin IDs whose plugin data Figma should include.",
            "minItems": 1
          },
          "branchData": {
            "type": "boolean",
            "description": "Whether Figma should include branch metadata in the response."
          }
        },
        "additionalProperties": false,
        "required": [
          "fileKey"
        ],
        "description": "Input parameters for reading a Figma file document."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "file": {
            "type": "object",
            "additionalProperties": {
              "description": "A raw Figma API value."
            },
            "description": "The raw JSON object returned by the Figma API."
          }
        },
        "additionalProperties": false,
        "required": [
          "file"
        ],
        "description": "Figma file JSON returned by the connector."
      }
    },
    {
      "id": "figma.get_file_metadata",
      "service": "figma",
      "name": "get_file_metadata",
      "description": "Get lightweight metadata for a Figma file without fetching its full document.",
      "requiredScopes": [
        "file_metadata:read"
      ],
      "providerPermissions": [
        "file_metadata:read"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileKey": {
            "type": "string",
            "minLength": 1,
            "description": "The Figma file key or branch key from a Figma file URL."
          }
        },
        "additionalProperties": false,
        "required": [
          "fileKey"
        ],
        "description": "Input parameters for reading Figma file metadata."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "description": "A raw Figma API value."
            },
            "description": "The raw JSON object returned by the Figma API."
          }
        },
        "additionalProperties": false,
        "required": [
          "metadata"
        ],
        "description": "Figma file metadata returned by the connector."
      }
    },
    {
      "id": "figma.get_file_nodes",
      "service": "figma",
      "name": "get_file_nodes",
      "description": "Get JSON for selected node IDs from a Figma file or branch.",
      "requiredScopes": [
        "file_content:read"
      ],
      "providerPermissions": [
        "file_content:read"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileKey": {
            "type": "string",
            "minLength": 1,
            "description": "The Figma file key or branch key from a Figma file URL."
          },
          "nodeIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A Figma node ID."
            },
            "description": "Figma node IDs to fetch or render, for example `1:2` or `123:456`.",
            "minItems": 1
          },
          "version": {
            "type": "string",
            "minLength": 1,
            "description": "A specific Figma file version ID to read."
          },
          "depth": {
            "type": "integer",
            "minimum": 1,
            "description": "The maximum depth of the document tree to return from Figma."
          },
          "geometry": {
            "type": "string",
            "enum": [
              "paths"
            ],
            "description": "Whether Figma should include vector path geometry."
          },
          "pluginData": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A Figma plugin ID."
            },
            "description": "Plugin IDs whose plugin data Figma should include.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "fileKey",
          "nodeIds"
        ],
        "description": "Input parameters for reading selected Figma nodes."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "nodes": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "additionalProperties": {
                "description": "A raw Figma API value."
              },
              "description": "The raw JSON object returned by the Figma API."
            },
            "description": "Figma nodes keyed by node ID."
          },
          "raw": {
            "type": "object",
            "additionalProperties": {
              "description": "A raw Figma API value."
            },
            "description": "The raw JSON object returned by the Figma API."
          }
        },
        "additionalProperties": false,
        "required": [
          "nodes",
          "raw"
        ],
        "description": "Figma node JSON returned by the connector."
      }
    },
    {
      "id": "figma.get_image_fills",
      "service": "figma",
      "name": "get_image_fills",
      "description": "Get temporary download URLs for image fills used in a Figma file.",
      "requiredScopes": [
        "file_content:read"
      ],
      "providerPermissions": [
        "file_content:read"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileKey": {
            "type": "string",
            "minLength": 1,
            "description": "The Figma file key or branch key from a Figma file URL."
          }
        },
        "additionalProperties": false,
        "required": [
          "fileKey"
        ],
        "description": "Input parameters for reading Figma image fill URLs."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "images": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "description": "The temporary image fill URL."
            },
            "description": "Image fill URLs keyed by Figma image reference."
          },
          "raw": {
            "type": "object",
            "additionalProperties": {
              "description": "A raw Figma API value."
            },
            "description": "The raw JSON object returned by the Figma API."
          }
        },
        "additionalProperties": false,
        "required": [
          "images",
          "raw"
        ],
        "description": "Figma image fill URLs returned by the connector."
      }
    },
    {
      "id": "figma.get_project_metadata",
      "service": "figma",
      "name": "get_project_metadata",
      "description": "Get metadata for a Figma project.",
      "requiredScopes": [
        "project_metadata:read"
      ],
      "providerPermissions": [
        "project_metadata:read"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string",
            "minLength": 1,
            "description": "The Figma project ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "projectId"
        ],
        "description": "Input parameters for reading Figma project metadata."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "description": "A raw Figma API value."
            },
            "description": "The raw JSON object returned by the Figma API."
          }
        },
        "additionalProperties": false,
        "required": [
          "metadata"
        ],
        "description": "Figma project metadata returned by the connector."
      }
    },
    {
      "id": "figma.get_style",
      "service": "figma",
      "name": "get_style",
      "description": "Get metadata for a published Figma style by key.",
      "requiredScopes": [
        "library_assets:read"
      ],
      "providerPermissions": [
        "library_assets:read"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "minLength": 1,
            "description": "The unique Figma library asset key."
          }
        },
        "additionalProperties": false,
        "required": [
          "key"
        ],
        "description": "Input parameters for reading a Figma style."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "item": {
            "type": "object",
            "additionalProperties": {
              "description": "A raw Figma API value."
            },
            "description": "The raw JSON object returned by the Figma API."
          },
          "raw": {
            "type": "object",
            "additionalProperties": {
              "description": "A raw Figma API value."
            },
            "description": "The raw JSON object returned by the Figma API."
          }
        },
        "additionalProperties": false,
        "required": [
          "item",
          "raw"
        ],
        "description": "A Figma library item returned by the connector."
      }
    },
    {
      "id": "figma.list_comment_reactions",
      "service": "figma",
      "name": "list_comment_reactions",
      "description": "List emoji reactions on a Figma file comment.",
      "requiredScopes": [
        "file_comments:read"
      ],
      "providerPermissions": [
        "file_comments:read"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileKey": {
            "type": "string",
            "minLength": 1,
            "description": "The Figma file key or branch key from a Figma file URL."
          },
          "commentId": {
            "type": "string",
            "minLength": 1,
            "description": "The Figma comment ID."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "A pagination cursor returned by Figma."
          }
        },
        "additionalProperties": false,
        "required": [
          "fileKey",
          "commentId"
        ],
        "description": "Input parameters for listing Figma comment reactions."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "reactions": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "description": "A raw Figma API value."
              },
              "description": "The raw JSON object returned by the Figma API."
            },
            "description": "The raw JSON array returned by the Figma API."
          },
          "pagination": {
            "type": "object",
            "additionalProperties": {
              "description": "A raw Figma API value."
            },
            "description": "The raw JSON object returned by the Figma API."
          },
          "raw": {
            "type": "object",
            "additionalProperties": {
              "description": "A raw Figma API value."
            },
            "description": "The raw JSON object returned by the Figma API."
          }
        },
        "additionalProperties": false,
        "required": [
          "reactions",
          "pagination",
          "raw"
        ],
        "description": "Figma comment reactions returned by the connector."
      }
    },
    {
      "id": "figma.list_comments",
      "service": "figma",
      "name": "list_comments",
      "description": "List comments on a Figma file or branch.",
      "requiredScopes": [
        "file_comments:read"
      ],
      "providerPermissions": [
        "file_comments:read"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileKey": {
            "type": "string",
            "minLength": 1,
            "description": "The Figma file key or branch key from a Figma file URL."
          }
        },
        "additionalProperties": false,
        "required": [
          "fileKey"
        ],
        "description": "Input parameters for listing Figma comments."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "comments": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "description": "A raw Figma API value."
              },
              "description": "The raw JSON object returned by the Figma API."
            },
            "description": "The comments returned by Figma."
          },
          "raw": {
            "type": "object",
            "additionalProperties": {
              "description": "A raw Figma API value."
            },
            "description": "The raw JSON object returned by the Figma API."
          }
        },
        "additionalProperties": false,
        "required": [
          "comments",
          "raw"
        ],
        "description": "Figma comments returned by the connector."
      }
    },
    {
      "id": "figma.list_file_component_sets",
      "service": "figma",
      "name": "list_file_component_sets",
      "description": "List published component sets in a Figma main file library.",
      "requiredScopes": [
        "library_content:read"
      ],
      "providerPermissions": [
        "library_content:read"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileKey": {
            "type": "string",
            "minLength": 1,
            "description": "The main Figma file key from a Figma file URL."
          }
        },
        "additionalProperties": false,
        "required": [
          "fileKey"
        ],
        "description": "Input parameters for listing Figma file component sets."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "description": "A raw Figma API value."
              },
              "description": "The raw JSON object returned by the Figma API."
            },
            "description": "The raw JSON array returned by the Figma API."
          },
          "pagination": {
            "type": "object",
            "additionalProperties": {
              "description": "A raw Figma API value."
            },
            "description": "The raw JSON object returned by the Figma API."
          },
          "raw": {
            "type": "object",
            "additionalProperties": {
              "description": "A raw Figma API value."
            },
            "description": "The raw JSON object returned by the Figma API."
          }
        },
        "additionalProperties": false,
        "required": [
          "items",
          "pagination",
          "raw"
        ],
        "description": "Figma library items returned by the connector."
      }
    },
    {
      "id": "figma.list_file_components",
      "service": "figma",
      "name": "list_file_components",
      "description": "List published components in a Figma main file library.",
      "requiredScopes": [
        "library_content:read"
      ],
      "providerPermissions": [
        "library_content:read"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileKey": {
            "type": "string",
            "minLength": 1,
            "description": "The main Figma file key from a Figma file URL."
          }
        },
        "additionalProperties": false,
        "required": [
          "fileKey"
        ],
        "description": "Input parameters for listing Figma file components."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "description": "A raw Figma API value."
              },
              "description": "The raw JSON object returned by the Figma API."
            },
            "description": "The raw JSON array returned by the Figma API."
          },
          "pagination": {
            "type": "object",
            "additionalProperties": {
              "description": "A raw Figma API value."
            },
            "description": "The raw JSON object returned by the Figma API."
          },
          "raw": {
            "type": "object",
            "additionalProperties": {
              "description": "A raw Figma API value."
            },
            "description": "The raw JSON object returned by the Figma API."
          }
        },
        "additionalProperties": false,
        "required": [
          "items",
          "pagination",
          "raw"
        ],
        "description": "Figma library items returned by the connector."
      }
    },
    {
      "id": "figma.list_file_styles",
      "service": "figma",
      "name": "list_file_styles",
      "description": "List published styles in a Figma main file library.",
      "requiredScopes": [
        "library_content:read"
      ],
      "providerPermissions": [
        "library_content:read"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileKey": {
            "type": "string",
            "minLength": 1,
            "description": "The main Figma file key from a Figma file URL."
          }
        },
        "additionalProperties": false,
        "required": [
          "fileKey"
        ],
        "description": "Input parameters for listing Figma file styles."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "description": "A raw Figma API value."
              },
              "description": "The raw JSON object returned by the Figma API."
            },
            "description": "The raw JSON array returned by the Figma API."
          },
          "pagination": {
            "type": "object",
            "additionalProperties": {
              "description": "A raw Figma API value."
            },
            "description": "The raw JSON object returned by the Figma API."
          },
          "raw": {
            "type": "object",
            "additionalProperties": {
              "description": "A raw Figma API value."
            },
            "description": "The raw JSON object returned by the Figma API."
          }
        },
        "additionalProperties": false,
        "required": [
          "items",
          "pagination",
          "raw"
        ],
        "description": "Figma library items returned by the connector."
      }
    },
    {
      "id": "figma.list_file_versions",
      "service": "figma",
      "name": "list_file_versions",
      "description": "List version history records for a Figma file.",
      "requiredScopes": [
        "file_versions:read"
      ],
      "providerPermissions": [
        "file_versions:read"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileKey": {
            "type": "string",
            "minLength": 1,
            "description": "The Figma file key or branch key from a Figma file URL."
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "description": "The maximum number of versions to request from Figma."
          },
          "before": {
            "type": "string",
            "minLength": 1,
            "description": "A pagination cursor requesting versions before this cursor."
          },
          "after": {
            "type": "string",
            "minLength": 1,
            "description": "A pagination cursor requesting versions after this cursor."
          }
        },
        "additionalProperties": false,
        "required": [
          "fileKey"
        ],
        "description": "Input parameters for listing Figma file versions."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "versions": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "description": "A raw Figma API value."
              },
              "description": "The raw JSON object returned by the Figma API."
            },
            "description": "The Figma file versions."
          },
          "pagination": {
            "type": "object",
            "additionalProperties": {
              "description": "A raw Figma API value."
            },
            "description": "The raw JSON object returned by the Figma API."
          },
          "raw": {
            "type": "object",
            "additionalProperties": {
              "description": "A raw Figma API value."
            },
            "description": "The raw JSON object returned by the Figma API."
          }
        },
        "additionalProperties": false,
        "required": [
          "versions",
          "pagination",
          "raw"
        ],
        "description": "Figma file versions returned by the connector."
      }
    },
    {
      "id": "figma.list_project_files",
      "service": "figma",
      "name": "list_project_files",
      "description": "List files in a Figma project.",
      "requiredScopes": [
        "projects:read"
      ],
      "providerPermissions": [
        "projects:read"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string",
            "minLength": 1,
            "description": "The Figma project ID."
          },
          "branchData": {
            "type": "boolean",
            "description": "Whether Figma should include branch metadata for files."
          }
        },
        "additionalProperties": false,
        "required": [
          "projectId"
        ],
        "description": "Input parameters for listing Figma project files."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "files": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "description": "A raw Figma API value."
              },
              "description": "The raw JSON object returned by the Figma API."
            },
            "description": "The raw JSON array returned by the Figma API."
          },
          "raw": {
            "type": "object",
            "additionalProperties": {
              "description": "A raw Figma API value."
            },
            "description": "The raw JSON object returned by the Figma API."
          }
        },
        "additionalProperties": false,
        "required": [
          "files",
          "raw"
        ],
        "description": "Figma project files returned by the connector."
      }
    },
    {
      "id": "figma.list_team_projects",
      "service": "figma",
      "name": "list_team_projects",
      "description": "List projects visible to the authenticated user in a Figma team.",
      "requiredScopes": [
        "projects:read"
      ],
      "providerPermissions": [
        "projects:read"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "teamId": {
            "type": "string",
            "minLength": 1,
            "description": "The Figma team ID from a Figma team URL."
          }
        },
        "additionalProperties": false,
        "required": [
          "teamId"
        ],
        "description": "Input parameters for listing Figma team projects."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "projects": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "description": "A raw Figma API value."
              },
              "description": "The raw JSON object returned by the Figma API."
            },
            "description": "The raw JSON array returned by the Figma API."
          },
          "raw": {
            "type": "object",
            "additionalProperties": {
              "description": "A raw Figma API value."
            },
            "description": "The raw JSON object returned by the Figma API."
          }
        },
        "additionalProperties": false,
        "required": [
          "projects",
          "raw"
        ],
        "description": "Figma projects returned by the connector."
      }
    },
    {
      "id": "figma.post_comment",
      "service": "figma",
      "name": "post_comment",
      "description": "Post a comment on a Figma file or branch.",
      "requiredScopes": [
        "file_comments:write"
      ],
      "providerPermissions": [
        "file_comments:write"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileKey": {
            "type": "string",
            "minLength": 1,
            "description": "The Figma file key or branch key from a Figma file URL."
          },
          "message": {
            "type": "string",
            "minLength": 1,
            "description": "The comment message to post."
          },
          "clientMeta": {
            "type": "object",
            "additionalProperties": {
              "description": "A raw Figma API value."
            },
            "description": "The raw JSON object returned by the Figma API."
          },
          "commentId": {
            "type": "string",
            "minLength": 1,
            "description": "An optional parent comment ID to reply to."
          }
        },
        "additionalProperties": false,
        "required": [
          "fileKey",
          "message"
        ],
        "description": "Input parameters for posting a Figma comment."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "comment": {
            "type": "object",
            "additionalProperties": {
              "description": "A raw Figma API value."
            },
            "description": "The raw JSON object returned by the Figma API."
          }
        },
        "additionalProperties": false,
        "required": [
          "comment"
        ],
        "description": "A Figma comment result returned by the connector."
      }
    },
    {
      "id": "figma.post_comment_reaction",
      "service": "figma",
      "name": "post_comment_reaction",
      "description": "Add an emoji reaction to a Figma file comment.",
      "requiredScopes": [
        "file_comments:write"
      ],
      "providerPermissions": [
        "file_comments:write"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileKey": {
            "type": "string",
            "minLength": 1,
            "description": "The Figma file key or branch key from a Figma file URL."
          },
          "commentId": {
            "type": "string",
            "minLength": 1,
            "description": "The Figma comment ID."
          },
          "emoji": {
            "type": "string",
            "minLength": 1,
            "description": "The emoji reaction shortcode to add or delete."
          }
        },
        "additionalProperties": false,
        "required": [
          "fileKey",
          "commentId",
          "emoji"
        ],
        "description": "Input parameters for adding a Figma comment reaction."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "posted": {
            "type": "boolean",
            "description": "Whether the reaction request completed successfully."
          }
        },
        "additionalProperties": false,
        "required": [
          "posted"
        ],
        "description": "A Figma comment reaction result."
      }
    },
    {
      "id": "figma.render_images",
      "service": "figma",
      "name": "render_images",
      "description": "Render selected Figma file nodes and return temporary image URLs.",
      "requiredScopes": [
        "file_content:read"
      ],
      "providerPermissions": [
        "file_content:read"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileKey": {
            "type": "string",
            "minLength": 1,
            "description": "The Figma file key or branch key from a Figma file URL."
          },
          "nodeIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A Figma node ID."
            },
            "description": "Figma node IDs to fetch or render, for example `1:2` or `123:456`.",
            "minItems": 1
          },
          "version": {
            "type": "string",
            "minLength": 1,
            "description": "A specific Figma file version ID to read."
          },
          "scale": {
            "type": "number",
            "minimum": 0.01,
            "maximum": 4,
            "description": "The image scale factor supported by Figma."
          },
          "format": {
            "type": "string",
            "enum": [
              "jpg",
              "png",
              "svg",
              "pdf"
            ],
            "description": "The image format Figma should render."
          },
          "svgIncludeId": {
            "type": "boolean",
            "description": "Whether SVG exports should include Figma node IDs."
          },
          "svgSimplifyStroke": {
            "type": "boolean",
            "description": "Whether SVG exports should simplify inside and outside strokes."
          },
          "useAbsoluteBounds": {
            "type": "boolean",
            "description": "Whether Figma should use full node bounds when rendering."
          }
        },
        "additionalProperties": false,
        "required": [
          "fileKey",
          "nodeIds"
        ],
        "description": "Input parameters for rendering Figma file nodes."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "images": {
            "type": "object",
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "string",
                  "description": "The rendered image URL for a Figma node."
                },
                {
                  "type": "null"
                }
              ]
            },
            "description": "Rendered image URLs keyed by node ID. Missing or failed renders may be null."
          },
          "err": {
            "anyOf": [
              {
                "type": "string",
                "description": "The image rendering error returned by Figma."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "additionalProperties": {
              "description": "A raw Figma API value."
            },
            "description": "The raw JSON object returned by the Figma API."
          }
        },
        "additionalProperties": false,
        "required": [
          "images",
          "err",
          "raw"
        ],
        "description": "Figma image rendering URLs returned by the connector."
      }
    },
    {
      "id": "figma.update_dev_resources",
      "service": "figma",
      "name": "update_dev_resources",
      "description": "Update existing Figma dev resources.",
      "requiredScopes": [
        "file_dev_resources:write"
      ],
      "providerPermissions": [
        "file_dev_resources:write"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "devResources": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The unique Figma dev resource ID."
                },
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The new display name for the dev resource."
                },
                "url": {
                  "type": "string",
                  "description": "The new URL for the dev resource.",
                  "format": "uri"
                }
              },
              "additionalProperties": false,
              "required": [
                "id"
              ],
              "description": "A Figma dev resource update. Include at least one of name or url.",
              "anyOf": [
                {
                  "required": [
                    "name"
                  ]
                },
                {
                  "required": [
                    "url"
                  ]
                }
              ]
            },
            "description": "The dev resources to update.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "devResources"
        ],
        "description": "Input parameters for updating Figma dev resources."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "linksCreated": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "description": "A raw Figma API value."
              },
              "description": "The raw JSON object returned by the Figma API."
            },
            "description": "The raw JSON array returned by the Figma API."
          },
          "linksUpdated": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "description": "A raw Figma API value."
              },
              "description": "The raw JSON object returned by the Figma API."
            },
            "description": "The raw JSON array returned by the Figma API."
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "description": "A raw Figma API value."
              },
              "description": "The raw JSON object returned by the Figma API."
            },
            "description": "The raw JSON array returned by the Figma API."
          },
          "raw": {
            "type": "object",
            "additionalProperties": {
              "description": "A raw Figma API value."
            },
            "description": "The raw JSON object returned by the Figma API."
          }
        },
        "additionalProperties": false,
        "required": [
          "linksCreated",
          "linksUpdated",
          "errors",
          "raw"
        ],
        "description": "The result of creating or updating Figma dev resources."
      }
    }
  ]
}
