sync. labs MCP Server — Use sync. labs from Claude, ChatGPT & AI Assistants via MCP
What Is the Sync Labs MCP Server?
The Sync Labs MCP server is an open-source Model Context Protocol server that connects AI assistants — including Claude, ChatGPT, Claude Code, Codex, Cursor and VS Code — to the Sync Labs lipsync API. Instead of writing code or using the Studio, describe what you want in plain English and your AI assistant handles the API calls for you.
The hosted server offers a curated set of tools to every client, listed below. The local server can also generate a tool for every other operation in the public API specification. Available tools depend on the server release and client profile, and a new API endpoint does not automatically become a hosted or ChatGPT tool.
Using Claude Code, Codex, Cursor or another coding agent? Install the sync. labs agent skills. They connect to this server and add guided workflows for lipsync, talking photos, dubbing, dialogue edits, campaign localization and batch runs, with a cost quote before every paid action.
Which AI Clients Support the Sync Labs MCP Server?
Sync Labs hosts the MCP server at https://mcp.sync.so/mcp. Any client that supports remote MCP servers connects to it and signs you in with your Sync Labs account through OAuth. You don’t need to install anything or create an API key.
How Do I Set Up the Sync Labs MCP Server?
Point your client at https://mcp.sync.so/mcp and sign in to Sync Labs when it asks. Every client below uses the same hosted server.
Claude (claude.ai and Claude Desktop)
- In claude.ai or Claude Desktop, open Settings → Connectors
- Click Add custom connector
- Enter Name:
sync.and URL:https://mcp.sync.so/mcp - Click Add, then Connect
- Sign in with your Sync Labs account when prompted
Sync Labs tools appear in Claude’s tool picker. Try asking: “Create a lipsync video with this video and audio URL.”
ChatGPT
- Open the official sync. labs plugin in ChatGPT
- Choose Connect
- Sign in with your sync. labs account when prompted
- Start a new chat and select sync. labs for the conversation
Ask “Open Sync” to use the embedded Studio. See the sync. labs ChatGPT plugin guide for lipsync, image-to-video, translation, dialogue editing, uploads, project history, estimates, and recovery. ChatGPT uses workflow-specific tools rather than exposing every generated operation listed below; availability also depends on its published tool catalog.
Claude Code
Add the server:
Then run /mcp in Claude Code, select sync and sign in. Add --scope user to use it in every project.
Codex
Add the server, then sign in:
Cursor
Add to .cursor/mcp.json in a project, or ~/.cursor/mcp.json for all projects:
Cursor asks you to sign in to Sync Labs the first time it connects.
VS Code
Add to .vscode/mcp.json:
VS Code asks you to sign in to Sync Labs the first time it starts the server.
Other MCP clients
Add a remote MCP server (Streamable HTTP) with the URL https://mcp.sync.so/mcp. The client registers itself and opens Sync Labs in your browser to sign in.
The server is also listed in the official MCP Registry as io.github.synchronicity-labs/mcp-server, so clients and directories that read the registry can add it for you.
Choosing Organizations
Claude and ChatGPT connect to every organization you belong to as soon as you sign in, with the organization active in Studio as the default. Other clients ask which organizations the connection can work in: every one starts ticked, so untick any you want to leave out, and set default next to another ticked one makes it the default. The agent works in the default organization unless you ask it to switch, and paid generations use that organization’s credits or usage.
- Switch during a conversation: ask the agent to work in another organization it is connected to. It lists them with
organizations_listand switches withorganizations_select, and you can ask which organization it’s working in at any time. - Add an organization later: connect again (and tick it, for clients that ask). Switching organizations in Studio doesn’t change an existing connection.
- See or remove a connection: each organization lists the connection under Settings → Agents & MCP in Studio, where you can disconnect it from that organization alone.
An API key always works in the organization it was created in and can’t switch.
Local Server for Scripts, CI and Other Clients
Use the hosted server whenever your client supports remote MCP servers. Run the server locally only for clients without remote MCP support, or for scripts, CI and other unattended agents. The local server needs Node.js 22.19+ and runs over stdio from the @sync.so/mcp-server package.
For unattended use, pass a Sync Labs API key from your dashboard settings (see the authentication guide):
Or in a client’s JSON config:
Without SYNC_API_KEY, the server signs you in on its first run instead: open the URL it prints and enter the code. It saves the token to ~/.config/sync/mcp-credentials.json.
npm releases ship separately from the hosted server and can lag behind it. @latest makes npx fetch the newest release when the client restarts the server; without it, npx can keep running an old cached copy.
What Can I Do with the Sync Labs MCP Server?
Once connected, you can create lipsync videos, check generation status, estimate costs, and manage assets — all through natural language. Here are example prompts you can try with your AI assistant:
- “Create a lipsync video with this video URL and audio URL”
- “Check the status of generation gen-abc123”
- “List available Sync Labs models”
- “Show me my recent generations”
- “How much would it cost to generate a 30-second video?”
- “Get the details of my latest completed generation and give me the output URL”
- “Estimate the cost for a 45-second lipsync video, then create it if it’s under $1”
- “Which organization and plan am I on, and how much do I have left to spend this month?”
The hosted server offers the same curated tools to every client; the ChatGPT plugin adds its embedded Studio and leaves out a few, as its guide explains. These are the main ones. The server README lists them all. Tools are named <noun>_<verb>. Earlier names such as generate_get-generation and create-lipsync still work as aliases for now, but new setups should use the names below.
The Sync Labs MCP server works with any model available through the API. For the most reliable MCP flow, use publicly accessible URLs for video and audio inputs. The core API also supports multipart file inputs on /v2/generate for local files with a 5 GiB per-file application parser limit, subject to your plan and any lower proxy limits.
To translate and dub, review a combined estimate with generations_estimate-cost and workflow: "translate-and-dub", create it with dubbing_create, then poll the returned ID with generations_get. create-translate-and-dub remains an older alias.
Many Jobs vs Batch
jobs_create-many runs one create tool, such as lipsync_create, dubbing_create or dialogue-videos_create, once per item, up to 50 at a time. Each job has the same limits and billing as a single call, so it works on any plan, within your plan’s concurrency limit. It isn’t in the ChatGPT plugin yet. The Batch API is a separate queued pipeline for large runs of 20 to 500 generations that can wait hours, and needs the Scale plan or above.
Sync Labs MCP Server vs SDK vs REST API
The Sync Labs MCP server is one of three ways to integrate with the Sync Labs API. Choose the approach that best fits your workflow:
The Sync Labs MCP server is ideal when you want to explore the API, prototype workflows, or create lipsync videos without writing code. For production applications, the Sync Labs SDKs or REST API give you full programmatic control.
CLI Options
The local Sync Labs MCP server accepts the following options. The hosted server needs none of them.
Programmatic Usage
You can also use the Sync Labs MCP server as a library in your own applications. This is useful when you want to embed Sync Labs’ MCP tools into a custom AI agent or multi-tool pipeline:
Programmatic clients use the same tool generation and client-profile filtering. Inspect the connected server’s tool list for the operations available to your agent.
Troubleshooting
Sync Labs MCP server not showing tools
- Check that the server URL is exactly
https://mcp.sync.so/mcp - Finish signing in: run
/mcpin Claude Code,codex mcp login syncin Codex, or click Connect on the connector in Claude - Restart your AI client after changing its configuration
- On the local server, make sure you have Node.js 22.19+ installed and check the terminal or logs for errors
Authentication errors with the Sync Labs MCP server
- On the hosted server, disconnect the integration and connect again to sign in with OAuth
- If the agent says an organization isn’t part of the connection, connect again and tick that organization
- On the local server with an API key, check at sync.so/settings/api-keys that the key is correct and has not been revoked
- On the local server without an API key, delete
~/.config/sync/mcp-credentials.jsonand restart the server to sign in again - If a paid tool is refused for your plan, credits or an unpaid invoice, the error includes a
billingUrl: open it signed in to Sync Labs to upgrade, top up or pay, then retry. Get account (account_get-contextin MCP) shows the current plan and limits
npx not found or 'command not found' errors on the local server
If you see sh: mcp-server: command not found or similar errors when using the npx configuration, this is typically caused by Node version managers (nvm, fnm, volta) not resolving npx bin paths correctly.
Fix: Install the package globally and reference it directly:
Then update your MCP config to use sync-mcp instead of npx:
If that still doesn’t work, use the full path to node:
Frequently Asked Questions
Do I need to install anything?
No. Sync Labs hosts the server at https://mcp.sync.so/mcp, so you add the URL to your client and sign in. Only the local server needs Node.js 22.19+; it runs via npx, which downloads the package automatically.
Does the Sync Labs MCP server auto-update when new API endpoints ship?
The hosted server updates when Sync Labs deploys a new release and only exposes tools on its allowlist, so a new hosted tool ships with a release. The local server reads the public OpenAPI specification at startup, so a newly documented endpoint can become a tool on the next restart, subject to the toolsets you list. Hosted ChatGPT updates also require any necessary publisher refresh/review; restarting a local server does not publish new ChatGPT tools.
Can I use the Sync Labs MCP server without an API key?
Yes. Every client that supports remote MCP servers, including Claude, ChatGPT, Claude Code, Codex, Cursor and VS Code, connects to the hosted server and signs in with OAuth. The local server can also sign you in through the browser. You only need an API key to run the local server unattended, such as in scripts or CI.
Which AI clients support the Sync Labs MCP server?
Any client that supports remote MCP servers over Streamable HTTP with OAuth, including ChatGPT, Claude (claude.ai and Claude Desktop), Claude Code, Codex, Cursor, VS Code and Windsurf. Clients without remote MCP support can run the local server. See the supported clients table for details.
Are asset uploads supported through the Sync Labs MCP server?
Yes. The generated tools include the asset upload flow: assets_create-upload-url returns a presigned uploadUrl for a file up to 5 GiB (subject to your plan’s file size limit), the client PUTs the bytes there, and assets_create registers the upload and returns an asset ID. Pass it to a create tool as videoAssetId, imageAssetId or audioAssetId. This needs a client that can make the PUT request itself, such as Claude Code or another agent with shell or HTTP access. In ChatGPT, attach the file to the chat instead. You can also reference files you’ve already uploaded by their asset ID, or use publicly accessible URLs.
Related Resources
- Quickstart — get started with the Sync Labs API
- Authentication — API keys for the local server, SDKs and REST API
- SDKs — use official Python or TypeScript SDKs
- GitHub: @sync.so/mcp-server — source code and issues

