Atlas / MCP servers / yuniirhm / ilinxa-capture

ilinxa-captureSAFE

mcp/yuniirhm/ilinxa-capture

Extract video frames and compose AI-readable grid sheets for multimodal LLM pipelines, self-hosted via REST, Web UI, or MCP.

Verdict
SAFE
Grade
B
Trust score
89 /100
Exposed tools
8 8r · 0w · 0d
Transport
stdio · streamable-http
License
Apache-2.0
Stars
0
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

Video frame extraction & composition service for AI vision pipelines.

[](https://raw.githubusercontent.com/yuniirhm/ilinxa-capture/main/ui/capture-ilinxa-3.7.zip) [](LICENSE)

ilinxa capture extracts video frames and tiles them into 2×2 or 4×4 grid sheets a multimodal LLM can read in one image — self-hosted, via a REST API, a Web UI, or an MCP server. Instead of sending a model dozens of separate frames, you send one contact sheet, with optional frame-number and timestamp overlays so the model can still reason about time. One core engine backs all three interfaces, reachable however your pipeline prefers:

Table of contents

  • Demo
  • Features
  • Quick start
  • Usage
  • REST API
  • Web UI
  • MCP server
  • Configuration
  • Architecture
  • Development
  • Testing
  • Security model
  • FAQ
  • Contributing
  • Support
  • License

Demo

Read from source at commit 9dec2fee688dOBSERVED · 2026-10-12
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.

claude-code
claude mcp add ilinxa-capture-ui -- npx -y [email protected]
claude-desktop
{
  "mcpServers": {
    "ilinxa-capture-ui": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ]
    }
  }
}
03

Exposed tools (8)

8 read · 0 write · 0 destructive.

ToolRiskDescription
capture_composeread
capture_extractread
capture_extract_and_composeread
capture_hls_discoverread
capture_job_statusread
capture_metadataread
capture_video_downloadread
capture_video_formatsread
04

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryWARN
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (3 observation(s))
Network
declared (3 observation(s))
Shell
none-observed
Dependencies
not all pinned
Secrets in source
none-found

Findings (13)

MEDIUMInventory / provenance · inv.binary · CWE-1104
ui/capture-ilinxa-3.7.zip
capture-ilinxa-3.7.zip
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
LOWInventory / provenance · inv.hidden_file · CWE-1104
ui/.prettierignore
.prettierignore
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
src/api/files.handler.test.ts:278
url: `/api/v1/files/${jobId}/frames/../../../etc/passwd`,
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
src/api/lib/run-job.ts:3
import type { JobManager, TaskFunction } from "../../core/job-manager.js";
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
src/api/lib/validate.ts:2
import { ValidationError } from "../../utils/errors.js";
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
src/core/storage.test.ts:46
storage.fileExists("cap_abc", "../../../etc/passwd"),
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
src/core/storage.test.ts:103
storage.getFileStream("cap_abc", "../../etc/passwd"),
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
src/integration/pipeline.integration.test.ts:110
baseUrl = `http://127.0.0.1:${address.port}`;
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
src/mcp/server.test.ts:765
const baseUrl = new URL(`http://127.0.0.1:${address.port}/mcp`);
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
@fastify/cors, @fastify/error, @fastify/helmet, @fastify/multipart, @fastify/sensible, @fastify/static, @modelcontextprotocol/sdk, archiver
Why it matters. 22 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
ui/package.json
@tanstack/react-query, @tanstack/react-query-devtools, class-variance-authority, clsx, lucide-react, radix-ui, react, react-dom
Why it matters. 33 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
docs/GUIDE.md:315
Sessions are tracked via the `mcp-session-id` header (UUID format). The server creates a session on the first `POST` and returns the session ID in the response header.
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
INFOInventory / provenance · inv.oversize · CWE-1104
assets/brand/demo.gif
assets/brand/demo.gif
Why it matters. 2253666 bytes not read

Gates applied: no_behavioural_pass.

Audited 2026-10-12 · audit v0.4.1 · source sha 9dec2fee688dfull audit observations/trust-audit/mcp-server/yuniirhm__ilinxa-capture.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-129dec2fee688dSAFEB89first audit
06

Questions

What is the ilinxa-capture MCP server?

Extract video frames and compose AI-readable grid sheets for multimodal LLM pipelines, self-hosted via REST, Web UI, or MCP.

What tools does ilinxa-capture expose?

8 in total: 8 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is ilinxa-capture safe to connect to an agent?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.

What credentials does ilinxa-capture need?

No credential environment variables were found in its source, so it appears to need none.

How does ilinxa-capture run?

It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as ilinxa-capture-ui at 0.1.0.

How current is this page?

The grade is for one exact copy of the source (9dec2fee688d), read on 2026-10-12. The repository is watched and re-audited when it changes.

Advertisement