Using FCS with AI Agents (MCP)
Starting with FCS 26.10, FCS provides a local Model Context Protocol (MCP) server. MCP-compatible AI agents can inspect the current FCS session, operate supported workflows, and read the bundled FCS operating guide to directly assist you with time-consuming, mechanical tasks.
Warning
Enable MCP Server
The MCP interface allows compatible AI applications to access FCS features and perform actions on your behalf.
Only connect FCS to MCP clients and AI applications that you trust. Depending on the tools you enable, the connected application may be able to read project information, modify data, execute operations, or transmit information to third-party services.
Data sent through MCP is subject to the privacy practices and terms of the application or service you connect to. AI-generated tool requests may be incorrect or influenced by malicious content. Backup your files and review important or destructive actions before allowing them to execute.
You are responsible for configuring and using third-party MCP clients appropriately.
Before You Start
You need:
FCS 26.10 or later with a valid license, running on the same computer as the AI agent.
An MCP client that supports Streamable HTTP servers on the local computer.
FCS must remain open and licensed while the agent is working on it. The MCP server listens only on 127.0.0.1, so it is not available to other computers or to cloud-only agents.
Enable the MCP Server
Launch FCS normally. The procedure is the same for the installed FCS executable and for a Python/script launch.
Open Settings and expand MCP Server.
Enable Enable MCP Server.
Review the warning and select I understand and accept.
Keep the default port,
19877, unless it conflicts with another local program.Save the settings.
Confirm that the status displays Listening at http://127.0.0.1:19877/mcp.
Use the complete URL shown by FCS when configuring a client. If you change
the port, use the updated URL in every client configuration. Port 19876 is
reserved by FCS and cannot be used for MCP.
Connect an AI Agent
The setup is performed once for each agent. Name the server fcs or FCS
and use the URL displayed in FCS.
ChatGPT Desktop and the Codex App
Open Settings > Plugins > MCP.
Select Add server.
Enter
FCSas the name and select Streamable HTTP.Enter
http://127.0.0.1:19877/mcpas the URL.Save the server and restart the app when prompted.
This applies to local ChatGPT/Codex clients that support custom MCP servers. ChatGPT in a web browser cannot connect directly to the FCS loopback address.
Codex CLI
Run:
codex mcp add fcs --url http://127.0.0.1:19877/mcp
Use codex mcp list to check the connection. Inside Codex, use /mcp to view
the connected server and its tools.
Claude Code
Run:
claude mcp add --transport http --scope user fcs http://127.0.0.1:19877/mcp
The user scope makes FCS available in future Claude Code sessions on this
computer. Run claude mcp list to check the connection.
Visual Studio Code and GitHub Copilot
Open the Command Palette with Ctrl+Shift+P.
Run MCP: Add Server.
Select HTTP, enter the FCS URL, and name the server
FCS.Choose the global/user profile location so that the connection is available outside one workspace.
Open Chat and use Configure Tools to confirm that the FCS tools are available.
OpenCode
Add a remote MCP server to the OpenCode configuration:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"servers": {
"fcs": {
"type": "remote",
"url": "http://127.0.0.1:19877/mcp",
"oauth": false
}
}
}
}
FCS does not require OAuth because the endpoint is restricted to the local computer. Check the MCP server list in OpenCode after saving the configuration.
Claude Desktop
Claude Desktop custom connectors are intended for remotely reachable servers
and cannot be assumed to reach FCS at 127.0.0.1. FCS currently does
not ship the separate stdio bridge required by Claude Desktop’s traditional
local MCP configuration. Use Claude Code or another local Streamable HTTP
client instead.
Available Workflows
The public MCP tools cover these areas:
Application and session status checks, session creation, opening, inspection, and saving.
Video importing and selection, along with browsing video libraries.
Single and batch processing, including job status checks, progress monitoring, and cancellation.
Session exporting, export path validation, and retrieval of default export settings.
DCC integration, including status checks, connection testing, launching, and scene opening.
Processing profiles and application settings, including checks and updates.
Profile / Gallery operations, including searching and filtering, updating, predicting, and deleting, alongside timeline navigation.
Controller management, including data retrieval, editing, reordering, preset application, renderer synchronization, and explicit saving.
FCS intentionally exposes a curated set of named tools. License management and internal application commands are not available through MCP. The exact tool list is discovered automatically by the client when it connects.
Sample Interactions
Once connected, you can request status checks, operational tasks, or workflow execution directly through the agent. The agent handles the necessary steps based on integrated FCS rules. Below are examples of how you can interact with the agent:
User
Using this work list and the data under D:/FacialCapture/SampleCapture, create all sessions needed for the work in D:/FacialCapture/SampleProject/Sessions via the FCS MCP, and import the videos as well.
Agent
D:/FacialCapture/SampleProject/Sessions exists but is empty. Compared with the work list, D:/FacialCapture/SampleCapture/Assets/scenes only has scenes for Hero_001, Extra_001, and Side_001, and there are no scenes for Side_A, Side_B, or Extra_A on the work list. Please let me confirm a few things.
.
1. How should the sessions be created? (Select one)
Sessions by actor (Recommended) — 4 sessions total: Alice→Hero_001, Bob→Side_A+Side_B, Carol→Extra_A. Replace missing scenes later
3 sessions (actor=performer) — For each of Alice/Bob/Carol, assign a leading character ID (e.g. Hero_001)
Hero_001 only — Create only Alice→Hero_001 and import only that video
Enter your own answer — Free text
.
2. Which scene should be used for sessions of characters without scenes (Side_A, Side_B, Extra_A)? (Select one)
Substitute with the Hero_001 scene (Recommended) — Reuse the Hero_001 scene for this test setup, and set maya_base to D:/FacialCapture/SampleCapture/Assets
Specify the Extra_001 scene — Use Extra_001_setup_FacialBase.ma
Specify a scene — Specify the scene and maya_base yourself
Enter your own answer — Group Side_A and Side_B as Side_001, and proceed with Extra_A as Extra_001
.
3. Which Maya version should be specified? (Select one)
2023 (Recommended) — Same setting as the existing session
2022 — Specify 2022
2024 — Specify 2024
Enter your own answer — Read it from the corresponding Maya scene
.
4. Which set of videos should be imported? (Select one)
01_HMC + 04_ROM (Recommended) — Import videos under 01_HMC\01_Alice, 02_Bob, 03_Carol plus ROM videos from 04_ROM into each session. Exclude 02_Reference / 03_4view
01_HMC only — Only mp4 files from the 01_Alice / Bob / Carol folders into each session
All (including Reference) — Import all mp4 files from 01–04 (including 02_Reference and 03_4view_Ref) into the matching sessions
Enter your own answer — Free text
.
Working…
.
Done. Created 3 FCS sessions and imported the corresponding videos and ROMs.
Actor / Character |
Maya scene |
Imported videos |
|---|---|---|
Alice / Hero_001 |
|
19 videos + 1 ROM |
Bob / Side_001 |
|
16 videos + 1 ROM |
Carol / Extra_001 |
|
13 videos + 1 ROM |
Scenes are under D:/FacialCapture/SampleCapture/Assets, created with Maya 2025. Output is under D:/FacialCapture/SampleProject/Sessions/FCS/. The Bob / Side_001 session is currently open.
User
Switch to the Alice / Hero_001 session, open Maya or analyze the scene, and register controllers. Register suitable controllers including region and min/max/default.
Agent
Done.
What was done (Alice / Hero_001 session):
Session switch — Opened
Alice / Hero_001(20 videos, starting from controller_count 0)Parsed the Maya scene — Extracted
CTRL_*nodes fromHero_001_setup_FacialBase.maand confirmed they match the Metahuman preset naming (e.g.CTRL_L_brow_down.ty)Registered and saved — Registered 174 controllers with regions via the Metahuman preset and saved
Registration result:
upper: 28 rows (brows, nose, neck, etc.)
eyelid: 18 rows (blink, eyelids, etc.)
gaze: 5 rows
lower: 123 rows (mouth, tongue, jaw, teeth)
Total 174 rows — all saved with min=0.0 / max=1.0 / default=0.0
User
I think some controllers should have min=-1. Please check and fix them.
Agent
Checked and fixed.
Findings — Analyzed each CTRL node in the Maya scene via commandPort and determined channel destinations:
Bidirectional channels (
tx, ortyconnected to opposite pairs such as Up/Down) should use the -1..1 rangetychannels that drive a single expression (e.g.brow_down→browDownL) stay at 0..1
Changes — Updated min_value to -1.0 for 77 bidirectional controllers and saved:
upper: nose, neck, etc.
eyelid: blink, eyelid, etc.
gaze:
CTRL_L/R_eye.tx/.tylower: mouth, lips, jaw, teeth, tongue, etc.
Verified — ControllerInfo.yaml now has min_value: -1.0 on 77 rows, and all 174 registered controllers remain. Unidirectional controllers (brow_down, jawOpen, etc.) correctly stay at 0..1.
Review Actions Before Approval
Your MCP client may request approval before a tool runs. Read the proposed action carefully, particularly before allowing an agent to:
Delete ROMs or cancel processing jobs.
Change and save application settings.
Save a session or controller table.
Start processing or export files.
Prefer asking the agent to inspect or validate first, summarize the planned changes, and perform the mutation only after you approve it. Controller edits remain a working draft until the agent explicitly saves them.
Troubleshooting
FCS shows Disabled
Enable MCP Server in Settings and save. Merely changing the checkbox without saving does not apply the setting.
FCS shows Waiting for a valid license
Complete FCS license activation. The endpoint starts only while the license is valid.
FCS shows an error or the port is already in use
Choose another port from 1024 through 65535, except 19876, save the
settings, and update the URL in the AI agent.
The agent cannot connect
Confirm that FCS is still open, its status says Listening, and the
client URL exactly matches the status URL, including /mcp. A client running
on another computer, in a remote development environment, or only in the cloud
cannot reach the FCS 127.0.0.1 endpoint.
The agent connects but an action is rejected
Check that the FCS license is still valid. The requested operation may also be outside the curated public tool set or may require an open session, selected video, renderer connection, or other FCS state. Ask the agent to inspect the application and session status before retrying.