# Vidext developers

Vidext turns a single prompt into a structured learning path — outline, narrated slides, and AI-generated imagery — grounded in the organization's own documents. Built for agents: Studio is available over a remote MCP endpoint.

## Start here

- MCP discovery: [/.well-known/mcp](https://staging.vidext.com/.well-known/mcp)
- OpenAPI spec: [/openapi.json](https://staging.vidext.com/openapi.json)
- Registry server metadata: [/server.json](https://staging.vidext.com/server.json)
- Full product context: [llms.txt](https://staging.vidext.com/llms.txt) and [llms-full.txt](https://staging.vidext.com/llms-full.txt)
- API catalog: [/.well-known/api-catalog](https://staging.vidext.com/.well-known/api-catalog)
- OAuth metadata: [/.well-known/oauth-authorization-server](https://staging.vidext.com/.well-known/oauth-authorization-server) and [/.well-known/oauth-protected-resource](https://staging.vidext.com/.well-known/oauth-protected-resource)

## Core endpoint

```
https://staging.vidext.com/api/mcp/studio
```

The shared endpoint is the recommended MCP integration surface for Claude, ChatGPT, Cursor, and other remote MCP clients. Project-scoped URLs are also supported at `/api/mcp/studio/{projectId}`.

## Authentication

Vidext Studio uses OAuth 2.1 authorization-code with PKCE and dynamic client registration. Unauthenticated MCP requests return a bearer challenge pointing clients to the protected-resource metadata.

- Authorization: `/api/auth/mcp/authorize`
- Token: `/api/auth/mcp/token`
- Dynamic registration: `/api/auth/mcp/register`
- Userinfo: `/api/auth/mcp/userinfo`
- JWKS: `/api/auth/mcp/jwks`

## Rate limits and error handling

Vidext exposes public discovery endpoints without auth, but application routes still enforce rate limits and structured error behavior.

- Public tRPC routes: **75 requests / 10 seconds / IP**
- Protected tRPC routes: **250 requests / 10 seconds / IP**
- Server actions: **50 / 10 seconds / IP** for public actions and **100 / 10 seconds / IP** for protected actions
- Unauthenticated MCP requests return 401 with a WWW-Authenticate header pointing to protected-resource metadata.
- MCP tool failures return isError: true with a JSON error payload in the text content.
- Common error codes: `BAD_REQUEST`, `UNAUTHORIZED`, `FORBIDDEN`, `NOT_FOUND`, `METHOD_NOT_ALLOWED`, `CONFLICT`, `TOO_MANY_REQUESTS`, `UNPROCESSABLE_ENTITY`, `FAILED_DEPENDENCY`, `INTERNAL_SERVER_ERROR`, `TIMEOUT`
- Treat 429 responses as retryable, honor Retry-After when present, and rerun OAuth discovery on 401 bearer challenges.

## Quickstart

```bash
claude mcp add --transport http vidext-studio-staging https://staging.vidext.com/api/mcp/studio
```

On first use, the client follows the MCP OAuth challenge, performs dynamic registration if needed, and sends the user through the browser authorization flow.

## What agents can do

- List Studio courses and inspect course/module status
- List Studio projects the authenticated user can access
- Draft a course outline from a prompt
- Start and wait for a full Studio build
- Edit an existing finished course directly
- Open an MCP Apps UI resource inside supported hosts

## Machine-readable assets

- [/openapi.json](https://staging.vidext.com/openapi.json)
- [/server.json](https://staging.vidext.com/server.json)
- [/.well-known/api-catalog](https://staging.vidext.com/.well-known/api-catalog)
- [/card.json](https://staging.vidext.com/card.json)
- [/.well-known/mcp/server-card.json](https://staging.vidext.com/.well-known/mcp/server-card.json)
- [/.well-known/agent-card.json](https://staging.vidext.com/.well-known/agent-card.json)
