MCP server for Protoface media generation: discover models, submit async runs, and collect outputs from Codex, Claude Code, and other MCP clients.
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"protoface-mcp","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# protoface-mcp MCP server for **Protoface media generation**: discover models, submit async generation runs, and collect outputs — from Codex, Claude Code, Cursor, or any MCP client. 17 tools over the Protoface API; realtime sessions/avatars and website embeds are intentionally out of scope. ## Install Requires [uv](https://docs.astral.sh/uv/) and a Protoface API key ([create one](https://app.protoface.com/api-keys)). **Codex** — add to `~/.codex/config.toml`: ```toml [mcp_servers.protoface] command = "uvx" args = ["protoface-mcp"] env_vars = ["PROTOFACE_API_KEY"] ``` with `PROTOFACE_API_KEY=sk_live_...` exported in your shell. **Claude Code** — add to `.mcp.json` (project) or `~/.claude.json` (personal): ```json { "mcpServers": { "protoface": { "command": "uvx", "args": ["protoface-mcp"], "env": { "PROTOFACE_API_KEY": "sk_live_..." } } } } ``` Then ask your agent to generate something: > Using Protoface, generate a 5-second video of a lighthouse at dusk. The companion skill (`skills/protoface-media/SKILL.md` in this repo, published to the docs site) teaches agents the workflow: read the model's input schema first, check quota, submit, poll, collect outputs. ## Tools | Group | Tools | |---|---| | Runs | `submit_run`, `get_run_status`, `get_run`, `cancel_run`, `list_runs`, `list_run_events` | | Models | `list_models`, `get_model` (input contracts live here) | | Assets | `upload_asset`, `list_assets`, `get_asset`, `download_asset`, `delete_asset` | | Spend & health | `get_usage_summary`, `list_billing_plans`, `get_quota_limits`, `get_status` | Run statuses: `queued` → `running` → `completed` / `failed` / `canceled`. Poll the cheap `get_run_status`, not `get_run`. Pass an `idempotency_key` to `submit_run` when retrying so a duplicate never double-spends. Set `PROTOFACE_BASE_URL` to point at staging instead of `https://api.protoface.com`. ## Development ```sh uv run pytest packages/mcp # drift + tool tests ``` `te…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.