Index / MCP servers / Razi Tools

Razi Tools MCP server

Connect Razi Tools and your agent gets 28 tools, among them calculate_percentage, compare_text, compress_image. It answers at https://www.razi.pro/api/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 6 of 6 times since 11 September 2026; the last check, on 23 October 2026, succeeded.

Status
Answering
Tools
28
Reliability
6 of 6 checks
Response time
278 ms
Transport
streamable HTTP
Last checked
23 October 2026

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

Description as the publisher wrote it.

The 28 tools Razi Tools offers

ToolWhat it does
calculate_percentageRun one of four percentage calculations on two numbers. Returns JSON { operation, result } (plus unit: 'percent' for the 'change' operation). The meaning of value1 and value2 depends on the operation, so read their descriptions before calli
Inputs: operation, value1, value2
compare_textCompare two blocks of text line by line. Returns JSON { identical, linesCompared, changeCount, changes[] }, where each change carries a 1-based line number, a change of 'added' | 'removed' | 'modified', and the before/after text. Lines are
Inputs: text1, text2
compress_imageRe-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
Inputs: quality, format, width, height, keepAspectRatio, grayscale
compress_pdfShrink a PDF's byte size while keeping it a PDF, for email limits or slow connections. Returns the compressed PDF; over MCP it is never inlined, arriving as a stored URL that stays retrievable for about 24 hours. Ghostscript on razi.pro's w
decode_base64Decode a Base64 string back to UTF-8 text. Returns JSON { decoded }. Input is verified by re-encoding, so anything that is not genuine Base64 is rejected with an error instead of returning plausible garbage; binary payloads that are not val
Inputs: encoded
decode_jwtDecode a JWT's header and payload for inspection. Returns JSON { header, payload, signatureVerified, note, expiresAt, isExpired } — structured objects, not a rendered table. The signature is NEVER verified: that needs the issuer's key, whic
Inputs: token
decode_urlReverse percent-encoding with decodeURIComponent, turning %20-style escapes back into the characters they stand for. Returns JSON { decoded }. A malformed or truncated escape sequence is rejected with an error rather than passed through. No
Inputs: encoded
draft_emailWrite a business email body from a short brief. Returns JSON { email, cached } containing the body only — no subject line, no recipient, and nothing is sent anywhere. Choose this over generate_text when the output should be a whole email; u
Inputs: prompt, tone
encode_base64Encode UTF-8 text as standard Base64 (padded, A-Z a-z 0-9 + /), for embedding binary-unsafe content in JSON, data URIs, HTTP headers or Basic auth. Returns JSON { encoded }. The output uses the standard alphabet, so it is NOT URL-safe: '+'
Inputs: text
encode_urlPercent-encode a string with encodeURIComponent so reserved characters survive transport inside a URL. Returns JSON { encoded }. It escapes the structural characters too — : / ? # & = all become %XX — so it is for a single query-string valu
Inputs: url
extract_text_ocrUse this ONLY when the text exists as PIXELS and nothing else — a photo, a screenshot, a scan. It runs optical character recognition on an image and GUESSES the characters, so it is a best-effort transcription that misreads under blur, skew
Inputs: language
fetch_page_metadataRead a web page's metadata without downloading any images. Returns JSON { url, finalUrl, title, description, siteName, canonical, lang, themeColor, author, generator, feeds, openGraph, twitter, icons, cached }, where `feeds` is an array of
Inputs: url
fetch_site_logoGet 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 at most the first 10 candidates and measures their real dimensions — decl
Inputs: url, rehost
format_jsonValidate and re-print a JSON string. Returns JSON { valid, formatted, minified } — the indented form and the whitespace-free form as plain strings, with no syntax highlighting or colour. Invalid JSON is rejected with the parser's own error
Inputs: json, indent
generate_blog_outlineProduce a markdown heading structure for a blog post — title, introduction, numbered sections with subsections, conclusion and an FAQ block. Returns JSON { outline } holding the markdown. It writes the skeleton only, not the article: use ge
Inputs: topic, sections
generate_fake_dataProduce placeholder person records for testing and fixtures. Returns JSON { type, count, records } where records is an array of strings, or of objects when type is 'user'. The values are drawn from a fixed word list by index, so they are DE
Inputs: type, count
generate_imageGenerate 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
Inputs: prompt, negativePrompt
generate_qr_codeRender 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
Inputs: text, size, errorCorrection
generate_sqlTranslate a natural-language request into a SQL statement. Returns JSON { sql } containing the query text and nothing else — no validation report, no complexity score, and the query is never executed or checked against a real database. It h
Inputs: description, dialect
generate_textGenerate filler prose — lorem ipsum, random copy or sentences — for mockups and placeholder content. Returns JSON { text, provider, cached } with the blocks separated by newlines. A language model writes it, so it is a paid call and the out
Inputs: type, length, count
humanize_textRewrite text you already have so it reads less like model output — fewer stock phrases, more contractions, varied sentence rhythm. Returns JSON { humanizedText }. Meaning is meant to be preserved but wording is not: never use it on text tha
Inputs: text, level
images_to_pdfAssemble pictures into one PDF, a page per picture, in the order supplied. PNG and JPEG bytes are embedded untouched; WebP, GIF, TIFF and AVIF are re-encoded to PNG on the way in, which loses no detail but does rewrite the file. A PDF sitti
Inputs: pageSize, margin
merge_pdfConcatenate two or more PDFs into a single PDF, in the order supplied, and return the merged file. Over MCP the PDF is never inlined: it comes back as a stored URL that stays retrievable for about 24 hours. Page content is copied unchanged
parse_documentUse this when the file ALREADY stores its text as characters: it decodes them and returns JSON { text, metadata } verbatim, with no guessing involved. That exactness is the whole difference from extract_text_ocr, which recovers text from pi
screenshot_urlCapture 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 — not image bytes: { url, screenshotUrl (the same value under
Inputs: url, width, height, fullPage, format, darkMode
shorten_urlCreate a permanent razi.pro short link that redirects to a long URL. Returns JSON { code, shortUrl } and nothing else. Visits through the link are counted, but no tool here reads that count back, and the link cannot be edited, retargeted or
Inputs: url, customCode
split_imageCut 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
Inputs: rows, cols, format
split_pdfExtract page ranges from one PDF into new PDFs. One output file is produced per range: a single range returns that PDF directly, several ranges return a ZIP containing one PDF each. Over MCP you receive a link to the stored output rather th
Inputs: ranges

Add Razi Tools to your AI client

Every block below points at https://www.razi.pro/api/mcp. Pick your client and copy.

Claude Code: one command in your terminal
claude mcp add --transport http razi-tools https://www.razi.pro/api/mcp
Claude Desktop: claude_desktop_config.json
{
  "mcpServers": {
    "razi-tools": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://www.razi.pro/api/mcp"]
    }
  }
}
Cursor: ~/.cursor/mcp.json, or .cursor/mcp.json in a project
{
  "mcpServers": {
    "razi-tools": {
      "url": "https://www.razi.pro/api/mcp"
    }
  }
}
VS Code and GitHub Copilot: .vscode/mcp.json
{
  "servers": {
    "razi-tools": {
      "type": "http",
      "url": "https://www.razi.pro/api/mcp"
    }
  }
}
Zed: Zed settings.json
{
  "context_servers": {
    "razi-tools": {
      "url": "https://www.razi.pro/api/mcp"
    }
  }
}
Windsurf: ~/.codeium/mcp_config.json
{
  "mcpServers": {
    "razi-tools": {
      "serverUrl": "https://www.razi.pro/api/mcp"
    }
  }
}
JetBrains AI Assistant: Settings, Tools, AI Assistant, MCP, New MCP Server, as JSON
{
  "mcpServers": {
    "razi-tools": {
      "url": "https://www.razi.pro/api/mcp"
    }
  }
}
Continue: .continue/mcpServers/neuronto.yaml
name: Razi Tools
version: 0.0.1
schema: v1
mcpServers:
  - name: Razi Tools
    type: streamable-http
    url: https://www.razi.pro/api/mcp
Gemini CLI: ~/.gemini/settings.json
{
  "mcpServers": {
    "razi-tools": {
      "httpUrl": "https://www.razi.pro/api/mcp"
    }
  }
}
Codex CLI: MCP server config
{
  "mcpServers": {
    "razi-tools": {
      "type": "http",
      "url": "https://www.razi.pro/api/mcp"
    }
  }
}
Warp: MCP servers, + Add, paste JSON
{
  "mcpServers": {
    "razi-tools": {
      "url": "https://www.razi.pro/api/mcp"
    }
  }
}
Goose: a one-click extension link
goose://extension?url=https%3A%2F%2Fwww.razi.pro%2Fapi%2Fmcp&type=streamable_http&id=razi-tools&name=Razi%20Tools

Is Razi Tools up right now?

It answered our last check on 23 October 2026 in 278 ms. Over 6 checks since 11 September 2026 it answered 6. Status here comes from Neuronto's own probes, not from the publisher.

MCP servers similar to Razi Tools

Questions about Razi Tools

How many tools does Razi Tools have?

28, as returned by the server's own tools/list on 20 September 2026: calculate_percentage, compare_text, compress_image, compress_pdf, decode_base64, decode_jwt, decode_url, draft_email, and 20 more.

Is Razi Tools down?

It answered our last check on 23 October 2026 in 278 ms. Over 6 checks since 11 September 2026 it answered 6.

How do I add Razi Tools to Cursor?

Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://www.razi.pro/api/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.

Does Razi Tools need an API key?

It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.

Where this comes from

Publisher: io.github.razikallayi. Endpoint host: www.razi.pro. ARD identifier: urn:air:io.github.razikallayi:mcp:razi-tools. First indexed 10 September 2026. The tools are exactly what the server returned; nothing on this page is inferred from its name. Ranking in Neuronto search is never for sale.

Is this your server? Get a message the day it stops answering or its tools change: monitoring, 14 days free. Or claim the domain to manage how it is listed.