Skip to main content
Glama
ssavecc

ssave-mcp-server

@ssavecc/mcp-server

Glama

Сервер 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

extract_media

Извлекает метаданные и доступные форматы из URL TikTok / Instagram / YouTube / Douyin. Возвращает токен ssv_ (действует 5–15 минут) плюс URL для скачивания по каждому формату.

download_media

Потоково сохраняет извлечённый медиафайл на локальный диск (по умолчанию ~/Downloads/ssave/, можно переопределить через output_dir). Возвращает абсолютный путь и размер.

get_thumbnail

Сохраняет миниатюру медиафайла на локальный диск (через прокси — исходная ссылка CDN не раскрывается).

Типичный сценарий: extract_media(url) → возьмите возвращённый iddownload_media(id, type: "hd" | "watermark" | "mp3").

Переменные окружения

Все необязательные:

Variable

Default

Description

SSAVE_API_BASE_URL

https://api.ssave.cc

Переопределение для локальной разработки (например, http://localhost:8000).

SSAVE_API_KEY

Зарезервировано для платного тарифа (Phase 3): отправляется как Authorization: Bearer <key>.

SSAVE_OUTPUT_DIR

~/Downloads/ssave/

Каталог вывода по умолчанию, если output_dir не передан.

Лимиты запросов (бесплатный тариф)

Общие с Ssave Open API, на IP в сутки по UTC:

Operation

Limit

extract

10 / day

download

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 tools
download_mediaDownload extracted media to local diskA

把 extract_media 返回的媒体流式下载到本地磁盘(默认 ~/Downloads/ssave/),返回绝对路径与大小。token 过期(5–15 分钟)时请先重新 extract_media。

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesextract_media 返回的 ssv_ token
typeNo默认 hd;mp3 → .mp3,其余 → .mp4
output_dirNo覆盖默认输出目录(默认 ~/Downloads/ssave/,~ 会展开)

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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。

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesTikTok / Instagram / YouTube / Douyin 视频链接
formatNo默认 video;audio 只取 mp3(YT/IG 按需二次调用)

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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 源站直链)。

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesextract_media 返回的 ssv_ token
output_dirNo覆盖默认输出目录(~ 会展开)

TDQS

A3.9/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

  1. 3 tool updatesv0.1.1
    • First observeddownload_media
    • First observedextract_media
    • First observedget_thumbnail

TDQS

A4.2/5.0
Disambiguation5/5

每个工具都有明确且无重叠的用途:extract_media 提取元数据,download_media 下载媒体,get_thumbnail 保存封面。即使没有详细描述,名称和描述也能清晰区分。

Naming Consistency5/5

所有工具都遵循一致的 verb_noun 模式(extract_media, download_media, get_thumbnail),风格统一,没有混合命名或歧义。

Tool Count5/5

3 个工具精确定位,覆盖提取、下载和缩略图获取,没有冗余,也没有缺失必要功能,范围恰当。

Completeness4/5

核心流程(提取→下载)和封面获取完整覆盖,但缺少如获取用户信息或批量下载等可扩展功能,属于次要缺口。

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

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