The Vidext Operator MCP server
Endpoint, transport, versioning, resources, and the contract the server keeps.
The Vidext Operator MCP server is a remote, authenticated MCP server speaking JSON-RPC over streamable HTTP. Client setup and the browser OAuth flow are in the quickstart; this page is the server contract.
Endpoint and identity
https://app.vidext.com/api/mcp/operatorOne URL serves every client. It exposes several typed tools, not several URLs. The server reports itself as vidext-operator (title Vidext Operator); client configurations use that name, so it does not change.
The same host serves one sibling: the public Docs MCP server at /api/mcp/docs, with no authentication. Connect it alongside Operator when you want a client that can look up how Vidext works as well as read your organization's data. There are no other MCP endpoints.
Transport details
- Methods.
POST, plus anOPTIONSpreflight with permissive CORS for browser-based clients. The endpoint is stateless and never opens a server-initiated stream, so an authenticatedGETorDELETEanswers405. Authentication runs first, so without a valid token those two answer401. - No sessions. The server never issues or reads
MCP-Session-ID. The only response header exposed to browsers isWWW-Authenticate. - Protocol
2026-07-28only. Every request carries the per-request_metaenvelope. A request without it, including a 2025-styleinitializehandshake, is answered with JSON-RPC-32022(Unsupported protocol version) on HTTP400, withdata.supported: ["2026-07-28"].server/discoverreplaces the handshake; its result carriessupportedVersions. - Method headers. Every
POSTcarriesMcp-Methodwith the JSON-RPC method, plusMcp-Namewhen the method names an entity (the tool name ontools/call, the URI onresources/read). A missing or mismatched header is answered with-32020on HTTP400. - Responses. Exchanges answer with JSON. Keep sending
Accept: application/json, text/event-stream; the transport allows a response to arrive as a stream. - Authentication. A request without a valid token gets HTTP
401with aWWW-Authenticate: Bearerchallenge whoseresource_metadatapoints at/.well-known/oauth-protected-resource/api/mcp/operator. The body is an OAuth error, not JSON-RPC. MCP clients follow it automatically. See Authentication.
Versioning and deprecation
The server is versioned by MCP protocol revision, not by URL. /.well-known/mcp lists the revisions it serves in mcp.protocolVersions (today only 2026-07-28).
When a protocol revision is announced for removal, it keeps being served for at least 90 days. During that window, every exchange that names the revision in MCP-Protocol-Version and reaches the server answers with:
| Header | What it carries |
|---|---|
Deprecation | When the removal was announced (RFC 9745, @<unix seconds>). |
Sunset | The date the revision stops being served (RFC 8594, an HTTP date). |
Link | The policy in the developer guide, with rel="deprecation" and rel="sunset". |
- Responses that never reach the server — the
OPTIONSpreflight, a401or403, an unknown path's404— do not carry these headers. - Browsers cannot read them, because only
WWW-Authenticateis exposed through CORS. Server-side clients can. - No revision is deprecated today, so no response carries them yet.
- A revision that is no longer served is answered with
-32022, never silently downgraded.
These headers cover protocol revisions only; a tool carries no deprecation signal of its own. tools/list is the source of truth for the tools the server offers, so re-read it on every connection instead of caching it. The tool reference describes the current set.
Resources
The server registers one MCP resource and no prompts:
| Resource | URI | Purpose |
|---|---|---|
| Server card | mcp://server-card.json | Server metadata (authentication, tools, instructions) for hosts that inspect resources after connecting. The same card is public at /.well-known/mcp/server-card.json. |
The contract the server keeps
- Identity and scope. Every call runs as the user who authorized the token, inside the organization bound to it. Only organization admins and members are admitted; the role is checked again on every call.
- Read-only. Every tool is a deterministic read that runs no model. No tool creates, builds, edits, or publishes content.
- Errors are results. A tool that fails returns a normal result with
isError: trueand a structured error, or, for the two knowledge tools,success: false. See Errors and limits. - Admission control. Each call counts against a rate limit and a concurrency limit per user, organization, and tool.
- Same tools for everyone.
tools/listreturns the same five tools to every accepted token.
Raw JSON-RPC
Prefer a real MCP client. For debugging with curl, get an access token first (see Authentication), then:
curl -X POST "https://app.vidext.com/api/mcp/operator" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "Authorization: Bearer <access_token>" \
-H "Mcp-Method: tools/list" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list",
"params": {
"_meta": {
"io.modelcontextprotocol/protocolVersion": "2026-07-28",
"io.modelcontextprotocol/clientInfo": { "name": "curl", "version": "1.0.0" },
"io.modelcontextprotocol/clientCapabilities": {}
}
}
}'Drop the _meta envelope or the Mcp-Method header and the request is rejected, as described above.
Last updated on