Connector URL
Connect your assistant
- In your assistant’s connector settings, add Elf with the URL above.
- When Elf Settings opens, paste the first Figma file URL you intend to use. No Elf account or Figma OAuth sign-in is required. The OAuth screen authorizes your assistant to use Elf; file access is approved in the plugin.
- Download the hosted-capable Elf Bridge bundle and extract the whole folder.
- Open the intended file in Figma Desktop. Choose Plugins → Development → Import plugin from manifest and select the extracted
manifest.json. Keepcode.jsandui.htmlalongside it. - In the plugin, enter the open file’s URL if prompted and choose plugin-only document approval. Select Hosted Elf · web assistants, then enter the current single-use code from Elf Settings.
- Check the assistant name, return host, and exact file. Names are self-declared; approve only a connection you initiated. Click Approve assistant for this file in the plugin.
- Return to Elf Settings and choose Finish connection. Return to your assistant and ask it to inspect the connected file.
Add or switch Figma files
You do not need to repeat assistant OAuth for each file.- Give your assistant the new file URL and ask it to connect that file. It calls
get_figma_pairing_codeand returns an Add file Settings link. You can also choose Add Figma file in Elf Settings. - Open the link in the browser used for the original connection. Review the URL, then choose Add file with Elf Bridge to generate a single-use pairing code.
- Open that exact file in Figma Desktop, run Elf Bridge, select Hosted Elf, and enter the code. Check the assistant and file details, then click Approve assistant for this file.
- Return to the assistant and ask it to run
figma_onboarding_status. It must use that file’s exactconnectionIdfor reads and proposed changes.
get_figma_pairing_code returns its existing connection instead of creating another pairing. Ask the assistant to select that connection. If the plugin is offline, reopen it; a fresh plugin connection needs fresh document approval.
Settings lists your file connections and their approval status. Open a file entry to disconnect it independently. Existing approved files stay available; closing their plugins makes them offline. Moving to another Figma tab never authorizes it automatically.
Write plans and pending operations stay attached to their original file and connection generation. Adding or switching files does not transfer approval or retarget an existing plan. Inspect the new target before preparing a new plan. Disconnecting the assistant revokes its access to all its approved files.
If Settings access has expired or the browser has lost its cookie, reconnect the assistant to establish browser authority again. The Add file link alone grants no access.
The Community plugin remains unapproved while Figma’s requirements are clarified. Development installation is not a statement of policy approval.
Read and write tools
Figma OAuth is not part of hosted setup. Local Elf can optionally use a Figma account for strict REST verification; that separate local feature is not required for hosted plugin approval. The hosted connector exposes scoped Figma reads, Markdown preparation/validation, operation results, and reviewed changes. It does not expose your computer’s filesystem, shell, local watcher, or project configuration tools. Reads return ajobId when execution is queued through the plugin. Ask the assistant to poll get_operation_result; queued is not success.
For writes:
- Inspect the current file.
- Use
prepare_figma_changeswith the explicit operations. - Open its review link in the browser that connected the assistant, check the operations, and approve the exact plan.
- Return to the assistant to call
apply_figma_changes. - Inspect operation results and read back the resources before declaring success.
Manage access
Elf Settings shows the current browser’s authorized assistant connections and Disconnect controls. Disconnecting revokes the selected grant and cancels queued work; already-running work may have an uncertain outcome that needs inspection. Hosted approval trusts the document reported by the open plugin; it does not independently verify the file through Figma REST. See data and permissions.Troubleshooting authorization
If the approval page is blank, close the old authorization tab and start a fresh connection from your assistant usinghttps://elf.riftlabs.xyz/mcp. The Settings rendering fix is deployed. If an old page persists, reload it without the browser cache. Never share the authorization URL, pairing code, or cookies when reporting a problem.
If Finish connection is disabled, keep Elf Bridge open in the intended file, select Hosted Elf · web assistants, and approve the assistant in the plugin. Pairing alone does not authorize it. If the code has expired or was already used, restart authorization from your assistant.
Elf publishes the mascot in the MCP server’s icon metadata and as the Settings favicon. Claude has an open issue about custom connector icons: its connector list may show a generic icon even when the server supplies valid logo metadata. Reconnecting is not a reliable fix, and a missing icon does not indicate a failed connection. Other assistants control their own icon display.
