Skip to content
MCP server

Video hosting MCP server: manage your JMVStream library with AI

Reorganizing a video library today means opening the dashboard and editing one video at a time, or writing and maintaining a script against the REST API. With MCP, you describe the task to your AI assistant and it calls your hosting account's tools.

JMVStream's MCP server connects an AI assistant to your video hosting and gives it 13 tools to manage videos you have already hosted: upload, list, rename, move between galleries, change the cover image, generate an MP4 download, check disk usage and delete. It does not generate or edit video, and it does not cover live streaming, playlists or events. Files upload straight from your computer to storage, up to 100 GiB per video, and the hosting behind it has unlimited bandwidth and a fixed price with no overage fees. The MCP is available on all video hosting plans, at no extra cost.

What you can ask your AI to do: the 13 tools

The server exposes 13 tools, all about videos already in your plan. You don't need to know their names: the assistant picks the tool from what you ask. The table shows what each one does and what it returns.

ToolWhat it doesWhat it returns
create_uploadStarts an upload from your computer. You give the file name, exact size in bytes (up to 100 GiB) and, optionally, the target gallery; without one, the video goes to the default gallery.An upload_id and the curl command for each part (up to 100 MiB, a single upload; above that, up to 20 parts)
complete_uploadCloses the upload. The video enters the conversion queue and shows up in your plan in about 1 minute ("not found" during that window is normal).Confirmation
get_videoLooks up one video by its hash: status, conversion progress and ready-made links.HLS link (.m3u8), cover, 3 cover images, player embed code, size, duration, dates
list_videosLists your library, up to 50 videos per page. Filters by gallery and by part of the name, or shows only videos still converting.The same fields as get_video for each video, plus total items and last page
update_videoRenames a video and/or moves it to another gallery. Nothing else: description, tags, privacy and cover are not editable here.Updated video
delete_videoRemoves the video from your plan. It is permanent.Confirmation
get_downloadGenerates an MP4 download. The first call creates the file (processing); repeat until it returns the link. The link is valid for about 1 day. On failure it shows the error and accepts a retry. The queue is shared and generation can take a while.processing, ready (with the URL) or failed
set_thumbnailReplaces the cover image with a public image URL (JPEG, PNG or WebP, up to 1 MB, no redirects).Confirmation
get_disk_usageShows the space used by the videos in the whole plan or in one gallery.Total in GB, already formatted
list_galleriesLists the plan's galleries as a tree (with sub-galleries). This is how the assistant finds each gallery's ID.Name, description and ID of each gallery, plus the total
create_galleryCreates a gallery at the top level or inside another one.Confirmation
update_galleryRenames a gallery and/or changes its description. Anything you don't send stays as is.Confirmation
delete_galleryDeletes a gallery, only if it is empty (no videos, no sub-galleries).Confirmation

Example requests

Real requests in plain language, and what the assistant does underneath. The order of calls can vary between assistants.

“How much disk am I using?”

Tool: get_disk_usage

Returns: The plan's total in GB; add "in the Courses gallery" to scope it.

Tested with a real call on 23/10/2026.

“List the videos that are still converting.”

Tool: list_videos with converting=true (this filter ignores the others)

Returns: Videos in conversion with status and progress, up to 50 per page.

“Give me the embed code and HLS link for 'Lesson 01'.”

Tool: list_videos filtered by name and, if needed, get_video

Returns: The player iframe, the HLS link, the main cover and 3 cover images in the same response. No second call to build the embed.

Tested with a real call on 23/10/2026.

Press play before publishing the embed: see "Short video without HLS" in Limits, up front.

“Upload lesson-02.mp4 and put it in the Courses gallery.”

Tool: list_galleries (finds the ID of "Courses") → create_upload → file upload → complete_upload → get_video after about 1 minute

Returns: The video in the right gallery with HLS link, covers and embed.

The MCP never receives the file: it returns curl commands and the upload goes from the computer holding the file straight to storage via a pre-signed URL. The commands must run on that machine: if your assistant has terminal access it can run them; if not, you copy and paste.

“Replace the cover of video X with this image: [URL].”

Tool: set_thumbnail

The image must be at a public URL, JPEG/PNG/WebP, up to 1 MB, with no redirects. The MCP does not receive an image attached to the chat.

“Generate the MP4 of video X so I can download it.”

Tool: get_download

Returns: processing first; the assistant repeats the call until ready and hands you the MP4 URL, valid for about 1 day. We don't promise a time: the generation queue is shared and the file can stay in processing for a long while.

“Move 'Lesson 01' and 'Lesson 02' to the Module 1 gallery and rename the second one to 'Lesson 02 — revised'.”

Tool: list_galleries, list_videos (name filter) and update_video (name and gallery)

How to connect

You need an active JMVStream plan and an AI assistant that speaks MCP to a remote server (Streamable HTTP) and lets you set an Authorization header. The connection uses your plan token and sees only that plan: everything the tools list or change belongs to it. Treat the token like a password: it gives access to all 13 tools, including the ones that delete.

Step 1 — Get your plan token

  • In the Hub (hub.jmvtechnology.com), open the "API e MCP" menu and, in the "Token do plano" card (plan token), copy the token. If the plan has no token yet: "Configurações do plano" (plan settings) → "API" block → "Gerar token" (generate token).
  • The account owner already sees the menu; additional users only see it if the owner grants them administration.
  • Note: generating a new token invalidates the previous one.

Step 2 — Use the server address

Address: https://mcp.jmvstream.com/mcp. Transport: Streamable HTTP. Authentication: header Authorization: Bearer <plan token>. The MCP exchanges the token for access to the JMVStream API on your behalf; you never handle a JWT.

The address ends in /mcp: without it the server returns 404. Without the header it returns 401 (www-authenticate: Bearer).

Step 3 — Configure your client

The syntax below comes from each client's official documentation; replace <PLAN-TOKEN> with the token from step 1.

Claude Code (terminal)

claude mcp add --transport http jmvstream https://mcp.jmvstream.com/mcp --header "Authorization: Bearer <PLAN-TOKEN>"

Cursor (.cursor/mcp.json in the project, or ~/.cursor/mcp.json for all projects)

{
"mcpServers": {
  "jmvstream": {
    "url": "https://mcp.jmvstream.com/mcp",
    "headers": {
      "Authorization": "Bearer <PLAN-TOKEN>"
    }
  }
}
}

Other clients: any client that speaks remote MCP over Streamable HTTP and accepts a custom header connects with the same three items: address, transport and Authorization: Bearer <plan token>.

Step 4 — Test the connection safely

Ask: "How much disk am I using?". It is a read-only call (get_disk_usage) and changes nothing in your plan. If it returns a total in GB, you are connected.

If something fails

ResponseMeaning
404The address is missing /mcp at the end.
401Token missing, invalid, regenerated after you copied it, or the plan is inactive.

Limits, up front

LimitValue
Size of each video uploaded through MCPUp to 100 GiB (about 107 GB). Up to 100 MiB, the upload is a single PUT; above that, it is split into parts of up to 5 GiB, at most 20.
How the file gets thereStraight from your computer to storage via a pre-signed URL. The MCP never receives or stores the file.
Upload commandscurl (and dd to cut the parts), run on the machine that holds the file.
Videos per querylist_videos: up to 50 per page (default 10). Asking for 51 or more returns a validation error. The response includes the total and the last page.
Cover by URLJPEG, PNG or WebP, up to 1 MB, public URL, no redirects
update_videoChanges name and gallery only. It does not change description, tags, privacy or cover (cover is set_thumbnail).
delete_videoPermanent. No undo is documented. Removal is asynchronous: the video becomes unavailable immediately and the file is deleted moments later.
delete_galleryEmpty galleries only (no videos, no sub-galleries)
Storage fullNew uploads are refused ("no space" error) until you upgrade
MP4 download (get_download)Link valid for about 1 day. The generation queue is shared: the file can stay in processing for a long time, and we don't promise a time.
Short video without HLSFor some short videos the status reaches COMPLETED without the HLS being generated. Those videos neither play nor download. Press play before publishing the embed and, if it happens, contact support.

What the MCP does not do

The MCP covers on-demand video, galleries, upload, download, cover images and disk usage. It does not:

  • Generate or edit video. No cutting, no captions, no AI video creation. It manages what is already hosted.
  • Live streaming, events and streams. For live, see the live streaming page and the REST API documentation.
  • Playlists. There is no playlist tool in the MCP.
  • Video description, tags and privacy. update_video only changes name and gallery.
  • Promise a download time or guarantee that a short video plays. See the limits above.
  • Charging for access (pay-per-view, tickets). That belongs to the PPV/OTT app with your own brand, not to the MCP or the hosting plan.

When not to choose the MCP

  • You want AI to edit or create video. That is a different kind of tool. Ours only manages the library.
  • You need fixed automation with nobody asking. Scheduled jobs, or an integration with your course platform or CRM: use the REST API, built for that.
  • You upload a few videos a month. For one upload a week, the dashboard is faster than setting up the connection. The MCP pays off with a large library, batch work (renaming, moving, checking conversion) and for people who already work inside an assistant.
  • You don't want an assistant to be able to delete. The token is the plan's and unlocks all 13 tools, including delete_video and delete_gallery. If that is a risk for your team, don't hand the token to an assistant: use the dashboard.

The hosting behind it

The MCP manages your video hosting. The hosting has unlimited bandwidth, no overage fees and a fixed monthly price. What changes between plans is storage: Starter 250 GB, Professional 1 TB, Full 2 TB, and Enterprise sized to your case. When storage fills up, new uploads are refused until you upgrade. It runs on our own infrastructure. Human support is in Portuguese every day, and our assistant answers 24/7 in any language.

See hosting plans and prices

The MCP is available on all video hosting plans, at no extra cost.

FAQ

What is MCP and what does it do at JMVStream?

MCP (Model Context Protocol) is an open standard that lets an AI assistant use tools from other systems. JMVStream's MCP server gives the assistant 13 tools to manage the videos in your hosting: upload, list, rename, move between galleries, change the cover, generate an MP4 download, check disk usage and delete.

Does the MCP generate or edit video?

No. It manages videos that are already hosted. It does not cut, caption or create AI video.

What is the server address and how do I authenticate?

https://mcp.jmvstream.com/mcp, over Streamable HTTP, with the header Authorization: Bearer <plan token>. Without /mcp at the end the server returns 404; without the header, 401.

Which AI assistants work with it?

Any client that speaks remote MCP over Streamable HTTP and accepts a custom Authorization header. On this page we show the syntax for Claude Code and Cursor, as in each one's official documentation.

Do I need a specific plan? Does it cost extra?

The MCP is available on all video hosting plans, at no extra cost. Live-only or IPTV-only plans have no API and no MCP. You need an active plan: with an inactive plan, the server returns 401.

Where do I get the token?

In the Hub, "API e MCP" menu, "Token do plano" card. If the plan has no token yet: "Configurações do plano" → "API" block → "Gerar token". Generating a new token invalidates the previous one. The account owner already sees the menu; additional users only see it if the owner grants them administration.

Is it safe to let AI delete videos?

delete_video is permanent and no undo is documented. The tool's description tells the assistant to confirm with you first, but you are the safeguard: ask "list what will be deleted and wait for my OK", and check the names. Removal is asynchronous (the video goes offline immediately; the file is deleted moments later). delete_gallery only deletes empty galleries, so it never takes videos with it.

What is the upload limit through MCP?

Up to 100 GiB (about 107 GB) per video, also capped by the free storage in your plan. The file does not go through the MCP: it uploads straight from your computer to storage via a pre-signed URL. Up to 100 MiB goes in a single upload; above that, in up to 20 parts of up to 5 GiB. When storage is full, uploads are refused until you upgrade.

Does the MP4 download always work?

We don't promise a time. get_download builds the file in a shared queue and can stay in processing for a long while; once ready, the link is valid for about 1 day. For some short videos the status reaches COMPLETED without the HLS being generated, and they neither play nor download: press play before publishing the embed.

How is it different from the REST API?

It is the same JMVStream API, in two layers. The MCP is the layer for AI agents: you ask an assistant in plain language and it calls 13 on-demand video management tools. The REST API is for code: your system calls it automatically, on a fixed routine, and the API also covers live events and playlists, which the MCP does not expose. Both run on the same hosting.

See the REST API for automating by code and the documentation.

Want to connect your video hosting to your AI assistant?

Message us on WhatsApp: tell us which assistant you use and how many videos you have today, and we'll reply with the connection path and the plan that fits. The 30-day free hosting trial is currently released for companies with a CNPJ (Brazilian company ID), through WhatsApp.