MCP
Faceless ships a Model Context Protocol (MCP) server so agent runtimes (Claude, Claude Code, Claude Desktop, Cursor and any other MCP client) can call the API as tools. There are two ways to connect: the remote server over streamable HTTP, or a local stdio server. The remote server accepts OAuth (sign in with your Faceless account, no key handling) or an API key from your team settings at https://faceless.so/team; the local server needs an API key.
Connect Claude (claude.ai and the Claude apps)
The fastest path for Claude users is a custom connector. No install, no API key: you sign in with your Faceless account and approve exactly the permissions you want.
- In Claude, open Settings > Connectors > Add custom connector.
- Enter
https://faceless.so/api/v1/mcpand continue. - Claude opens the Faceless consent screen. Sign in, pick the team to connect, untick any permissions you do not want to grant, and click Authorize.
- Back in Claude, enable the connector in any chat. Try: "Check my Faceless credits" or "Make a faceless video about deep sea creatures and post it to my YouTube".
Available on Claude Pro, Max, Team and Enterprise plans. Access can be revoked anytime from your Faceless team settings.
Remote server (nothing to install)
The remote server lives at https://faceless.so/api/v1/mcp and speaks the streamable HTTP transport. Authenticate with the same Authorization header as the REST API.
Claude Code:
claude mcp add --transport http faceless https://faceless.so/api/v1/mcp \
--header "Authorization: Bearer fl_live_..."
Any MCP client that supports streamable HTTP works the same way: point it at the URL and send Authorization: Bearer fl_live_... with every request.
Local server (stdio)
For clients that only speak stdio, run the server locally. Two equivalent ways: npx -y faceless-mcp, or faceless mcp if the CLI is installed. Both read the key from the FACELESS_API_KEY environment variable.
Claude Code:
claude mcp add faceless --env FACELESS_API_KEY=fl_live_... -- npx -y faceless-mcp
Claude Desktop (Settings > Developer > Edit Config, claude_desktop_config.json):
{
"mcpServers": {
"faceless": {
"command": "npx",
"args": ["-y", "faceless-mcp"],
"env": { "FACELESS_API_KEY": "fl_live_..." }
}
}
}
Cursor (.cursor/mcp.json in your project, or the global ~/.cursor/mcp.json):
{
"mcpServers": {
"faceless": {
"command": "npx",
"args": ["-y", "faceless-mcp"],
"env": { "FACELESS_API_KEY": "fl_live_..." }
}
}
}
Use the remote server when you want zero install and always-current tools; use the local one when your client only speaks stdio or your network policy prefers a locally spawned process.
Tools
All 28 API operations are exposed as tools named faceless_*, and each respects the key's scopes (a missing scope surfaces as a forbidden_scope error). The core ones an agent reaches for:
faceless_get_me,faceless_get_credits: identity, scopes and budgetfaceless_list_voices,faceless_list_options: catalogs to choose voices, styles and modelsfaceless_create_video,faceless_get_video_status,faceless_render_video,faceless_get_render: the create, poll, render, poll lifecyclefaceless_create_caption_video: caption existing footagefaceless_update_video,faceless_publish_post,faceless_schedule_post,faceless_cancel_post,faceless_get_calendar: publishing and schedulingfaceless_create_series,faceless_list_series,faceless_get_series,faceless_update_series,faceless_delete_series,faceless_generate_series_episode,faceless_list_series_episodes: automated seriesfaceless_list_videos,faceless_get_video,faceless_delete_video,faceless_list_accounts,faceless_create_asset,faceless_get_analytics: the rest of the surface
Mutating tools accept an optional idempotencyKey argument with the same semantics as the REST Idempotency-Key header: retries with the same key and arguments replay the stored result instead of re-running (and re-charging). Pass one when a tool call might be retried.
Tool results use the same envelope and error types as the REST API; see errors and rate limits. Rate limits also apply per key, so a busy agent should back off on rate_limited.
Related
- Prefer commands over tools? The CLI covers the same surface.
- Claude Code plugin (skill + MCP server in one install):
/plugin marketplace add Side-Products/faceless-claude-pluginthen/plugin install faceless@faceless. - A packaged Claude Skill with ready-made workflows:
npx skills add Side-Products/faceless-skill(https://github.com/Side-Products/faceless-skill). - The machine-readable surface: https://faceless.so/llms.txt and https://faceless.so/api/v1/openapi.json.