Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Razi Media Tools

REMOTE · WWW.RAZI.PRO · SCANNED SEP 20

Image processing over MCP: compress and split images, generate images and QR codes.

Available components

0 this week 36 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security89
Transport & Reachability0
Schema Quality & AI Usability0
  • Schema blocked by authentication: the endpoint requires auth we don't have to read it. See how to fix → Unverified
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
  • Tool coverage blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Tool Safety0
  • Tool safety blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Capabilities0
  • Capabilities blocked by authentication: the endpoint requires auth we don't have to read them. See how to fix → Unverified

Unverified: 6 categories

Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm. Claim this server and supply a read-only token to verify it and lift the score.

Install

How do I install the Razi Media Tools MCP server?

Razi Media Tools is a hosted endpoint at https://www.razi.pro/api/mcp/media, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · www.razi.pro

# add to Claude Code
claude mcp add --transport http razikallayi-razi-media 'https://www.razi.pro/api/mcp/media'
// .cursor/mcp.json
{
  "mcpServers": {
    "razikallayi-razi-media": {
      "url": "https://www.razi.pro/api/mcp/media"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "razikallayi-razi-media": {
      "type": "http",
      "url": "https://www.razi.pro/api/mcp/media"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.razikallayi-razi-media]
url = "https://www.razi.pro/api/mcp/media"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "razikallayi-razi-media": {
      "type": "remote",
      "url": "https://www.razi.pro/api/mcp/media",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add razikallayi-razi-media --url 'https://www.razi.pro/api/mcp/media' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  razikallayi-razi-media:
    url: "https://www.razi.pro/api/mcp/media"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "razikallayi-razi-media": {
      "Transport": "http",
      "Url": "https://www.razi.pro/api/mcp/media"
    }
  }
}
# add to Vellum
assistant mcp add razikallayi-razi-media -t streamable-http -u 'https://www.razi.pro/api/mcp/media'
// mcp.json
{
  "mcpServers": {
    "razikallayi-razi-media": {
      "type": "http",
      "url": "https://www.razi.pro/api/mcp/media"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 9 Sept 26 −27
    • Endpoint reachability: reachable → behind authorisation security
    • Authorization: unverified → fail security
    • Tool safety: pass → unverified security
    • Transport: pass → unverified security
    • Capabilities: fail → unverified functional
    • Tool coverage: 100 → unverified functional
    • First check of Schema quality: unverified functional
  • 8 Sept 26 63

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Probed https://www.razi.pro/api/mcp/media

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=www.razi.pro CN=YR2,O=Let's Encrypt,C=US 12 Sept 2026 11 Dec 2026 RSA 2048 SHA256-RSA 5b5cb6701996625e48e7d57e8c436c9e7b8
SANs: www.razi.pro
CN=YR2,O=Let's Encrypt,C=US (CA) CN=Root YR,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 RSA 2048 SHA256-RSA 4ebd24947e24d394802d84a52fd5b319
CN=Root YR,O=ISRG,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 RSA 4096 SHA256-RSA f24b6d17f9d9ad7cb1c9fea78782699f

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of www.razi.pro. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
pro. present 42154 8 Verified
razi.pro. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Challenged, unverified

The endpoint asked for a token, but we could not retrieve and validate the RFC 9728 metadata that tells a client how to obtain one.

Result Challenged, unverified
Enforced On connection
HTTP status 403
Header Value
strict-transport-security max-age=63072000; includeSubDomains; preload
content-security-policy default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' blob: https://www.youtube.com https://www.googletagmanager.com https://www.clarity.ms https://scripts.clarity.ms https://vercel.live https://va.vercel-scripts.com; worker-src 'self' blob:; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https:; font-src 'self' data:; connect-src 'self' data: blob: https://*.supabase.co wss://*.supabase.co https://*.posthog.com https://us.i.posthog.com https://us-assets.i.posthog.com https://*.clarity.ms https://www.google-analytics.com https://*.google-analytics.com https://*.analytics.google.com https://www.googletagmanager.com https://*.googletagmanager.com https://vitals.vercel-insights.com https://va.vercel-scripts.com https://vercel.live wss://vercel.live https://*.public.blob.vercel-storage.com https://*.upstash.io https://api.dicebear.com wss://worker.razi.pro https://worker.razi.pro/api/peerdrop/files/; frame-src https://www.youtube.com https://youtube.com https://www.youtube-nocookie.com
x-content-type-options nosniff
x-frame-options DENY
referrer-policy origin-when-cross-origin
permissions-policy camera=(), microphone=(), geolocation=()

Protected resource metadata

Retrieved No
Problem no_resource_metadata

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://www.razi.pro/api/mcp/media Auth required 403
http (plaintext) http://www.razi.pro/api/mcp/media HTTPS enforced 308 https://www.razi.pro/api/mcp/media
MCP tools · 4 exposed · ~1,298 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
compress_image ~448

Re-encode a single raster image to webp, jpeg, png or avif, optionally resizing it and/or converting it to grayscale. HEIC/HEIF input is converted to JPEG first, and SVG input is rasterised at 300 DPI, fitted inside 800x800 unless width or height is given. Lossy for webp, jpeg and avif at any quality below 1.0. Images only — use compress_pdf for PDFs and compress_video for video. Output shape depends on size: an input under 5MB is processed in-app and the encoded image bytes are returned, while anything larger is sent to razi.pro's worker and the reply is JSON { url, size, metadata } pointing at a hosted copy instead of bytes. Paid compute; 30 calls per hour per IP. There is no upload channel over MCP: pass `fileUrl`, a URL in razi.pro's own storage (for example the `url` returned by upload_file); third-party URLs are rejected.

NameTypeReqDescription
formatstringOutput container/codec. Default webp; an unrecognised value also falls back to webp. Transparency survives in webp, png and avif but not jpeg.
grayscalebooleanDrop colour before encoding. Default false.
heightnumberTarget height in pixels. Give only one of width/height to scale the other proportionally. Omit both to keep the original dimensions.
keepAspectRatiobooleanOnly has an effect when BOTH width and height are given. Default false, which centre-crops the image to fill the box exactly. Set true to fit the whole image inside the box instead, so the result may…
qualitynumberEncoder quality as a fraction from 0.1 to 1.0, scaled to the encoder's 0-100 range. Default 0.9. Higher means larger and closer to the original.
widthnumberTarget width in pixels. Give only one of width/height to scale the other proportionally. Omit both to keep the original dimensions. Enlarging is allowed.

No output schema declared.

No examples provided.

generate_image ~281

Generate a new image from a text description with a diffusion model. Returns a single PNG; over MCP it arrives inline when under 1MB and otherwise as a stored URL that stays retrievable for about 24 hours. This invents an image from scratch — it cannot edit, upscale or restyle a picture you already have. Use compress_image to re-encode or resize an existing file. Requires a signed-in razi.pro account; an anonymous call is rejected with 401. Paid compute, 20 images per hour per account, and generation can take tens of seconds. Providers are tried in turn (Fireworks FLUX.1-schnell, Hugging Face FLUX.1-schnell, SDXL, Cloudflare SDXL, Replicate), so the model that actually ran varies with availability and there is no seed or size control. No two calls give identical output, and the image is not automatically hosted anywhere permanent.

NameTypeReqDescription
negativePromptstringWhat to keep out of the image, e.g. 'text, watermark, blurry'. Maximum 2,000 characters. Only the Replicate fallback provider honours it, so on the usual path it has no effect.
promptstringyesWhat the image should show. Subject, style and composition all help. Required, non-blank, maximum 2,000 characters.

No output schema declared.

No examples provided.

generate_qr_code ~214

Render text or a URL as a QR code image. Returns JSON { dataUrl, text, size } where dataUrl is a base64 PNG data URI embedded in the response — not a hosted link, so nothing is stored and the image cannot be fetched later. Runs locally and costs nothing. Reading a QR code is not supported, only writing one. To turn a long address into a shorter, more scannable one first, call shorten_url and pass its shortUrl here.

NameTypeReqDescription
errorCorrectionstringDeclared for compatibility but currently ignored — the code is always generated at the library default, level M (about 15% damage tolerance).
sizenumberWidth and height of the output PNG in pixels; the code is always square. Default 300. Only applied when given as a number.
textstringyesThe exact payload to encode. A URL must include its scheme to be actionable when scanned. Very long values force a denser code that is harder to scan.

No output schema declared.

No examples provided.

split_image ~355

Cut one storyboard, collage or grid image into its separate panels and return them as a ZIP, one file per panel in reading order. Over MCP the ZIP is not inlined: it comes back as a stored URL that stays retrievable for about 24 hours. Two modes. Give both rows and cols for an exact equal division, which is free of model cost and predictable. Omit them and a vision model locates the panels, excluding borders, gaps and captions — better on uneven layouts, but it is a paid inference whose panel count and crops can vary between runs, and it fails with 400 if it finds nothing. Panels are cropped, never resized; a lossy re-encode at quality 90 is applied for jpeg and webp. This splits one image into several — it does not split a PDF (use split_pdf) or shrink a file (use compress_image). Paid compute; 20 calls per hour per IP. There is no upload channel over MCP: pass `fileUrl`, a URL in razi.pro's own storage (for example the `url` returned by upload_file); third-party URLs are rejected.

NameTypeReqDescription
colsnumberNumber of equal-width columns in the grid. Only takes effect when rows is also given. Omit both rows and cols to have the panels detected automatically.
formatstringEncoding for each extracted panel and its file extension inside the ZIP. Default png, which is lossless; jpeg and webp are written at quality 90.
rowsnumberNumber of equal-height rows in the grid. Only takes effect when cols is also given; supplying both switches off vision detection and divides the image evenly, ignoring any borders or gaps.

No output schema declared.

No examples provided.

Common questions

What is the Razi Media Tools MCP server?

Razi Media Tools is an MCP server listed in the public MCP registry as io.github.razikallayi/razi-media. Image processing over MCP: compress and split images, generate images and QR codes. This page covers its hosted endpoint (https://www.razi.pro/api/mcp/media).

Is the Razi Media Tools MCP server safe to use?

Razi Media Tools scores 36 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Razi Media Tools MCP server expose?

Razi Media Tools exposes 4 tools: compress_image, generate_qr_code, generate_image, split_image. Their descriptions and schemas cost roughly 1,298 tokens of context every time the server is loaded.

Does the Razi Media Tools MCP server require authentication?

Yes. Razi Media Tools asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the Razi Media Tools MCP server still maintained?

Razi Media Tools is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.