# Razi Tools (remote · www.razi.pro)

PDF, image, video, OCR, screenshot, SQL, QR and text tools for agents. No API key, no signup.

- Trust score: 36/100 (low)
- Change this week: 0
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-20

## Components

- remote · `www.razi.pro`: 36/100 (this document), [markdown](https://verifymcp.io/servers/razikallayi-razi-tools/api-mcp-2.md), [page](https://verifymcp.io/servers/razikallayi-razi-tools/api-mcp-2)
- npm · `razi-tools-mcp`: 43/100, [markdown](https://verifymcp.io/servers/razikallayi-razi-tools/razi-tools-mcp.md), [page](https://verifymcp.io/servers/razikallayi-razi-tools/razi-tools-mcp)

## Channel facts

- Endpoint: `https://www.razi.pro/api/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `2.1.2`

## Trust breakdown

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. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-20.

- **Endpoint Security**: 89/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - The endpoint enforces authorisation, but returns a challenge with no valid RFC 9728 metadata, so a client cannot discover where to get a token.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 0/100
  - Transport blocked by authentication: the endpoint requires auth we don't have to verify streamable-http.
- **Schema Quality & AI Usability**: 0/100
  - Schema blocked by authentication: the endpoint requires auth we don't have to read it.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 0/100
  - Tool coverage blocked by authentication: the endpoint requires auth we don't have to read its tools.
- **Tool Safety**: 0/100
  - Tool safety blocked by authentication: the endpoint requires auth we don't have to read its tools.
- **Capabilities**: 0/100
  - Capabilities blocked by authentication: the endpoint requires auth we don't have to read them.

**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.

## Install

### How do I install the Razi Tools MCP server?

Razi Tools is a hosted endpoint at https://www.razi.pro/api/mcp, 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.

### Claude

```bash
claude mcp add --transport http razikallayi-razi-tools 'https://www.razi.pro/api/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "razikallayi-razi-tools": {
      "url": "https://www.razi.pro/api/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "razikallayi-razi-tools": {
      "type": "http",
      "url": "https://www.razi.pro/api/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.razikallayi-razi-tools]
url = "https://www.razi.pro/api/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "razikallayi-razi-tools": {
      "type": "remote",
      "url": "https://www.razi.pro/api/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add razikallayi-razi-tools --url 'https://www.razi.pro/api/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  razikallayi-razi-tools:
    url: "https://www.razi.pro/api/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "razikallayi-razi-tools": {
      "Transport": "http",
      "Url": "https://www.razi.pro/api/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add razikallayi-razi-tools -t streamable-http -u 'https://www.razi.pro/api/mcp'
```

### Other

```json
{
  "mcpServers": {
    "razikallayi-razi-tools": {
      "type": "http",
      "url": "https://www.razi.pro/api/mcp"
    }
  }
}
```

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

## 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-09-09 (score 36, −27)

- [security regression] Endpoint reachability: reachable → behind authorisation
- [security regression] Authorization: unverified → fail
- [security regression] Tool safety: pass → unverified
- [security regression] Transport: pass → unverified
- [functional regression] Capabilities: fail → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Schema quality: unverified

### 2026-09-08 (score 63)

First indexed and scored.

## MCP tools (29)

### `merge_pdf` (~38 tokens)

Merge multiple PDF files into one. Use this ONLY when all files are already PDFs. For a mix of images and PDFs, use images_to_pdf.

### `split_pdf` (~50 tokens)

Split a PDF file into multiple files based on page ranges. Requires an uploaded PDF file.

Input parameters:

- `ranges` (array, required): Array of page ranges (e.g., '1-2', '3-5')

### `compress_pdf` (~23 tokens)

Compress a PDF file to reduce its size. Requires an uploaded PDF file.

### `compress_image` (~131 tokens)

Compress and convert images to different formats (webp, jpeg, png, avif). Supports HEIC/HEIF input for conversion. Can also resize images.

Input parameters:

- `format` (string): Output format
- `grayscale` (boolean): Convert image to grayscale
- `height` (number): Target height in pixels (optional)
- `keepAspectRatio` (boolean): Maintain aspect ratio when resizing. Set false for square crop.
- `quality` (number): Quality from 0.1 to 1.0, default 0.9
- `width` (number): Target width in pixels (optional)

### `compress_video` (~151 tokens)

Compress and convert videos to different formats. Can adjust quality, resolution, codec, and remove audio.

Input parameters:

- `audioBitrate` (string): Audio bitrate like '128k'
- `audioCodec` (string): Audio codec
- `crf` (number): Quality 0-51, lower is better, 23 is default
- `format` (string): Output format
- `fps` (string): Frame rate like '30' or '24'
- `preset` (string): Compression speed
- `removeAudio` (boolean): Remove audio track
- `scale` (string): Resolution like '1920:1080' or '-1:720'
- `videoCodec` (string): Video codec

### `upload_file` (~34 tokens)

Upload a file to cloud storage and get a public URL. Supports images, videos, PDFs, documents up to 50MB.

### `shorten_url` (~48 tokens)

Create a shortened URL from a long URL. Returns a short razi.pro link.

Input parameters:

- `customCode` (string): Optional custom short code
- `url` (string, required): The URL to shorten

### `screenshot_url` (~356 tokens)

Capture a screenshot of any public web page, rendered in a real headless browser so JavaScript, web fonts and lazy-loaded images all appear. Returns JSON with a hosted image URL on razi.pro's CDN — not image bytes: { url, width, height, format, bytes, cached, source }. Public pages only: every capture runs in a fresh browser with no cookies or credentials, so anything behind a login is unreachable. Identical requests are cached for 7 days and return the same image (cached: true), so this cannot be used to poll a page for changes. If source is "thumbio" the renderer was unavailable and a fallback provider produced the image, which ignores the fullPage, format, darkMode and delayMs options.

Input parameters:

- `darkMode` (boolean): Render with prefers-color-scheme: dark. Has no effect on sites that do not implement a dark theme.
- `delayMs` (number): Extra wait after load, in milliseconds (max 5000). Use for pages with entrance animations or slow client-side rendering.
- `format` (string): Image format (default webp)
- `fullPage` (boolean): Capture the entire scrollable page rather than just the viewport. Pages taller than 12000px are truncated at 12000px, which is a browser encoding limit, so a very long article returns only its top po…
- `height` (number): Viewport height in pixels (200-4320, default 800). Ignored when fullPage is true.
- `url` (string, required): The page to capture. Must be publicly reachable over http(s).
- `width` (number): Viewport width in pixels (200-3840, default 1280)

### `fetch_site_logo` (~342 tokens)

Get a company's logo from its website URL. Reads the web app manifest, apple-touch-icons, declared favicons, OpenGraph/Twitter images and /favicon.ico, then downloads every candidate and measures its real dimensions — declared `sizes` attributes are frequently wrong, so ranking uses the measurement rather than the claim. Returns `logo` (the best candidate) and `icons` (all candidates, best first; real icon assets deliberately outrank social share images, which are usually a wide marketing banner rather than a logo). Each candidate is { url, source, width, height, format, bytes, rehostedUrl? }. Candidates the site declares but that cannot be fetched are still returned, carrying an `error` field — that is what makes this useful for auditing your own site's icons. SVG logos carry no width/height because they are not rasterised. Page metadata (title, description, OpenGraph, ...) is included too, so there is no need to also call fetch_page_metadata. Use that one instead if you do NOT need the logo: it skips the image downloads entirely and is much faster. Results are cached for 24 hours.

Input parameters:

- `rehost` (boolean): Copy the top candidates to razi.pro's CDN and expose them as `rehostedUrl` (default true). Prefer these for downloading or embedding: many origins block hotlinking or omit CORS headers, so the origin…
- `url` (string, required): The website to inspect, e.g. https://stripe.com. A bare domain is accepted and assumed to be https.

### `fetch_page_metadata` (~153 tokens)

Read a web page's metadata without downloading any images: title, description, siteName, canonical URL, language, theme colour, generator, RSS/Atom feeds, and the full OpenGraph and Twitter card tag sets. Also returns `finalUrl`, the address after redirects, which is how you resolve where a domain actually points. This is the fast, cheap counterpart to fetch_site_logo: it does one page fetch and no image work. Use fetch_site_logo instead when the caller wants a logo, favicon or icon. Results are cached for 24 hours.

Input parameters:

- `url` (string, required): The page to read, e.g. https://stripe.com/pricing. A bare domain is accepted and assumed to be https.

### `humanize_text` (~42 tokens)

Rewrite AI-generated text to sound more natural and human-like.

Input parameters:

- `level` (string): Humanization level
- `text` (string, required): Text to humanize

### `draft_email` (~39 tokens)

Draft professional business emails with configurable tone and style.

Input parameters:

- `prompt` (string, required): Email purpose or content description
- `tone` (string): Email tone

### `generate_blog_outline` (~46 tokens)

Generate SEO-optimized blog post outlines from keywords or topics.

Input parameters:

- `sections` (number): Number of sections (default 5)
- `topic` (string, required): Blog topic or keywords

### `generate_sql` (~41 tokens)

Generate SQL queries from natural language with validation warnings and complexity analysis.

Input parameters:

- `description` (string, required): Natural language query description
- `dialect` (string): SQL dialect

### `encode_base64` (~44 tokens)

Convert plain text into a Base64 string, for embedding binary-unsafe content in JSON, data URIs or HTTP headers.

Input parameters:

- `text` (string, required): Text to encode

### `decode_base64` (~40 tokens)

Recover the original plain text from a Base64 string, rejecting input that is not valid Base64.

Input parameters:

- `encoded` (string, required): Base64 encoded text

### `encode_url` (~40 tokens)

Percent-encode a URL or query-string value so reserved characters such as & = ? and spaces survive transport.

Input parameters:

- `url` (string, required): URL to encode

### `decode_url` (~37 tokens)

Reverse percent-encoding, turning %20-style escape sequences back into the literal characters they represent.

Input parameters:

- `encoded` (string, required): URL encoded string

### `decode_jwt` (~41 tokens)

Decode and inspect JWT tokens, extracting user details from payload and presenting them in a clean markdown table format.

Input parameters:

- `token` (string, required): JWT token to decode

### `format_json` (~45 tokens)

Format, validate, and beautify JSON with syntax highlighting.

Input parameters:

- `indent` (number): Indentation spaces (default 2)
- `json` (string, required): JSON string to format

### `generate_qr_code` (~60 tokens)

Generate QR codes from text or URLs with customization options.

Input parameters:

- `errorCorrection` (string): Error correction level
- `size` (number): QR code size in pixels (default 256)
- `text` (string, required): Text or URL to encode

### `calculate_percentage` (~48 tokens)

Calculate percentages, percentage increase/decrease, and ratios.

Input parameters:

- `operation` (string, required): Calculation type
- `value1` (number, required): First value
- `value2` (number, required): Second value

### `compare_text` (~42 tokens)

Compare two text strings and highlight differences with detailed line-by-line analysis.

Input parameters:

- `text1` (string, required): First text
- `text2` (string, required): Second text

### `generate_fake_data` (~47 tokens)

Generate realistic mock data for testing. Automatically formats multiple user records as tables.

Input parameters:

- `count` (number): Number of records (default 1)
- `type` (string, required): Data type

### `generate_text` (~68 tokens)

Generate lorem ipsum, random text, or sentences for testing and placeholder content.

Input parameters:

- `count` (number): Number of text blocks to generate (default 1)
- `length` (number): Length of text in characters (default 100)
- `type` (string, required): Type of text to generate

### `extract_text_ocr` (~44 tokens)

Extract text from images and PDF files using OCR (Optical Character Recognition). Supports multiple languages.

Input parameters:

- `language` (string): Language of the text (default: eng)

### `generate_image` (~57 tokens)

Generate AI images from text descriptions using Stable Diffusion. Creates high-quality images based on prompts.

Input parameters:

- `negativePrompt` (string): What to avoid in the image (optional)
- `prompt` (string, required): Text description of the image to generate

### `parse_document` (~21 tokens)

Extract text from uploaded PDF, DOCX, or TXT documents.

### `split_image` (~96 tokens)

Split a storyboard, collage, or grid image into individual images. Uses AI vision to automatically detect panel boundaries, borders, and gaps. Returns a ZIP file of all extracted panels.

Input parameters:

- `cols` (number): Number of columns (optional, auto-detected if not provided)
- `format` (string): Output image format (default: png)
- `rows` (number): Number of rows (optional, auto-detected if not provided)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/razikallayi-razi-tools/api-mcp-2#diagnostics

## Score history

- 2026-09-20: 36
- 2026-09-19: 36
- 2026-09-18: 36
- 2026-09-17: 36
- 2026-09-16: 36
- 2026-09-15: 36
- 2026-09-14: 36
- 2026-09-13: 36
- 2026-09-12: 36
- 2026-09-11: 36
- 2026-09-10: 36
- 2026-09-09: 36
- 2026-09-08: 63

## Common questions

### What is the Razi Tools MCP server?

Razi Tools is an MCP server listed in the public MCP registry as io.github.razikallayi/razi-tools. PDF, image, video, OCR, screenshot, SQL, QR and text tools for agents. No API key, no signup. This page covers its hosted endpoint (https://www.razi.pro/api/mcp).

### Is the Razi Tools MCP server safe to use?

Razi 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 Tools MCP server expose?

Razi Tools exposes 29 tools: merge_pdf, split_pdf, compress_pdf, compress_image, compress_video, and 24 more. Their descriptions and schemas cost roughly 2,224 tokens of context every time the server is loaded.

### Does the Razi Tools MCP server require authentication?

Yes. Razi 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 Tools MCP server still maintained?

Razi 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.

## Links

- Remote endpoint: https://www.razi.pro/api/mcp
- Website: https://www.razi.pro/developer
- Changelog RSS feed: https://verifymcp.io/servers/razikallayi-razi-tools/api-mcp-2.xml
- Changelog JSON feed: https://verifymcp.io/servers/razikallayi-razi-tools/api-mcp-2.json
- HTML version of this page: https://verifymcp.io/servers/razikallayi-razi-tools/api-mcp-2
