Skip to main content
Glama
ssavecc

ssave-mcp-server

@ssavecc/mcp-server

Glama

Ssave.cc용 Model Context Protocol(MCP) 서버 — 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

도구

도구

설명

extract_media

TikTok / Instagram / YouTube / Douyin URL에서 메타데이터와 사용 가능한 형식을 추출합니다. ssv_ 토큰(5~15분 후 만료)과 형식별 다운로드 URL을 반환합니다.

download_media

추출된 미디어를 로컬 디스크로 스트리밍합니다(기본 ~/Downloads/ssave/, output_dir로 재정의 가능). 절대 경로와 크기를 반환합니다.

get_thumbnail

미디어 썸네일을 로컬 디스크에 저장합니다(프록시 처리 — 원본 CDN 링크를 노출하지 않음).

일반적인 흐름: extract_media(url) → 반환된 id를 가져옴 → download_media(id, type: "hd" | "watermark" | "mp3").

환경 변수

모두 선택 사항:

변수

기본값

설명

SSAVE_API_BASE_URL

https://api.ssave.cc

로컬 개발용 재정의(예: http://localhost:8000).

SSAVE_API_KEY

유료 티어(3단계)용 예약: Authorization: Bearer <key>로 전송됩니다.

SSAVE_OUTPUT_DIR

~/Downloads/ssave/

output_dir이 전달되지 않을 때의 기본 출력 디렉터리.

속도 제한(무료 티어)

Ssave Open API와 공유되며, IP당 UTC 일별로 적용됩니다:

작업

제한

extract

10 / 일

download

50 / 일

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