# io.importly/importly-mcp (npm · importly-mcp)

Download, transcribe, and get metadata for any video/audio URL. Managed yt-dlp + speech-to-text.

- Trust score: 69/100 (medium)
- Change this week: +23
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `importly-mcp`: 69/100 (this document), [markdown](https://verifymcp.io/servers/io-importly-importly-mcp/importly-mcp.md), [page](https://verifymcp.io/servers/io-importly-importly-mcp/importly-mcp)

## Channel facts

- Registry: `npm`
- Package: `importly-mcp`
- Version: `0.1.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 86/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 14 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 81/100
  - AI-judged instruction clarity (excellent).
  - Tool/resource definitions use about 775 tokens (~86/item across 9 items; 9 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 23/100
  - Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add io-importly-importly-mcp -- npx -y importly-mcp
```

### Codex

```bash
codex mcp add io-importly-importly-mcp -- npx -y importly-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "io-importly-importly-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "importly-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add io-importly-importly-mcp --command npx --arg -y --arg importly-mcp
```

### Hermes

```yaml
mcp_servers:
  io-importly-importly-mcp:
    command: "npx"
    args: ["-y", "importly-mcp"]
```

### Other

```json
{
  "mcpServers": {
    "io-importly-importly-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "importly-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 69, +3)

- [functional improvement] Stability: unverified → 0.23

### 2026-08-02 (score 66, +61)

- [security regression] Provenance: unverified → fail
- [security improvement] Install scripts: unverified → pass
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Malware scan: unverified → pass
- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional regression] Security disclosure: fail → unverified
- [functional improvement] Schema quality: unverified → excellent
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] License: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] MCP protocol: unverified → pass
- [functional] Licence: MIT

### 2026-08-01 (score 5, −16)

- [functional regression] Tool coverage: 100 → unverified

### 2026-07-31 (score 21, −7)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 28, +4)

- [security regression] Malware scan: pass → unverified
- [functional improvement] Tool coverage: unverified → 100

### 2026-07-28 (score 24, −22)

- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Schema quality: unverified

### 2026-07-27 (score 46)

First indexed and scored.

## MCP tools (9)

### `import_media` (~202 tokens)

Download the video/audio at any URL (YouTube, TikTok, X, and 1000+ sites) to hosted storage and get back a direct download link. Importly runs yt-dlp, rotating residential proxies, and ffmpeg server-side — no local tooling needed. Async: returns a jobId immediately; poll check_import for the result. Optionally also produce a transcript in the same job with includeTranscript.

Input parameters:

- `audioQuality` (string): Default medium
- `includeAudio` (boolean): Include audio stream (default true)
- `includeTranscript` (boolean): Also transcribe the audio in the same job
- `includeVideo` (boolean): Include video stream (default true)
- `transcriptLanguage` (string): ISO language hint for the transcript, e.g. "en"
- `url` (string, required): Media page URL, e.g. https://www.youtube.com/watch?v=...
- `videoQuality` (string): Default 720p

### `check_import` (~48 tokens)

Check the status of an import_media job. Returns the media download URL (and transcript, if requested) once the job completes.

Input parameters:

- `jobId` (string, required): Job id returned by import_media

### `get_metadata` (~110 tokens)

Extract full metadata for a video/audio URL (title, description, duration, uploader, formats, thumbnails, view counts) without downloading the media. Works on YouTube, TikTok, X, and 1000+ sites — no yt-dlp to run yourself. Async: poll check_metadata with the returned jobId. For just title/duration/thumbnail, prefer the faster get_basic_metadata.

Input parameters:

- `url` (string, required): Media page URL, e.g. https://www.youtube.com/watch?v=...

### `check_metadata` (~39 tokens)

Check the status of a get_metadata job. Returns the full metadata object once completed.

Input parameters:

- `jobId` (string, required): Job id returned by get_metadata

### `get_basic_metadata` (~84 tokens)

Fast-path metadata for a video/audio URL: title, duration, and thumbnail only. Cheaper and quicker than get_metadata — use this to identify or validate a media URL before importing or transcribing it. Async: poll check_basic_metadata with the returned jobId.

Input parameters:

- `url` (string, required): Media page URL, e.g. https://www.youtube.com/watch?v=...

### `check_basic_metadata` (~44 tokens)

Check the status of a get_basic_metadata job. Returns title, duration, and thumbnail once completed.

Input parameters:

- `jobId` (string, required): Job id returned by get_basic_metadata

### `transcribe_media` (~159 tokens)

Transcribe the audio of any video/audio URL (YouTube, TikTok, podcasts, and 1000+ sites) to text with timestamped segments. Importly handles the download, audio extraction, and speech-to-text server-side — no yt-dlp or ffmpeg needed. Async: returns a jobId immediately; poll check_transcription for the transcript. Costs scale with media length; set maxCostDollars to cap spend on long media.

Input parameters:

- `language` (string): ISO language hint, e.g. "en"
- `maxCostDollars` (number): Abort with a quote if the estimated cost exceeds this cap
- `url` (string, required): Media page URL, e.g. https://www.youtube.com/watch?v=...

### `check_transcription` (~45 tokens)

Check the status of a transcribe_media job. Returns the transcript text and timestamped segments once completed.

Input parameters:

- `jobId` (string, required): Job id returned by transcribe_media

### `check_balance` (~44 tokens)

Check the remaining Importly credit balance for the configured API key. Use this to diagnose failed jobs (insufficient credits) or as a pre-flight check before large imports/transcriptions.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/io-importly-importly-mcp/importly-mcp#diagnostics

## Score history

- 2026-08-03: 69
- 2026-08-02: 66
- 2026-08-01: 5
- 2026-07-31: 21
- 2026-07-30: 28
- 2026-07-28: 24
- 2026-07-27: 46

## Links

- npm package: https://www.npmjs.com/package/importly-mcp
- Socket report: https://socket.dev/npm/package/importly-mcp
- Repository: https://github.com/yyildiz/importly-mcp
- Changelog RSS feed: https://verifymcp.io/servers/io-importly-importly-mcp/importly-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/io-importly-importly-mcp/importly-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/io-importly-importly-mcp/importly-mcp
