Sync MCP Server
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Sync MCP ServerCreate a lipsync video from video URL and audio URL using lipsync-2"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Sync MCP Server
An open-source Model Context Protocol (MCP) server for the Sync API. Gives AI agents the ability to create lipsync videos, manage assets, check generation status, and more.
Tools are auto-generated from the Sync OpenAPI spec at startup. As new API endpoints ship, they become available to agents automatically — no server update needed.
Supported Clients
Client | Status | Transport |
Claude Web (claude.ai) | Supported | Remote (HTTP + OAuth) |
Supported | Local (stdio) | |
Supported | Local (stdio) | |
Supported | Local (stdio) | |
Supported | Local (stdio) | |
Supported | Local (stdio) | |
Supported | Local (stdio) | |
Any MCP-compatible client | Supported | Local (stdio) |
Related MCP server: ElevenLabs MCP Server
Quick Start
Claude Web (claude.ai)
No installation required — connect directly from your browser.
Go to claude.ai → Settings → Integrations
Click Add custom connector
Enter Name:
Syncand URL:https://mcp.sync.so/mcpClick Add, then Connect
Log in with your Sync account when prompted
No API key needed — authentication is handled via OAuth.
Claude Code
claude mcp add sync -- npx -y @sync.so/mcp-server --api-key YOUR_API_KEYOr add to .mcp.json in your project root:
{
"mcpServers": {
"sync": {
"command": "npx",
"args": ["-y", "@sync.so/mcp-server"],
"env": {
"SYNC_API_KEY": "your-api-key"
}
}
}
}Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"sync": {
"command": "npx",
"args": ["-y", "@sync.so/mcp-server"],
"env": {
"SYNC_API_KEY": "your-api-key"
}
}
}
}Cursor
Add to .cursor/mcp.json in your project:
{
"mcpServers": {
"sync": {
"command": "npx",
"args": ["-y", "@sync.so/mcp-server"],
"env": {
"SYNC_API_KEY": "your-api-key"
}
}
}
}Without an API key (interactive login)
Omit SYNC_API_KEY and the server will start a device auth flow on first run:
{
"mcpServers": {
"sync": {
"command": "npx",
"args": ["-y", "@sync.so/mcp-server"]
}
}
}You'll be prompted to visit a URL and enter a code. After approval, the token is cached at ~/.config/sync/mcp-credentials.json.
Getting an API Key
Sign up at sync.so
Go to your dashboard settings
Generate an API key
See the authentication guide for details.
Available Tools
Tools are dynamically generated from the Sync API. Core tools include:
Tool | Description |
| Create a lipsync video from video + audio inputs |
| Get generation status — poll until COMPLETED |
| List recent generations |
| List available lipsync models |
| List all assets in your organization |
| Get a specific asset by ID |
| Estimate generation cost before creating |
| Get a generation by ID |
Example Prompts
Once configured, ask your AI agent:
"List available Sync models"
"Create a lipsync video with this video URL and audio URL using the lipsync-2 model"
"Check the status of generation gen-abc123"
"Show me my recent generations"
"How much would it cost to generate a 30-second video?"
CLI Options
Usage: sync-mcp [options]
Options:
--api-key <key> API key (or set SYNC_API_KEY env var)
--base-url <url> API base URL (default: https://api.sync.so)
--transport <type> stdio (default) or http
--port <port> HTTP port (default: 3002, only with --transport http)
-h, --help Show this help messageEnvironment Variables
Variable | Description | Default |
| Your Sync API key (stdio transport) | — |
| API base URL |
|
| OAuth issuer URL (HTTP transport only) | — |
| Shared secret for client registration (HTTP transport only) | — |
How It Works
On startup, the server fetches the OpenAPI spec from
{baseUrl}/api-jsonParses all public endpoints into operation definitions
Converts each operation into an MCP tool with a Zod input schema
Registers tools on the MCP server
Each tool call makes an authenticated HTTP request to the Sync API
This means new API endpoints are automatically available — just restart the MCP server.
Programmatic Usage
You can also use the server as a library:
import { createSyncMcpServer, resolveConfig } from '@sync.so/mcp-server';
const config = resolveConfig({ apiKey: 'your-key' });
const server = await createSyncMcpServer(config);Development
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm test
# Lint
npm run lint
# Type check
npm run typecheckLocal HTTP Transport Testing
To test the HTTP transport (OAuth flow) locally:
Copy
.env.exampleto.envand fill in the valuesStart a tunnel to expose localhost:
ngrok http 3002Update
MCP_ISSUER_URLin.envwith the ngrok URLStart the server:
source .env node dist/cli.js --transport http --base-url $SYNC_BASE_URL --port 3002Verify it works:
curl https://<ngrok-url>/health curl https://<ngrok-url>/.well-known/oauth-authorization-serverAdd
https://<ngrok-url>/mcpas a custom connector in Claude Web
Learn More
Sync Documentation — Full API reference and guides
Sync API Reference — Endpoint documentation
MCP Protocol — Learn about the Model Context Protocol
Sync Website — Sign up and get started
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/synchronicity-labs/mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server