[MCP][Figma] Resources load but use_figma/get_design_context are not injected into Desktop threads (0.144.5)

Open 💬 2 comments Opened Jul 16, 2026 by JackLLLLL
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

Summary

Codex Desktop can connect to the official remote Figma MCP server and read its resources, resource templates, documentation, and skill files, but the server's callable tools are not injected into the active thread.

In particular, use_figma and get_design_context are completely absent from the thread tool surface. This blocks both Figma write-to-canvas workflows and normal design-to-code workflows.

Environment

  • Codex CLI/app runtime: codex-cli 0.144.5
  • Model: gpt-5.6-sol using the default OpenAI provider (no custom model provider or proxy configured)
  • OS: macOS 15.6.1 (24G90), arm64
  • Figma MCP endpoint: https://mcp.figma.com/mcp
  • Transport: streamable_http

codex mcp list --json reports:

{
  "name": "figma",
  "enabled": true,
  "disabled_reason": null,
  "transport": {
    "type": "streamable_http",
    "url": "https://mcp.figma.com/mcp"
  },
  "auth_status": "unsupported"
}

Steps to reproduce

  1. Configure the official remote Figma MCP server:

``toml
[mcp_servers.figma]
url = "https://mcp.figma.com/mcp"
``

  1. Authenticate Figma and start a new Codex Desktop thread.
  2. Ask Codex to use the official Figma MCP use_figma and get_design_context tools.
  3. Have the thread enumerate/read Figma MCP resources.

Actual behavior

The Figma MCP server is reachable and its resource APIs work:

  • resources/list returns Figma documentation and skills.
  • resources/templates/list returns Figma resource templates.
  • skill://figma/figma-use/SKILL.md can be read successfully.
  • skill://figma/figma-design-to-code/SKILL.md can be read successfully.
  • Other Figma documentation resources can be read normally.

However, no callable mcp__figma__use_figma, mcp__figma__get_design_context, or equivalent deferred tools are exposed to the thread. Explicitly naming the tools and loading the required Figma skills does not make them callable.

This appears to fail between MCP capability discovery and registration in the per-thread/deferred tool surface.

Expected behavior

After the Figma MCP server is enabled and reachable, its supported callable tools should be injected into new Codex threads. At minimum, get_design_context should be available for read-only design-to-code work, and use_figma should be available subject to the Figma account's write permissions.

If a tool is unavailable because of server-side entitlement or capability negotiation, Codex should expose a specific diagnostic rather than presenting resources while silently omitting every callable Figma tool.

Additional information

This closely resembles:

  • #20009 — OAuth MCP server is authenticated/configured but auth_status remains unsupported and tools are not imported into threads.
  • #19425 — tools are discovered by MCP but not exposed to Desktop threads or tool_search.
  • #20771 — MCP servers load successfully but their tools are not surfaced to the model (closed as duplicate of #19425).

It differs from #17106: in that report, mcp__figma__use_figma is dispatched and then hangs/cancels. In this reproduction, the Figma tool schema is never exposed to the thread at all.

Figma's official documentation lists Codex as a supported MCP client, and prior Codex/Figma reports show get_design_context in the normal Figma tool catalog. The remote server and skills are therefore present; only the callable-tool injection layer appears missing.

View original on GitHub ↗

2 Comments

github-actions[bot] contributor · 1 month ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • #33547
  • #33575
  • #33585

Powered by Codex Action

slinky07 · 1 month ago

I can independently reproduce this with the official Figma integration, and I have a model A/B result from the same machine and configuration.

Environment

  • Codex Desktop: 26.707.91948 (build 5440)
  • Codex CLI/runtime: 0.144.5
  • macOS: 26.5.1 (25F80), Apple Silicon (arm64)
  • Failing model: gpt-5.6-sol
  • Working comparison: gpt-5.5
  • Official Figma plugin enabled
  • Official https://mcp.figma.com/mcp connection enabled

Evidence

  • codex mcp get figma reports the server enabled with the Streamable HTTP transport.
  • The local Codex app tool catalog contains 19 Figma tools, including use_figma, get_design_context, and whoami.
  • Four fresh GPT-5.6 Sol Desktop tasks exposed neither callable Figma tools nor tool_search. No Figma MCP tool call was emitted.
  • A controlled GPT-5.5 run using the same Codex installation, configuration, Figma account, workspace, and read-only sandbox successfully called figma.whoami.
  • This is a pre-dispatch tool-exposure problem, rather than an authentication failure or a use_figma call hanging after dispatch.

Sanitized configuration output:

$ codex mcp get figma

figma
  enabled: true
  transport: streamable_http
  url: https://mcp.figma.com/mcp
  bearer_token_env_var: -
  http_headers: -
  env_http_headers: -

Sanitized GPT-5.5 success event:

{
  "timestamp": "2026-07-16T17:53:51.756Z",
  "type": "event_msg",
  "payload": {
    "type": "mcp_tool_call_end",
    "invocation": {
      "server": "codex_apps",
      "tool": "figma.whoami",
      "arguments": {}
    },
    "duration": {
      "secs": 0,
      "nanos": 935410625
    },
    "result": {
      "status": "ok",
      "isError": false
    }
  }
}

Sanitized GPT-5.6 Sol results across four fresh Desktop tasks:

model=gpt-5.6-sol figma_mcp_tool_call_end=0 tool_search_call=0
model=gpt-5.6-sol figma_mcp_tool_call_end=0 tool_search_call=0
model=gpt-5.6-sol figma_mcp_tool_call_end=0 tool_search_call=0
model=gpt-5.6-sol figma_mcp_tool_call_end=0 tool_search_call=0

These are sanitized projections from the local JSONL records. The GPT-5.6 failure has no corresponding Figma error event because neither a Figma tool nor tool_search was exposed or called. The same installation produced a completed figma.whoami call with GPT-5.5.

This appears consistent with the GPT-5.6 Sol Responses Lite/tool-search regression documented in #33679 and #33609.