ssave-mcp-server
This server is an MCP tool for extracting and downloading media (TikTok, Instagram, YouTube, Douyin) to your local disk via Ssave.cc.
extract_media: Parse a supported video/audio URL and return metadata, anssv_token, and per-format download links.download_media: Stream the extracted media to local disk (default~/Downloads/ssave/) as HD video, watermarked video, or MP3 audio.get_thumbnail: Download the media thumbnail locally through a proxy without exposing the source CDN link.Supports selecting video or audio extraction, overriding the output directory, and is configured via environment variables (
SSAVE_API_BASE_URL,SSAVE_API_KEY,SSAVE_OUTPUT_DIR).Runs locally via stdio and can be added to Claude Code, Cursor, or Claude Desktop as an MCP server.
Enables extraction and download of Instagram media, including HD video without watermark and MP3 audio, via the Ssave MCP server.
Enables extraction and download of TikTok media, including HD video without watermark and MP3 audio, via the Ssave MCP server.
Enables extraction and download of YouTube media, including HD video without watermark and MP3 audio, via the Ssave MCP server.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ssave-mcp-serverDownload this TikTok video in HD: https://www.tiktok.com/@user/video/123"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@ssavecc/mcp-server
Model Context Protocol (MCP) server for Ssave.cc — extract and download TikTok / Instagram / YouTube / Douyin media (HD video without watermark, MP3 audio) directly to your local disk.
Runs locally via stdio, backed by the Ssave Open API (/open/v1). No registration required on the free tier.
Quick Start
npx @ssavecc/mcp-serverThen add it to your MCP client:
Claude Code
claude mcp add ssave -- npx @ssavecc/mcp-serverOr project-level .mcp.json:
{
"mcpServers": {
"ssave": { "command": "npx", "args": ["@ssavecc/mcp-server"] }
}
}Cursor
Settings → MCP → Add new MCP server:
{
"mcpServers": {
"ssave": {
"command": "npx",
"args": ["@ssavecc/mcp-server"]
}
}
}Claude Desktop
Edit claude_desktop_config.json:
{
"mcpServers": {
"ssave": {
"command": "npx",
"args": ["@ssavecc/mcp-server"]
}
}
}Related MCP server: MCP Video Extraction Plus
Tools
Tool | Description |
| Extract metadata and available formats from a TikTok / Instagram / YouTube / Douyin URL. Returns an |
| Stream the extracted media to local disk (default |
| Save the media thumbnail to local disk (proxied — never exposes the source CDN link). |
Typical flow: extract_media(url) → take the returned id → download_media(id, type: "hd" | "watermark" | "mp3").
Environment Variables
All optional:
Variable | Default | Description |
|
| Override for local development (e.g. |
| — | Reserved for paid tier (Phase 3): sent as |
|
| Default output directory when |
Rate Limits (free tier)
Shared with the Ssave Open API, per IP per UTC day:
Operation | Limit |
| 10 / day |
| 50 / day |
On 429 rate_limited the tool reports the UTC reset time.
Development
npm install
npm run dev # run server on stdio (connect with MCP Inspector: npx @modelcontextprotocol/inspector)
npm test # unit tests (mock fetch)
npm run build # compile to dist/Legal
For personal archiving of content you have access to. Respect platform Terms of Service. No bulk downloading. See ssave.cc/privacy.
License
MIT
Available Tools
3 toolsdownload_mediaDownload extracted media to local diskA
把 extract_media 返回的媒体流式下载到本地磁盘(默认 ~/Downloads/ssave/),返回绝对路径与大小。token 过期(5–15 分钟)时请先重新 extract_media。
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | extract_media 返回的 ssv_ token | |
| type | No | 默认 hd;mp3 → .mp3,其余 → .mp4 | |
| output_dir | No | 覆盖默认输出目录(默认 ~/Downloads/ssave/,~ 会展开) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It discloses that the download is streamed, that it defaults to ~/Downloads/ssave/, that it returns absolute path and size, and that tokens expire after 5–15 minutes requiring re-extraction. These are meaningful behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and written in two sentences, front-loading the primary operation and immediate context such as default directory and return value. The token expiry guidance is appended without unnecessary words or structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description provides what an agent needs: the main purpose, required dependency on extract_media, default output directory, return shape, and token expiry handling. The remaining parameter details are fully described in the schema, leaving no critical gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already explains each parameter: id is an ssv_ token, type maps mp3 to .mp3 and other values to .mp4, and output_dir has a default with ~ expansion. The tool description reinforces the workflow but does not add meaningfully to the parameter-level semantics already present.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly says it downloads media returned by extract_media to local disk, naming the specific resource and the default destination. This clearly distinguishes the tool from the siblings extract_media (which produces media) and get_thumbnail (which fetches a thumbnail), so an agent can select it correctly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description establishes that the tool depends on extract_media's token output and instructs that if the token expires (5–15 minutes), extract_media should be run again first. This gives clear context about when to use download_media relative to extract_media, though it does not explicitly contrast it with get_thumbnail or list exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_mediaExtract media metadata from a linkA
从 TikTok / Instagram / YouTube / Douyin 链接提取媒体元数据与可下载格式,返回 ssv_ token(5–15 分钟过期)与各格式下载 URL。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | TikTok / Instagram / YouTube / Douyin 视频链接 | |
| format | No | 默认 video;audio 只取 mp3(YT/IG 按需二次调用) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden and it does add useful behavioral context: the ssv_ token expires in 5–15 minutes, and the format parameter's audio mode only yields MP3, requiring an additional call for YouTube/Instagram. It does not state side effects, but 'extract metadata' implicitly signals a read-only operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, dense sentence that front-loads the supported platforms, the core operation, and the key output details (token expiry and download URLs). Every clause earns its place and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (2 params, no nested objects) and no output schema, the description adequately explains what is returned. It does not mention how outputs connect to sibling tools like download_media, but the token and URL mentions make the workflow inferable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% so the baseline is 3, but the description adds meaningful nuance beyond the schema, particularly that audio mode only returns MP3 and that YouTube/Instagram may require a second call. This helps an agent understand format-specific behavior not fully captured by the enum.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states a specific action ('提取媒体元数据与可下载格式') on clearly listed resources (TikTok/Instagram/YouTube/Douyin links) and names concrete outputs (ssv_ token and download URLs). This clearly differentiates it from siblings like download_media and get_thumbnail, which perform different actions on the same resource type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says what the tool does but gives no guidance on when to prefer it over download_media or get_thumbnail, and does not mention any exclusions or prerequisites. An agent must infer that extraction precedes download from the token mention; no explicit routing is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_thumbnailDownload media thumbnail to local diskA
把 extract_media 返回的封面图落盘(经 Ssave 代理,不暴露 IG/Douyin 源站直链)。
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | extract_media 返回的 ssv_ token | |
| output_dir | No | 覆盖默认输出目录(~ 会展开) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses key behaviors: uses a proxy to avoid exposing direct source links, and writes to disk (side effect). However, it does not mention idempotency, overwrite behavior, or potential side effects beyond saving.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the main action and includes only essential details. It is efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the action and side effect but does not mention the return value or error behavior. Since there is no output schema, this information may be needed for full usability, but the scope of the tool is simple enough that the description is adequate for basic invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both parameters have descriptions). The tool description adds no extra parameter semantics beyond what's already in the schema, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: saving the thumbnail returned by extract_media to disk. It specifies the exact action ('落盘'), the source ('extract_media 返回的封面图'), and adds context about using a proxy, which distinguishes it from sibling tools like download_media.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage after extract_media, but does not explicitly state when to choose this over the sibling tools. It lacks direct guidance on alternatives or conditions for use, making it only implicitly clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
3 tool updates
v0.1.1- First observed
download_media - First observed
extract_media - First observed
get_thumbnail
TDQS
每个工具都有明确且无重叠的用途:extract_media 提取元数据,download_media 下载媒体,get_thumbnail 保存封面。即使没有详细描述,名称和描述也能清晰区分。
所有工具都遵循一致的 verb_noun 模式(extract_media, download_media, get_thumbnail),风格统一,没有混合命名或歧义。
3 个工具精确定位,覆盖提取、下载和缩略图获取,没有冗余,也没有缺失必要功能,范围恰当。
核心流程(提取→下载)和封面获取完整覆盖,但缺少如获取用户信息或批量下载等可扩展功能,属于次要缺口。
Maintenance
Related MCP Connectors
Download YouTube, TikTok, Vimeo, SoundCloud and 6 more platforms from any MCP AI chatbot.
MCP server for ByteDance Seedance AI video generation
MCP server for Kling AI video generation
MCP server for QPost — lets AI agents publish video and image posts to YouTube, TikTok, Instagram.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceAn MCP server that downloads videos/extracts audio from various platforms like YouTube, Bilibili, and TikTok, then transcribes them to text using OpenAI's Whisper model.11MIT
- AlicenseNot gradedqualityDmaintenanceEnables video text extraction using multiple speech recognition providers including local Whisper, JianYing/CapCut, and Bilibili Cut services. Supports video downloading, audio extraction, and automatic speech-to-text transcription with configurable providers.7MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for downloading videos and audio from YouTube and hundreds of other sites using yt-dlp.MIT
- FlicenseNot gradedqualityBmaintenanceMCP server enabling AI agents to generate AI videos and images, analyze video content, and download videos from Douyin and Xiaohongshu.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ssavecc/ssave-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server