ssave-mcp-server
@ssavecc/mcp-server
Сервер Model Context Protocol (MCP) для Ssave.cc — извлечение и загрузка медиа TikTok / Instagram / YouTube / Douyin (HD-видео без водяного знака, MP3-аудио) прямо на ваш локальный диск.
Работает локально через stdio, на базе Ssave Open API (/open/v1). На бесплатном тарифе регистрация не требуется.
Быстрый старт
npx @ssavecc/mcp-serverЗатем добавьте его в ваш MCP-клиент:
Claude Code
claude mcp add ssave -- npx @ssavecc/mcp-serverИли в .mcp.json на уровне проекта:
{
"mcpServers": {
"ssave": { "command": "npx", "args": ["@ssavecc/mcp-server"] }
}
}Cursor
Настройки → MCP → Добавить новый MCP-сервер:
{
"mcpServers": {
"ssave": {
"command": "npx",
"args": ["@ssavecc/mcp-server"]
}
}
}Claude Desktop
Отредактируйте claude_desktop_config.json:
{
"mcpServers": {
"ssave": {
"command": "npx",
"args": ["@ssavecc/mcp-server"]
}
}
}Related MCP server: MCP Video Extraction Plus
Инструменты
Tool | Description |
| Извлекает метаданные и доступные форматы из URL TikTok / Instagram / YouTube / Douyin. Возвращает токен |
| Потоково сохраняет извлечённый медиафайл на локальный диск (по умолчанию |
| Сохраняет миниатюру медиафайла на локальный диск (через прокси — исходная ссылка CDN не раскрывается). |
Типичный сценарий: extract_media(url) → возьмите возвращённый id → download_media(id, type: "hd" | "watermark" | "mp3").
Переменные окружения
Все необязательные:
Variable | Default | Description |
|
| Переопределение для локальной разработки (например, |
| — | Зарезервировано для платного тарифа (Phase 3): отправляется как |
|
| Каталог вывода по умолчанию, если |
Лимиты запросов (бесплатный тариф)
Общие с Ssave Open API, на IP в сутки по UTC:
Operation | Limit |
| 10 / day |
| 50 / day |
При 429 rate_limited инструмент сообщает время сброса по UTC.
Разработка
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/Правовая информация
Для личного архивирования контента, к которому у вас есть доступ. Соблюдайте Условия использования платформ. Запрещено массовое скачивание. См. ssave.cc/privacy.
Лицензия
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