
Short answer: yes. AIOZ Stream now documents a Model Context Protocol server, and an AI client such as Cursor can connect to it with a single URL. The more useful question is what that server actually lets an agent do, and how that compares with the servers Mux, Cloudflare and Cloudinary already ship. This article covers the documented tools, the setup, the gaps the docs leave open, and where MCP fits next to the llms.txt documentation AIOZ Stream already provides.
TL;DR:
mcp.aiozstream.network and uses server-sent events (SSE). You connect a client by adding one URL whose api_key query parameter carries your public and secret keys, packed into a JSON object and base64url-encoded.The server's documentation page describes it as an MCP server for connecting MCP-compatible clients to AIOZ Stream media and live streaming operations. It lists nine tools:
| Tool | Arguments | What it does |
|---|---|---|
count-total-media | None | Returns the total number of videos and audios in the account |
get-video-urls | videoName (required) | Searches by name or partial name and returns playback and asset URLs, grouped by media ID |
get-list-video | None | Returns a list of all videos in the account |
create-livestream-key | keyName (required) | Creates a livestream key |
get-analytics-data | fromDate, toDate | Retrieves analytics data for a date range |
get-aggregated-metrics | fromDate, toDate, mediaType, metricType | Aggregated view or watch time for video or audio |
get-breakdown-metrics | fromDate, toDate, mediaType, metricType | Breakdown for video or audio by device type, browser, operating system or country |
get-balance | None | Retrieves the account balance |
get-data-consumed | fromDate, toDate | Retrieves data consumed over a date range |
The argument rules are strict, and the docs spell them out. Dates must be in dd/mm/yyyy format. mediaType must be exactly video or audio. For aggregated metrics, metricType must be exactly view or watch_time. For breakdown metrics it must be exactly DeviceType, Browser, OperatorSystem or Country. An agent that guesses a different spelling or a day-first versus month-first date is likely to get a rejected call, so put those rules in the prompt or the client's instructions. All tools take their credentials from the connection URL, and the docs say not to pass the keys as tool arguments.
Eight of the nine tools read data. The ninth, create-livestream-key, creates a stream key, the first step of the workflow described in the live streaming guide. Together they cover inventory, analytics, usage and balance questions, which are exactly the quick lookups where writing a script is more work than the question deserves.
Notice what is absent. There is no tool for creating a video entry, uploading a file, checking encoding status, registering a webhook, managing playlists or players, or deleting anything. The page does not call this a limitation or a roadmap, and the tool list has already grown since it first appeared, so check the live page before relying on it. The safe reading today is that the documented server covers these nine operations and the rest of the API is reachable only through the REST API and SDKs.
The endpoint is https://mcp.aiozstream.network/sse?api_key=<BASE64URL_STREAM_CREDENTIALS>. The docs explain how to build the api_key value: copy your public key and secret key from the API Keys page, create a JSON object with the exact field names publicKey and secretKey, and encode the whole JSON string with base64url, without padding. Their example uses Node.js with the two keys read from environment variables, which keeps them out of your shell history.
For Cursor, the documented steps are to open the command palette, run "Open MCP Settings", and add an entry named aioz-mcp-server under mcpServers with that URL. A sensible first test, which the page itself suggests, is to ask the chat to count the total number of videos in your AIOZ Stream account.
{
"mcpServers": {
"aioz-mcp-server": {
"url": "https://mcp.aiozstream.network/sse?api_key=<BASE64URL_STREAM_CREDENTIALS>"
}
}
}The page also has sections for Claude CLI, ChatGPT and VS Code with Copilot Agent mode, but their configuration steps were not readable in the page source when this article was checked, so they are not reproduced here. Check the live page for those clients rather than relying on a guess.
The security point is worth stating plainly. The URL contains both your public key and your secret key. Base64url only changes how the text is written, it does not protect it, so anyone who sees the URL can decode the keys in seconds. The docs warn you to keep the credentials out of shared chats, public repositories, screenshots and visible prompts, and never to commit the keys or the encoded value. As a general rule, anything that logs or stores URLs can also capture a key placed in one, so keep the client config file out of version control. The page does not say which API key role the server needs. The API keys article explains the difference between upload-only and full-access keys, and a reasonable approach is to test with the narrowest role that works.
It is worth being precise about the difference, since the two get conflated. llms.txt is documentation: a coding assistant reads it once, uses it to write code, and that code is what actually calls the API afterward. An MCP server is a live, callable interface: the assistant calls a tool directly at runtime without writing and running its own client code in between. Both approaches get an agent to a working result. MCP removes a step, so the agent does not have to generate and execute its own integration code for a one-off task. AIOZ Stream offers both now: the llms.txt files for generating integration code, and the MCP server for direct calls.
Mechanically, an MCP server exposes a list of tools, each with a name, a description and a typed schema for its inputs, over a standard transport. Local processes typically use stdio, and remote servers typically use HTTP with server-sent events, which is the transport AIOZ Stream's server uses. A client such as Claude Desktop or Cursor connects, asks what tools exist, and gets that list back as structured data rather than prose. When the assistant decides to use one, it sends a structured call, tool name plus arguments, and gets a result back. That predictable shape is what makes a server callable directly instead of needing generated glue code in between. The protocol's own architecture documentation covers the full handshake and message format.
Mux's MCP server is thorough. According to its own documentation, it covers practically the full Mux SDK: video assets and direct uploads, playback IDs and tracks, live streams and stream keys, webhook signature verification, and the full Mux Data surface. It is hosted remotely at mcp.mux.com with OAuth handling authentication, and works with Claude Desktop, Cursor, ChatGPT, Goose and VS Code. Set against that, AIOZ Stream's nine documented tools are a much smaller surface, and keys in a URL are a simpler credential model than OAuth. That is a fair description of where the two stand today, not a claim that one is wrong: a small server is easier to reason about and cheaper to secure.
Cloudflare Stream does not have a server built specifically for it, but it is reachable through Cloudflare's general account-wide MCP server, which covers more than 2,500 endpoints across DNS, Workers, R2, Zero Trust and Stream through a generic search-and-execute pair of tools. Cloudinary took the dedicated route like Mux, but for asset management rather than streaming delivery: tagging, search, moderation and workflow. These are three different design choices, purpose-built for video, purpose-built for assets, and general-purpose and broad. AIOZ Stream's server sits in the first group by intent, with a much shorter tool list than Mux's.
With the nine documented tools, an agent can answer questions such as how many videos and audios the account holds, find the playback URLs for a video by name, list every video, create a livestream key, pull analytics for a date range, total views or watch time, break traffic down by country, browser, device or operating system, and report the balance and data consumed. That suits quick, exploratory work, where writing a script to answer a one-line question is more overhead than the question deserves. It does not cover the core video pipeline of creating an entry, uploading parts and checking encoding status. For that, an application still calls the REST API, ideally through the SDKs, and a model can drive those calls through tool calling, which the companion article on connecting an AI agent to AIOZ Stream walks through with a working example.
Does AIOZ Stream have an MCP server?
Yes. The AIOZ Stream docs describe an MCP server at mcp.aiozstream.network that uses server-sent events and takes your API credentials in an api_key query parameter.
Which tools does it provide?
Nine are documented: count-total-media, get-video-urls, get-list-video, create-livestream-key, get-analytics-data, get-aggregated-metrics, get-breakdown-metrics, get-balance and get-data-consumed.
Which clients can connect to it?
The docs name Cursor, Claude CLI, ChatGPT connectors and VS Code with GitHub Copilot Agent mode. The complete configuration is readable for Cursor only.
Can an agent upload a video through the MCP server?
Not with the documented tools. Uploading is done through the REST API or an SDK.
Is it safe to put API credentials in the URL?
The URL carries your public and secret keys in base64url, which is an encoding and not encryption. The docs warn you to keep them out of shared chats, public repositories, screenshots and visible prompts. Treat the whole URL as a secret.
How does it compare with Mux's MCP server?
Mux documents coverage of practically its entire SDK with OAuth authentication. AIOZ Stream documents nine tools with keys in the URL, so it is a narrower, simpler server.
What is the difference between MCP and llms.txt?
llms.txt is documentation an assistant reads to write code. MCP is a live interface the assistant calls directly. AIOZ Stream offers both.
How do I build the api_key value?
Create a JSON object with publicKey and secretKey fields, encode the whole string with base64url without padding, and use the result as the api_key query parameter. The docs include a Node.js example.

Stream from your phone to AIOZ Stream with PRISM Live Studio: Custom RTMP setup, documented 1080p and 720p bitrates, Adaptive quality and mobile stability tips.

Choose OBS encoder settings for AIOZ Stream: the documented 1080p30 values, the missing 720p figure, NVENC vs x264, keyframes, 60 fps and a test procedure.

Set up OBS Studio for AIOZ Stream: choose a Custom service, paste the RTMP server URL and stream key, then stream CBR at 4500 to 6000 Kbps with 1 s keyframes.

Seven steps to go live on AIOZ Stream with OBS or PRISM: stream key, session form, RTMP credentials, bandwidth math, and the first two minutes after you start.

Live streaming on AIOZ Stream: a stream key, one session per broadcast, RTMP from OBS or PRISM, HLS playback, plus restreaming, stats and an opt-in archive.

A web3 streaming platform delivers video through independent nodes and settles payments on a blockchain. How it differs from a CDN, and how AIOZ Stream does it.