smart-token-guard
This server analyzes AI-generated renders/videos and helps you decide whether to keep, retry, switch, or stop spending on a shot.
stg_inspect_render: measure images/videos for blur, exposure, black/frozen frames, flicker, cuts, flashes, and color drift vs a reference; returns review frames.stg_detect_events: find exact frames/times of impacts, flashes, and cuts for sound effect placement.stg_qa_gate: decide PASS / RETRY_SAME_MODEL / SWITCH_TO_FALLBACK / HALT / HALT_BUDGET with concrete fixes, and log the attempt/cost.stg_spend_report: report project spend, attempts per shot, first-try pass rate, and rejects caught.stg_account: check license holder, checks used, and checks remaining.stg_pricing: view plans, prices, and checkout links (no license needed).
This server has a remotely hosted endpoint. Open its connector listing for connection details, authentication requirements, and setup instructions:
SmartTokenGuard
English · 简体中文
Stop burning credits on broken AI video.
Every black frame, frozen shot and off-model keyframe is money you already paid for. SmartTokenGuard checks each keyframe and clip from ComfyUI, Kling, Runway, Veo, Hailuo, Seedance or any other AI video tool the moment it renders, and tells your AI assistant whether it's worth paying for the next step: pass it, retry with exact fixes, switch models, or stop spending on that shot.
How much are broken renders costing you? Try the calculator: https://nwjnjjj.github.io/smart-token-guard/
Tool | What it does |
| Measures an image or video: blur and soft focus, over/under-exposure, black frames, frozen segments, flicker, hard cuts, impacts and flashes, and colour/lighting drift against a reference image. Returns review frames so your assistant can check hands, faces and identity. |
| Turns measured issues + what the assistant saw into PASS / RETRY_SAME_MODEL / SWITCH_TO_FALLBACK / HALT / HALT_BUDGET, with concrete fixes (negative-prompt terms, lower motion, new seed). Keeps a spend ledger per project on your computer. |
| Exact frames of impacts, flashes and cuts, for placing sound effects. |
| What a project spent, attempts per passed shot, first-try pass rate, keyframes rejected before paying for video. |
| License usage and plans. |
Check the keyframe first. A rejected still costs nothing. A rejected 5-second clip has already been paid for.
How verdicts work: measured checks run automatically, and your assistant reviews the returned frames for hands, faces and identity before a render can PASS, so nothing broken slips through to the next paid step.
Plans
Plan | Monthly | Yearly | Checks per month |
Starter | US$9 | US$99 | 300 |
Pro | US$29 | US$290 | 3,000 |
Checks reset on the 1st of each month (UTC). One license per person; teams buy one per member. Checkout, tax and
invoices are handled by Polar, the merchant of record. The license key in your Polar receipt is your API key.
Cancel or change plans in the Polar customer portal. Run stg_pricing for the checkout links.
Related MCP server: levea-mcp-server
Install (MCP)
Requires uv.
Claude Desktop / Cursor: add to claude_desktop_config.json or ~/.cursor/mcp.json:
{
"mcpServers": {
"smart-token-guard": {
"command": "uvx",
"args": ["--from", "git+https://github.com/nwjnjjj/smart-token-guard", "smart-token-guard"],
"env": { "STG_LICENSE_KEY": "your-license-key" }
}
}
}Claude Code
claude mcp add smart-token-guard -e STG_LICENSE_KEY=your-license-key -- uvx --from git+https://github.com/nwjnjjj/smart-token-guard smart-token-guardVS Code: .vscode/mcp.json → {"servers": {"smart-token-guard": {"type": "stdio", "command": "uvx", "args": [...same...], "env": {...}}}}
Then ask: "Inspect renders/sh010_keyframe.png against refs/kai.png. If it passes, I'll render the clip on Kling
(0.7 USD, fallback Runway)."
Python SDK
pip install git+https://github.com/nwjnjjj/smart-token-guardfrom smart_token_guard import Client
stg = Client() # reads STG_LICENSE_KEY
report = stg.inspect("renders/sh010.mp4", reference_image="refs/kai.png")
print(report["report"]["issues"], report["license"]["checks_remaining"])
decision = stg.qa_gate(model="Kling", render_cost_usd=0.7, technical_issues=report["report"]["issues"],
semantic_defects=["deformed_hands"], fallback_model="Runway")
print(decision["decision"], decision["actions"])HTTP API: POST /v1/inspect (multipart file, optional reference, options JSON), POST /v1/qa-gate,
GET /v1/account with Authorization: Bearer <license key>. See GET /v1/capabilities.
For AI agents (remote MCP and A2A)
No install needed. Media is passed as a public https URL; the server downloads it, analyses it and deletes it.
Remote MCP (Streamable HTTP):
https://stg-agent-560636228350.asia-east1.run.app/mcpwith headerAuthorization: Bearer <license key>. Tools:stg_inspect_media_url,stg_qa_gate,stg_account,stg_pricing.A2A: Agent Card at
https://stg-agent-560636228350.asia-east1.run.app/.well-known/agent-card.json, JSON-RPCmessage/sendat/a2a. Send a data part{"media_url": "https://..."}(or text containing a link) to inspect, or{"skill": "qa-gate", ...}for a decision.Same plans and monthly checks as above. URLs must be public https hosts; private and internal addresses are refused.
Limits and privacy
Up to 32 MB, 60 seconds and 1080p per file (JPEG, PNG, WebP, MP4, MOV, WebM, MKV). 30 requests per minute.
Files are uploaded to the SmartTokenGuard API (Google Cloud), analysed in a temporary file, and deleted before the response is sent. Nothing is stored and nothing is used for training.
The API receives your license key and the file. Project ledgers stay on your computer (
~/.smart-token-guard/).Measured checks catch technical render failures. They do not certify anatomy, identity, copyright or story quality.
Support
Refunds, invoices and cancellation: Polar customer portal (link in your receipt). The client code in this repository is MIT licensed; the hosted API requires a paid license.
Available Tools
6 toolsstg_accountAInspect
Check the configured license: who it is licensed to, checks used and checks remaining.
Inputs: no named parameters. Returns: result
stg_detect_eventsCInspect
Frames and times of impacts, flashes and cuts in a video — for placing sound effects in an editor. Uses 1 check.
Inputs: video_path (required). Returns: result
stg_inspect_renderAInspect
Measure a rendered image or video (local path, max 32 MB / 60 s / 1080p): blur, exposure, black and frozen frames,
flicker, hard cuts, impacts and flashes, and colour/lighting drift against reference_image. Uses 1 check.
Returns a JSON report plus review frames — look at them for anatomy/identity defects, then call stg_qa_gate.
Inputs: path (required), sensitivity, ignore_issues, review_frames, +1 more.
stg_pricingCInspect
Plans, prices and checkout links for SmartTokenGuard. No license needed.
Inputs: no named parameters. Returns: result
stg_qa_gateBInspect
Decide what to do with a render: PASS / NEEDS_VISUAL_REVIEW / RETRY_SAME_MODEL / SWITCH_TO_FALLBACK / HALT /
HALT_BUDGET, with concrete fixes (negative-prompt terms, lower motion, new seed). technical_issues: the issues
array from stg_inspect_render. semantic_defects: what you saw in the review frames ("other" + notes if unlisted).
Records the attempt and its cost in a local project ledger. Free (needs a license, uses no checks).
Inputs: model (required), project (required), shot_id (required), render_cost_usd (required), +7 more. Returns: result
stg_spend_reportCInspect
What a project spent on renders, attempts per shot, first-try pass rate and failed renders caught. Local only.
Inputs: project (required). Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Tools are mostly distinct by lifecycle stage: stg_account and stg_pricing cover license/commercials, stg_spend_report covers spend, stg_inspect_render measures technical quality, stg_detect_events finds edit points, and stg_qa_gate makes the final decision. stg_inspect_render and stg_detect_events both analyze video frames, but their outputs and stated uses differ clearly enough.
All tools use the same stg_ prefix and snake_case casing, so the naming is predictable. Names mix verb_noun (stg_inspect_render, stg_detect_events) with noun_phrase labels (stg_account, stg_pricing), but that is a minor deviation rather than an inconsistent convention.
Six tools are well-scoped for a render QA/guarding workflow, with each tool covering a distinct stage: account, pricing, spend, technical inspection, event detection, and final gate. The count is neither thin nor bloated.
The surface covers license status, pricing, spend tracking, technical render inspection, event detection, and a QA decision gate, which is a coherent lifecycle. Minor gaps remain around license activation/configuration and any explicit semantic-defect helper, but agents can work around these by supplying license state and semantic notes themselves.
Maintenance
Related MCP Connectors
QC, conform and AI video, image and sound generation for film. Priced before every run.
Check AI video and audio before rerendering. Supports fal, Higgsfield, Runway and Replicate.
Check whether a video was generated by AI (Sora, Veo, Kling, HeyGen and others).
Preflight QA for AI-agent deliverables with structured verdicts and repair guidance.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to validate and render branded videos from structured Video Specifications via the Model Context Protocol. Provides tools for health checks, video validation, and deterministic Remotion rendering.MIT
- AlicenseBqualityBmaintenanceEnables AI agents to turn natural-language creative direction, transcripts, and source media into fully structured, editable video projects, then verify and render delivery files.255MIT
- AlicenseNot gradedqualityBmaintenanceEnables automated photosensitivity safety pre-checks on video, resolving flash violations to exact frame spans and using AI to identify the on-screen cause.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to inspect video camera clips through structured quantitative measurements such as exposure, color, sharpness, noise, and camera motion, returning JSON reports and visual scopes instead of relying on frame interpretations.MIT