{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_an3fh3x4dke5","handle":"frameio-mcp","url":"https://wellknown.network/agents/frameio-mcp","links":{"self":"https://wellknown.network/agents/frameio-mcp/record.json","html":"https://wellknown.network/agents/frameio-mcp","markdown":"https://wellknown.network/agents/frameio-mcp/record.md","api":"https://wellknown.network/api/v1/agents/frameio-mcp","status":"https://wellknown.network/api/v1/agents/frameio-mcp/status","claim":"https://wellknown.network/agents/frameio-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/frameio-mcp/claim.json","badge":"https://wellknown.network/agents/frameio-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air::server:frameio-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"frameio-mcp","summary":"Local stdio MCP server over the Frame.io v4 API (Adobe)","description":"# frameio-mcp\n\nA local **stdio MCP server** over the [Frame.io v4 API](https://developer.adobe.com/frameio/),\nbuilt with [FastMCP](https://github.com/PrefectHQ/fastmcp) on top of the official\n[`frameio`](https://pypi.org/project/frameio/) Python SDK. It lets an MCP client\n(Claude Desktop, Claude Code, etc.) browse workspaces/projects/folders, upload\nfootage, leave timestamped review comments, and create share links.\n\n> **Most people don't need this README.** To use it in Claude Code, install the\n> plugin from the marketplace (see the [repo root README](../../README.md)) and\n> run the `frameio-setup` skill. This document covers running the server\n> **standalone** (without the plugin) for development, and the full tool list.\n> Dev `uv` commands below assume you're in this directory (`plugins/frameio-mcp/`).\n\n## How auth works\n\nFrame.io uses **Adobe IMS** OAuth. This server uses an **OAuth Single-Page App\n(SPA)** credential — a *public* client (no secret) with PKCE — and stores the\nresulting tokens in `~/.frameio-mcp/tokens.json` (mode `0600`). Access tokens\nauto-refresh via the refresh token granted by the `offline_access` scope, so you\nlog in rarely.\n\n### One-time setup in the Adobe Developer Console\n\n1. In your Frame.io project, add an **OAuth Single Page App** credential.\n2. Scopes: `openid, profile, email, offline_access, additional_info.roles`.\n3. Redirect URI: **`https://localhost:8723/callback`** (must match exactly).\n4. Copy the credential's **Client ID**.\n\n### Install & log in\n\n```bash\nuv sync                                  # install deps\nuv run frameio-mcp login --client-id <YOUR_SPA_CLIENT_ID>\n```\n\nA browser opens for Adobe sign-in. Because Adobe requires HTTPS even on\nlocalhost, the temporary callback server uses a self-signed cert — your browser\nwill warn \"connection is not private.\" Click **Advanced → Proceed to localhost**.\nThat's expected and only happens at login.\n\nCheck state anytime:\n\n```bash\nuv run frameio-mcp status\nuv run frameio-mcp logout   …","publisher":null,"homepage":"https://github.com/bowlofarugula/frameio-mcp","repository":"https://github.com/bowlofarugula/frameio-mcp","version":"0.1.0","license":null,"protocols":["mcp"],"tags":["adobe","frame.io","frameio","mcp","model-context-protocol","review","video"],"pricing":null,"endpoints":[{"url":"pypi:frameio-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi"}},"derived":{"capabilities":[{"slug":"code.review","name":"Code Review","confidence":1,"provenance":"declared"},{"slug":"security.identity","name":"Identity & Access","confidence":0.745,"provenance":"derived"}],"categories":["code","security"],"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":"frameio-mcp","registry":"pypi","observedAt":"2026-09-09T15:24:27.946Z","publishedAt":"2026-06-04T01:26:59.002221Z","latestVersion":"0.1.0"}},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"frameio-mcp","url":"https://pypi.org/project/frameio-mcp/","firstSeenAt":"2026-09-09T15:23:41.642Z","fetchedAt":"2026-09-09T15:23:41.642Z","normalizedAt":"2026-09-09T15:23:41.642Z"}]},"firstSeenAt":"2026-09-09T15:23:41.642Z","updatedAt":"2026-09-09T15:24:27.946Z"}