Copilot for Xcode cannot consume image responses from MCP tools (Figma get_screenshot)
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 32/100
Research direction
Reproduce the Figma MCP get_screenshot workflow in Copilot for Xcode Agent mode and inspect the provided streamChoices logs for how the image result is handled. Compare the same MCP response in VSCode; done means the agent consumes and reasons over the returned image with a Vision-capable model.
Written by the indexing model from the issue text.
Description
Description
When using Figma MCP inside Copilot for Xcode (Agent mode), the get_screenshot MCP tool successfully returns an image from the MCP server, but Copilot for Xcode fails to consume or interpret the image output, even when using Vision-enabled models (e.g. Claude Opus 4.5).
The same MCP workflow works correctly in VSCode, where the image returned by get_screenshot is properly read and used by the agent. This suggests an issue specific to Copilot for Xcode’s handling of MCP image responses, not the MCP server itself.
Versions
- Copilot for Xcode: 0.46.0
- Xcode: 26.2
- macOS: 26.1
Steps to reproduce
- Configure and run Figma MCP with a tool that returns an image payload (e.g. get_screenshot).
- Open Copilot for Xcode and start Agent mode.
- Trigger an MCP workflow that calls get_screenshot (for example via a command like /start-design-intake with a Figma node ID).
- Observe that:
4.1 MCP tool call succeeds
4.2 Image data is returned by the MCP server
4.3 Copilot UI shows the tool execution but the agent does not consume or reason over the image
4.4 Run the same MCP server and workflow in VSCode.
4.5 Observe that in VSCode the image is correctly read and used by the agent.
Screenshots
Logs
[2026-01-13T18:24:06.344Z] [info] [GitHubCopilot] [29344] window/logMessage: {
"type" : 4,
"message" : "[streamChoices] chunk data: {\"choices\":[{\"index\":0,\"delta\":{\"content\":null,\"tool_calls\":[{\"function\":{\"name\":\"mcp_figma-mcp_get_screenshot\"},\"id\":\"toolu_01673Vz98Z4tYmYaYSkEhMDw\",\"index\":1,\"type\":\"function\"}]}}],\"created\":1768328646,\"id\":\"msg_01SK3zJNMPmyrqWFRtTi2d7y\",\"model\":\"claude-opus-4.5\"}\n\n"
}
[2026-01-13T18:24:06.344Z] [info] [GitHubCopilot] [29344] window/logMessage: {
"message" : "[streamChoices] choice { index: 0, delta: { content: null, tool_calls: [ [Object] ] } }",
"type" : 4
}
Additional context
- The MCP server is returning a valid image response (same payload works in VSCode).
- Vision-capable models are enabled and selected in Copilot for Xcode.
- This appears to be a Copilot for Xcode limitation or bug in MCP multimodal (image) handling, not a Figma MCP issue.
- Dominant language
- Swift
- Stars
- 6.3k
- Forks
- 2k
- Avg merge
- 3d 21h
- Merged PRs (30d)
- 2
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from github/CopilotForXcode
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
github/CopilotForXcode#181 · 2 reactions ·
-
Add ability to attach Copilot window only to Xcode projects/workspaces, ignoring standalone files Open
Difficulty 3/5 1-2 days Newbie friendliness 68/100
github/CopilotForXcode#945 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 35/100
github/CopilotForXcode#943 ·
-
Difficulty 5/5 Over a week Newbie friendliness 10/100
github/CopilotForXcode#936 · 2 comments ·
-
Difficulty 5/5 Over a week Newbie friendliness 10/100
github/CopilotForXcode#934 ·
All issues in github/CopilotForXcode
Similar issues
-
area:dictation documentation P2
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
uttrflow/uttrflow-swift#1180 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
OneBusAway/onebusaway-ios#1451 ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100