Atlas / MCP servers / furkiozknn / mini-creative-toolkit

mini-creative-toolkitCAUTION

mcp/furkiozknn/mini-creative-toolkit

23 CPU-first media tools behind one MCP server: background removal, EXIF/GPS stripping, resize, thumbnails, GIFs, video trim. 22 of them report "network": "none" in their own response payload rather than in a README, and a test fails if any other module ever imports an HTTP client. No GPU, no paid A

Verdict
CAUTION
Grade
B
Trust score
86 /100
Exposed tools
—
Transport
stdio
License
MIT
Stars
0
01

Overview

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

Local media tools for MCP clients and the shell: strip GPS from a photo, resize, convert, cut out a background, trim a video. 22 of the 23 tools run on your CPU, and every reply states its own `execution` and `network`.

uvx --from git+https://github.com/Furkiozknn/mini-creative-toolkit mct inspect photo.jpg

Your files stay on the machine: the one hosted tool (generate_image_free) is labelled network: required, and remove_background downloads a model's weights once (first-run-only), as does batch_process when it runs remove_background. The server puts network: none in the payload on 20 of its 23 tools. No clone, no API key, no GPU. Needs uv; ffmpeg only for video and audio. Measured on Windows 11: 21 s from an empty cache to the first result, 3 s once cached (docs/DENETIM.md).

Use it from Claude Code or any MCP client with one line:

claude mcp add --transport stdio mini-creative-toolkit -- uvx --from git+https://github.com/Furkiozknn/mini-creative-toolkit mct serve

Real commands, real output: the full record is docs/demo/komutlar.txt. photo.jpg is a synthetic picture with EXIF and GPS tags, not anybody's photo. The last command is an MCP client session over stdio (scripts/mcp_probe.py). Regenerate everything with uv run python scripts/demo-uret.py.

Read from source at commit 12716b9fd513OBSERVED · 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 (pypi)
claude mcp add mini-creative-toolkit -- uvx mini-creative-toolkit==2.1.0
03

Trust audit

CAUTIONgrade B · trust 86/100 Install with care. The audit found things worth knowing before you trust its output.

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 (1 observation(s))
Network
declared (5 observation(s))
Shell
declared (2 observation(s))
Dependencies
pinned
Secrets in source
none-found

Findings (11)

MEDIUMInventory / provenance · inv.binary · CWE-1104
src/mini_creative_toolkit/models/FSRCNN_x2.pb
FSRCNN_x2.pb
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
MEDIUMInventory / provenance · inv.binary · CWE-1104
src/mini_creative_toolkit/models/FSRCNN_x3.pb
FSRCNN_x3.pb
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
MEDIUMInventory / provenance · inv.binary · CWE-1104
src/mini_creative_toolkit/models/FSRCNN_x4.pb
FSRCNN_x4.pb
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
LOWFilesystem / path · fs.credential_store · CWE-22, CWE-59
tests/test_paths_security.py:49
@pytest.mark.parametrize("target", ["/etc/passwd", "/etc/../etc/passwd", "~root/.ssh/id_rsa"])
Why it matters. touches a credential store
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/test_hosted_generation.py:202
url = pollinations.build_url("../../admin?x=1&y=2 #frag")
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/test_paths_security.py:186
assert safe_stem("../../etc/passwd") == "etc-passwd"
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/test_validation.py:41
"../../etc/passwd",
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/test_video_tools.py:46
@pytest.mark.parametrize("stamp", ["-ss", "1; rm -rf /", "$(id)", "../../etc/passwd", "-i"])
LOWObfuscation / stealth · obf.base64_blob · CWE-506, CWE-94
docs/demo/demo.html:3
@font-face{font-family:JB;font-weight:400;src:url(data:font/ttf;base64,AAEAAAAQAQAABAAAR0RFRmTuZOoAAAJYAAABckdQT1NNk7vRAAAejAAADPxHU1VCZhSk1QAAbVgAAFR+T1MvMhDxBoEAAAH4AAAAYFNUQVTmX9MbAAABmAAAAF5jbWFwK
LOWObfuscation / stealth · obf.base64_blob · CWE-506, CWE-94
docs/demo/demo.html:4
@font-face{font-family:JB;font-weight:700;src:url(data:font/ttf;base64,AAEAAAAQAQAABAAAR0RFRmTuZOoAAAJEAAABckdQT1NPacQ3AAAeZAAADQhHU1VCZhSk1QAAbTwAAFR+T1MvMhIdBmEAAAHkAAAAYFNUQVTrN8wVAAABmAAAAExjbWFwK
LOWInventory / provenance · mcp.no_tools_extracted · CWE-1104
server.json
Why it matters. the tool list is enumerated at runtime by tools/list, not declared in source
Fix. the page says so rather than showing an empty table

Gates applied: no_behavioural_pass.

Audited 2026-10-12 · audit v0.4.1 · source sha 12716b9fd513full audit observations/trust-audit/mcp-server/furkiozknn__mini-creative-toolkit.json · Report an issue / request a re-scan
04

Audit history

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

DateSourceVerdictGradeScoreChange
2026-10-1212716b9fd513CAUTIONB86first audit
05

Questions

What is the mini-creative-toolkit MCP server?

23 CPU-first media tools behind one MCP server: background removal, EXIF/GPS stripping, resize, thumbnails, GIFs, video trim. 22 of them report "network": "none" in their own response payload rather than in a README, and a test fails if any other module ever imports an HTTP client. No GPU, no paid A

Is mini-creative-toolkit safe to connect to an agent?

With care. The audit graded it B (86/100) and found 11 things worth knowing before you trust this server, listed below with the exact line each was found on.

What credentials does mini-creative-toolkit need?

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

How does mini-creative-toolkit run?

It speaks stdio, so it runs as a local process your client starts. It is published on PyPI as mini-creative-toolkit.

How current is this page?

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

Advertisement