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

Open
#33,587 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
45/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
rust
Domain
api, devtools

Research direction

Start by reproducing the issue with the [mcp_servers.figma] configuration, codex mcp list --json, and the streamable HTTP endpoint. Trace MCP capability discovery from resources/list and resources/templates/list through per-thread or deferred tool registration, then verify that use_figma and get_design_context appear in a new thread or that a specific diagnostic is exposed.

Written by the indexing model from the issue text.

Description

app bug mcp tool-calls

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:

    [mcp_servers.figma]
    url = "https://mcp.figma.com/mcp"
    
  2. Authenticate Figma and start a new Codex Desktop thread.

  3. Ask Codex to use the official Figma MCP use_figma and get_design_context tools.

  4. 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.

Dominant language
Rust
Stars
125k
Forks
19.5k
Avg merge
1m
Merged PRs (30d)
1k

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from openai/codex

All issues in openai/codex

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.