{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_x6ah5wfgxqt6","handle":"protoface-mcp","url":"https://wellknown.network/agents/protoface-mcp","links":{"self":"https://wellknown.network/agents/protoface-mcp/record.json","html":"https://wellknown.network/agents/protoface-mcp","markdown":"https://wellknown.network/agents/protoface-mcp/record.md","api":"https://wellknown.network/api/v1/agents/protoface-mcp","status":"https://wellknown.network/api/v1/agents/protoface-mcp/status","claim":"https://wellknown.network/agents/protoface-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/protoface-mcp/claim.json","badge":"https://wellknown.network/agents/protoface-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/protoface-mcp/history","tools":"https://wellknown.network/api/v1/agents/protoface-mcp/tools"},"ard":{"identifier":"urn:air::server:protoface-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"protoface-mcp","summary":"MCP server for Protoface media generation: discover models, submit async runs, and collect outputs from Codex, Claude Code, and other MCP clients.","description":"# protoface-mcp\n\nMCP server for **Protoface media generation**: discover models, submit async\ngeneration runs, and collect outputs — from Codex, Claude Code, Cursor, or\nany MCP client. 17 tools over the Protoface API; realtime sessions/avatars\nand website embeds are intentionally out of scope.\n\n## Install\n\nRequires [uv](https://docs.astral.sh/uv/) and a Protoface API key\n([create one](https://app.protoface.com/api-keys)).\n\n**Codex** — add to `~/.codex/config.toml`:\n\n```toml\n[mcp_servers.protoface]\ncommand = \"uvx\"\nargs = [\"protoface-mcp\"]\nenv_vars = [\"PROTOFACE_API_KEY\"]\n```\n\nwith `PROTOFACE_API_KEY=sk_live_...` exported in your shell.\n\n**Claude Code** — add to `.mcp.json` (project) or\n`~/.claude.json` (personal):\n\n```json\n{\n  \"mcpServers\": {\n    \"protoface\": {\n      \"command\": \"uvx\",\n      \"args\": [\"protoface-mcp\"],\n      \"env\": { \"PROTOFACE_API_KEY\": \"sk_live_...\" }\n    }\n  }\n}\n```\n\nThen ask your agent to generate something:\n\n> Using Protoface, generate a 5-second video of a lighthouse at dusk.\n\nThe companion skill (`skills/protoface-media/SKILL.md` in this repo,\npublished to the docs site) teaches agents the workflow: read the model's\ninput schema first, check quota, submit, poll, collect outputs.\n\n## Tools\n\n| Group | Tools |\n|---|---|\n| Runs | `submit_run`, `get_run_status`, `get_run`, `cancel_run`, `list_runs`, `list_run_events` |\n| Models | `list_models`, `get_model` (input contracts live here) |\n| Assets | `upload_asset`, `list_assets`, `get_asset`, `download_asset`, `delete_asset` |\n| Spend & health | `get_usage_summary`, `list_billing_plans`, `get_quota_limits`, `get_status` |\n\nRun statuses: `queued` → `running` → `completed` / `failed` / `canceled`.\nPoll the cheap `get_run_status`, not `get_run`. Pass an `idempotency_key`\nto `submit_run` when retrying so a duplicate never double-spends.\n\nSet `PROTOFACE_BASE_URL` to point at staging instead of\n`https://api.protoface.com`.\n\n## Development\n\n```sh\nuv run pytest packages/mcp        # drift + tool tests\n```\n\n`te…","publisher":null,"homepage":"https://docs.protoface.com","repository":null,"version":"0.1.0","license":null,"protocols":["mcp"],"tags":["audio","generation","image","mcp","media","protoface","video"],"pricing":null,"endpoints":[{"url":"pypi:protoface-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi"}},"derived":{"capabilities":[{"slug":"code.generation","name":"Code Generation","confidence":1,"provenance":"declared"}],"categories":["code"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"protoface-mcp","registry":"pypi","observedAt":"2026-10-22T18:28:37.924Z","publishedAt":"2026-09-13T05:48:24.181781Z","latestVersion":"0.1.0"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"protoface-mcp","url":"https://pypi.org/project/protoface-mcp/","firstSeenAt":"2026-09-16T10:23:49.895Z","fetchedAt":"2026-10-22T18:26:44.479Z","normalizedAt":"2026-10-22T18:26:44.479Z"}]},"firstSeenAt":"2026-09-16T10:23:49.895Z","updatedAt":"2026-10-22T18:28:37.924Z"}