ToolTrust
C25/100
southleft

figma-console-mcp

mcp1.40.0

@southleft

Your design system as an API. Connect AI to Figma for extraction, creation, and debugging.

By southleft | 243 findings | Scanned 9/11/2026 | tooltrust-scanner/v0.3.19 | 2.3k

1 Critical1 High44 Low197 Info

Risk Summary

Needs Approval

Dep Visibility plus Excessive Permissions raises enough risk that this tool should not be auto-trusted.

Potential impact: This finding indicates the tool should be reviewed before it is trusted.

Recommended action: Keep this tool behind manual approval and avoid unattended runs until the risky capabilities are narrowed or removed.

Suggested policy: keep this tool behind manual approval, do not allow unattended runs, and re-scan after narrowing risky permissions.

Security Findings (243)

  • CriticalAS-006

    đŸ’ģArbitrary Code Execution

    heuristic signal

    figma_execute:tool name or description implies arbitrary script/code execution (evaluate_script, execute javascript, etc.)

    Fix: This tool can execute arbitrary code or shell commands on the host system. Remove it unless strictly required. If kept: (1) restrict access to trusted users/agents only, (2) require human approval before each invocation (Claude Desktop: set approval_required: true; other clients: enable equivalent confirmation), (3) use the most restrictive sandbox or read-only mode available, and (4) never expose this tool to untrusted input sources.

  • HighAS-012

    🔄Tool Drift

    Tool set changed silently at v1.40.0: 121 tool(s) added, 9 tool(s) removed without a version bump.

    + 121 added

    figjam_auto_arrangefigjam_create_code_blockfigjam_create_connectorfigjam_create_sectionfigjam_create_shape_with_textfigjam_create_stickiesfigjam_create_stickyfigjam_create_tablefigjam_get_board_contentsfigjam_get_connectionsfigma_add_component_propertyfigma_add_modefigma_add_shape_to_slidefigma_add_slot_propertyfigma_add_text_to_slidefigma_analyze_component_setfigma_append_to_slotfigma_arrange_component_setfigma_audit_component_accessibilityfigma_audit_design_system_reportfigma_batch_create_variablesfigma_batch_update_variablesfigma_blame_nodefigma_capture_screenshotfigma_check_design_parityfigma_clear_consolefigma_clone_nodefigma_create_childfigma_create_component_setfigma_create_slidefigma_create_slotfigma_create_variablefigma_create_variable_collectionfigma_delete_commentfigma_delete_component_propertyfigma_delete_nodefigma_delete_slidefigma_delete_variablefigma_delete_variable_collectionfigma_diagnosefigma_diff_versionsfigma_ds_analyzefigma_ds_extract_componentfigma_ds_extract_tokensfigma_ds_scaffoldfigma_ds_setup_storybookfigma_ds_statusfigma_ds_verifyfigma_duplicate_slidefigma_edit_component_propertyfigma_executefigma_execute_across_filesfigma_export_tokensfigma_focus_slidefigma_generate_changelogfigma_generate_component_docfigma_get_annotation_categoriesfigma_get_annotationsfigma_get_changes_since_versionfigma_get_commentsfigma_get_componentfigma_get_component_detailsfigma_get_component_for_developmentfigma_get_component_for_development_deepfigma_get_component_imagefigma_get_console_logsfigma_get_design_changesfigma_get_design_system_kitfigma_get_design_system_summaryfigma_get_file_at_versionfigma_get_file_datafigma_get_file_for_pluginfigma_get_file_versionsfigma_get_focused_slidefigma_get_library_component_by_keyfigma_get_library_componentsfigma_get_library_variablesfigma_get_selectionfigma_get_slide_contentfigma_get_slide_gridfigma_get_slide_transitionfigma_get_slotsfigma_get_statusfigma_get_stylesfigma_get_text_stylesfigma_get_token_valuesfigma_get_variablesfigma_import_library_variablefigma_import_tokensfigma_instantiate_componentfigma_lint_designfigma_list_open_filesfigma_list_slidesfigma_move_nodefigma_navigatefigma_post_commentfigma_reconnectfigma_reload_pluginfigma_rename_modefigma_rename_nodefigma_rename_variablefigma_reorder_slidesfigma_reset_slotfigma_resize_nodefigma_scan_code_accessibilityfigma_search_componentsfigma_set_annotationsfigma_set_descriptionfigma_set_fillsfigma_set_image_fillfigma_set_instance_propertiesfigma_set_slide_backgroundfigma_set_slide_transitionfigma_set_slides_view_modefigma_set_strokesfigma_set_textfigma_setup_design_tokensfigma_skip_slidefigma_take_screenshotfigma_update_variablefigma_watch_console

    − 9 removed

    get-comparisonsget-faqsget-featuresget-pricingget-problems-solvedget-product-infoget-use-casesget-workflowsearch-product-info

    Fix: The set of tools exposed by this server changed between scans of the same version — a sign the package was silently updated without a version bump. Audit the changelog and all tool definitions before trusting this server. Pin to a specific commit hash rather than a floating version tag.

  • LowAS-011

    â„šī¸Missing Rate-Limit / Timeout ×41

    tool performs network or execution operations but declares no rate-limit, timeout, or retry configuration

    figma_take_screenshotfigma_watch_consolefigma_reload_pluginfigma_navigatefigma_search_componentsfigma_get_library_componentsfigma_update_variablefigma_create_variablefigma_setup_design_tokensfigma_set_descriptionfigma_add_component_propertyfigma_set_fillsfigma_set_textfigma_import_tokensfigma_get_file_datafigma_get_variablesfigma_get_componentfigma_get_stylesfigma_get_component_imagefigma_get_component_for_developmentfigma_get_file_for_pluginfigma_capture_screenshotfigma_check_design_parityfigma_generate_component_docfigma_get_commentsfigma_post_commentfigma_delete_commentfigma_get_file_versionsfigma_get_file_at_versionfigma_diff_versionsfigma_get_changes_since_versionfigma_generate_changelogfigma_blame_nodefigma_get_design_system_kitfigma_get_library_component_by_keyfigma_get_library_variablesfigma_get_component_for_development_deepfigjam_create_sectionfigma_get_text_stylesfigma_add_slot_propertyfigma_audit_design_system_report

    Fix: Declare explicit rate-limit, timeout, and retry configuration for all network and execution tools. Implement exponential back-off and surface resource state to the calling agent.

  • LowAS-002

    âš ī¸Excessive Permissions ×3

    input schema exposes 15 properties (threshold: 10)

    figma_export_tokens

    input schema exposes 19 properties (threshold: 10)

    figma_get_variables

    input schema exposes 13 properties (threshold: 10)

    figma_add_text_to_slide

    Fix: Tool requests broad permissions (exec/fs/network). Validate input parameters using Enums where possible, and restrict file system operations to explicit allowed directories.

  • InfoAS-014

    â„šī¸Dependency Inventory Unavailable ×121

    No metadata.dependencies or repo_url were exposed by this MCP server, and no local project manifest could be inferred from the launch command.

    figma_get_console_logsfigma_take_screenshotfigma_watch_consolefigma_reload_pluginfigma_clear_consolefigma_navigatefigma_get_statusfigma_reconnectfigma_get_selectionfigma_get_design_changesfigma_list_open_filesfigma_get_design_system_summaryfigma_search_componentsfigma_get_component_detailsfigma_get_token_valuesfigma_get_library_componentsfigma_executefigma_update_variablefigma_create_variablefigma_create_variable_collectionfigma_delete_variablefigma_delete_variable_collectionfigma_rename_variablefigma_add_modefigma_rename_modefigma_batch_create_variablesfigma_batch_update_variablesfigma_setup_design_tokensfigma_instantiate_componentfigma_set_descriptionfigma_add_component_propertyfigma_edit_component_propertyfigma_delete_component_propertyfigma_resize_nodefigma_move_nodefigma_set_fillsfigma_set_image_fillfigma_set_strokesfigma_clone_nodefigma_delete_nodefigma_rename_nodefigma_set_textfigma_create_childfigma_arrange_component_setfigma_create_component_setfigma_lint_designfigma_audit_component_accessibilityfigma_execute_across_filesfigma_export_tokensfigma_import_tokensfigma_ds_analyzefigma_ds_extract_tokensfigma_ds_scaffoldfigma_ds_setup_storybookfigma_ds_extract_componentfigma_ds_verifyfigma_ds_statusfigma_get_file_datafigma_get_variablesfigma_get_componentfigma_get_stylesfigma_get_component_imagefigma_get_component_for_developmentfigma_get_file_for_pluginfigma_capture_screenshotfigma_set_instance_propertiesfigma_check_design_parityfigma_generate_component_docfigma_get_commentsfigma_post_commentfigma_delete_commentfigma_get_file_versionsfigma_get_file_at_versionfigma_diff_versionsfigma_get_changes_since_versionfigma_generate_changelogfigma_blame_nodefigma_get_design_system_kitfigma_get_library_component_by_keyfigma_get_library_variablesfigma_import_library_variablefigma_scan_code_accessibilityfigma_diagnosefigma_get_annotationsfigma_set_annotationsfigma_get_annotation_categoriesfigma_get_component_for_development_deepfigma_analyze_component_setfigjam_create_stickyfigjam_create_stickiesfigjam_create_connectorfigjam_create_shape_with_textfigjam_create_sectionfigjam_create_tablefigjam_create_code_blockfigjam_auto_arrangefigjam_get_board_contentsfigjam_get_connectionsfigma_list_slidesfigma_get_slide_contentfigma_get_slide_gridfigma_get_slide_transitionfigma_get_text_stylesfigma_get_focused_slidefigma_create_slidefigma_delete_slidefigma_duplicate_slidefigma_reorder_slidesfigma_set_slide_transitionfigma_skip_slidefigma_add_text_to_slidefigma_add_shape_to_slidefigma_set_slide_backgroundfigma_set_slides_view_modefigma_focus_slidefigma_create_slotfigma_get_slotsfigma_append_to_slotfigma_reset_slotfigma_add_slot_propertyfigma_audit_design_system_report

    Fix: Review and remediate the identified issue.

  • InfoAS-002

    âš ī¸Excessive Permissions ×75

    declared capabilities: HTTP requests

    figma_take_screenshotfigma_capture_screenshotfigma_get_component_for_development_deep

    declared capabilities: code/command execution

    figma_watch_consolefigma_set_descriptionfigma_add_component_propertyfigma_set_fillsfigma_set_textfigma_add_slot_property

    declared capabilities: network access, HTTP requests

    figma_reload_plugin

    declared capabilities: network access, filesystem access

    figma_navigatefigma_get_file_datafigma_get_componentfigma_get_stylesfigma_get_component_imagefigma_get_component_for_developmentfigma_get_file_for_pluginfigma_check_design_parityfigma_generate_component_docfigma_get_commentsfigma_post_commentfigma_delete_commentfigma_get_file_versionsfigma_get_file_at_versionfigma_get_changes_since_versionfigma_get_library_component_by_keyfigma_audit_design_system_report

    declared capabilities: filesystem access

    figma_reconnectfigma_list_open_filesfigma_create_variable_collectionfigma_delete_variablefigma_delete_variable_collectionfigma_batch_create_variablesfigma_batch_update_variablesfigma_delete_component_propertyfigma_delete_nodefigma_create_childfigma_create_component_setfigma_export_tokensfigma_ds_analyzefigma_ds_extract_tokensfigma_ds_scaffoldfigma_ds_setup_storybookfigma_ds_extract_componentfigma_ds_verifyfigma_ds_statusfigma_import_library_variablefigma_diagnosefigma_get_annotation_categoriesfigjam_create_stickyfigjam_create_stickiesfigjam_create_connectorfigjam_create_tablefigjam_create_code_blockfigma_list_slidesfigma_create_slidefigma_delete_slidefigma_create_slot

    declared capabilities: network access, filesystem access, HTTP requests

    figma_search_componentsfigma_get_variablesfigma_diff_versionsfigma_generate_changelogfigma_blame_nodefigma_get_design_system_kitfigma_get_library_variables

    declared capabilities: code/command execution, network access, filesystem access, database access, HTTP requests

    figma_get_library_components

    declared capabilities: code/command execution, filesystem access

    figma_executefigma_update_variablefigma_create_variablefigma_execute_across_filesfigjam_create_sectionfigma_get_text_styles

    declared capabilities: code/command execution, HTTP requests

    figma_setup_design_tokens

    declared capabilities: filesystem access, HTTP requests

    figma_import_tokens

    declared capabilities: filesystem access, database access

    figjam_create_shape_with_text

    Fix: Tool requests broad permissions (exec/fs/network). Validate input parameters using Enums where possible, and restrict file system operations to explicit allowed directories.

  • InfoAS-010

    🔑Insecure Secret Handling

    figma_setup_design_tokens:input parameter "tokens" accepts a credential (informational; not evidence of insecure handling)

    Fix: Avoid accepting raw credentials as input parameters. Use secret managers (e.g. 1Password CLI, AWS Secrets Manager) and ensure credentials are never logged or stored in agent traces.

Scan this tool yourself

Reproduce this audit locally, integrate into CI, or let your agent audit its own tools.

Install once, then scan any MCP server:

$ curl -sfL https://raw.githubusercontent.com/AgentSafe-AI/tooltrust-scanner/main/install.sh | bash
$ tooltrust-scanner scan --server "npx -y figma-console-mcp"

Adjust the package name if your npm registry name differs from the tool ID. View source

Add badge to your README

Copy this Markdown to show your ToolTrust grade on GitHub.

[![ToolTrust Grade C](https://raw.githubusercontent.com/AgentSafe-AI/tooltrust-directory/main/docs/badges/grade-c.svg)](https://github.com/AgentSafe-AI/tooltrust-directory)