# io.github.helloderekg/bytario (npm · @bytario/mcp)

40 MCP tools for image, PDF, QR, barcode, data, text, color, and render operations.

- Trust score: 64/100 (medium)
- Change this week: +24
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `@bytario/mcp`: 64/100 (this document), [markdown](https://verifymcp.io/servers/helloderekg-bytario/bytario-mcp.md), [page](https://verifymcp.io/servers/helloderekg-bytario/bytario-mcp)

## Channel facts

- Registry: `npm`
- Package: `@bytario/mcp`
- Version: `1.0.1`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, 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-08-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 19/100
  - Repository check failed: no source repository is declared.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 114 days ago).
  - Security-disclosure policy not yet verified: we couldn't inspect the source repository.
- **Schema Quality & AI Usability**: 77/100
  - AI-judged instruction clarity (excellent).
  - Tool/resource definitions use about 2320 tokens (~58/item across 40 items; 40 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add helloderekg-bytario -- npx -y @bytario/mcp
```

### Codex

```bash
codex mcp add helloderekg-bytario -- npx -y @bytario/mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "helloderekg-bytario": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@bytario/mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add helloderekg-bytario --command npx --arg -y --arg @bytario/mcp
```

### Hermes

```yaml
mcp_servers:
  helloderekg-bytario:
    command: "npx"
    args: ["-y", "@bytario/mcp"]
```

### Other

```json
{
  "mcpServers": {
    "helloderekg-bytario": {
      "command": "npx",
      "args": [
        "-y",
        "@bytario/mcp"
      ]
    }
  }
}
```

## 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-08-02 (score 64, +28)

- [security regression] Provenance: unverified → fail
- [security improvement] Install scripts: unverified → pass
- [security improvement] Known CVEs: unverified → partial
- [security] Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.
- [functional regression] Capabilities: pass → unverified
- [functional improvement] Schema quality: unverified → excellent
- [functional improvement] License: unverified → pass
- [functional improvement] Stability: unverified → 0.23
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] Maintenance: unverified → pass
- [functional] Licence: MIT

### 2026-08-01 (score 36, +20)

- [security improvement] Malware scan: unverified → pass
- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional improvement] MCP protocol: unverified → pass

### 2026-07-31 (score 16, −24)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-27 (score 40)

First indexed and scored.

## MCP tools (40)

### `bytario_image_convert` (~71 tokens)

Convert an image between JPEG, PNG, WebP, and AVIF formats. Requires base64-encoded image input.

Input parameters:

- `image_base64` (string, required): Base64-encoded image file
- `quality` (number): Output quality (1-100)
- `to` (string, required): Target format

### `bytario_image_resize` (~91 tokens)

Resize an image with optional fit mode. At least one of width or height required.

Input parameters:

- `fit` (string): Fit mode
- `format` (string): Output format
- `height` (number): Target height in pixels
- `image_base64` (string, required): Base64-encoded image file
- `quality` (number): Output quality
- `width` (number): Target width in pixels

### `bytario_image_compress` (~56 tokens)

Recompress an image at target quality.

Input parameters:

- `format` (string): Output format
- `image_base64` (string, required): Base64-encoded image file
- `quality` (number, required): Target quality (1-100)

### `bytario_image_strip_metadata` (~48 tokens)

Remove EXIF, IPTC, XMP, and GPS metadata from an image without re-encoding pixels.

Input parameters:

- `image_base64` (string, required): Base64-encoded image file

### `bytario_image_read_metadata` (~42 tokens)

Extract EXIF, GPS, and camera info from an image as structured JSON.

Input parameters:

- `image_base64` (string, required): Base64-encoded image file

### `bytario_image_favicon_set` (~56 tokens)

Generate a full favicon bundle (ICO + PNG sizes + manifest.json) from a source image.

Input parameters:

- `image_base64` (string, required): Base64-encoded source image (ideally square, >= 512x512)

### `bytario_image_crop` (~105 tokens)

Crop an image to a rectangle defined by x, y, width, height.

Input parameters:

- `format` (string): Output format
- `height` (number, required): Height of crop rectangle
- `image_base64` (string, required): Base64-encoded image file
- `quality` (number): Output quality
- `width` (number, required): Width of crop rectangle
- `x` (number, required): Left edge of crop rectangle
- `y` (number, required): Top edge of crop rectangle

### `bytario_image_rotate` (~49 tokens)

Rotate an image by 90, 180, or 270 degrees.

Input parameters:

- `degrees` (string, required): Rotation angle
- `image_base64` (string, required): Base64-encoded image file

### `bytario_image_flip` (~41 tokens)

Flip an image horizontally or vertically.

Input parameters:

- `direction` (string, required): Flip direction
- `image_base64` (string, required): Base64-encoded image file

### `bytario_pdf_merge` (~44 tokens)

Merge multiple PDFs into one. Provide an array of base64-encoded PDF files.

Input parameters:

- `files` (array, required): Array of base64-encoded PDF files to merge

### `bytario_pdf_split` (~61 tokens)

Extract one or more page ranges from a PDF into separate PDFs.

Input parameters:

- `pdf_base64` (string, required): Base64-encoded PDF file
- `ranges` (string, required): Page ranges to extract (e.g. "1-3,7-9")

### `bytario_pdf_rotate` (~76 tokens)

Rotate specified pages of a PDF by 90, 180, or 270 degrees.

Input parameters:

- `degrees` (string, required): Rotation angle
- `pages` (string): Pages to rotate (e.g. "1,3,5" or "all")
- `pdf_base64` (string, required): Base64-encoded PDF file

### `bytario_pdf_watermark` (~105 tokens)

Stamp a text watermark on one or more pages of a PDF.

Input parameters:

- `fontSize` (number): Font size
- `opacity` (number): Opacity (0-1)
- `pages` (string): Pages to watermark (e.g. "1,3" or "all")
- `pdf_base64` (string, required): Base64-encoded PDF file
- `rotation` (number): Rotation angle in degrees
- `text` (string, required): Watermark text

### `bytario_pdf_info` (~42 tokens)

Get page count, page sizes, document metadata, and encryption status of a PDF.

Input parameters:

- `pdf_base64` (string, required): Base64-encoded PDF file

### `bytario_pdf_extract_text` (~65 tokens)

Extract text from a PDF using vector text extraction (no OCR).

Input parameters:

- `pages` (string): Pages to extract (e.g. "1-3" or "1,3,5")
- `pdf_base64` (string, required): Base64-encoded PDF file

### `bytario_pdf_render_page` (~83 tokens)

Rasterize one or more PDF pages to PNG, JPEG, or WebP images.

Input parameters:

- `dpi` (number): Resolution (72-300)
- `format` (string): Output image format
- `pages` (string): Pages to render (e.g. "1,3")
- `pdf_base64` (string, required): Base64-encoded PDF file

### `bytario_pdf_fill_form` (~63 tokens)

Fill AcroForm fields in a PDF, optionally flatten afterwards.

Input parameters:

- `fields` (object, required): Object mapping field names to values
- `flatten` (boolean): Flatten form after filling
- `pdf_base64` (string, required): Base64-encoded PDF file

### `bytario_pdf_flatten` (~39 tokens)

Flatten PDF form fields — bake values in, remove editability.

Input parameters:

- `pdf_base64` (string, required): Base64-encoded PDF file

### `bytario_pdf_compress` (~63 tokens)

Compress a PDF. Returns JSON with the compressed bytes (base64), original size, compressed size, and savings percentage.

Input parameters:

- `pdf_base64` (string, required): Base64-encoded PDF file
- `stripMetadata` (boolean): Strip document metadata during compression

### `bytario_pdf_protect` (~61 tokens)

Add password protection to a PDF.

Input parameters:

- `ownerPassword` (string): Password required to edit/print
- `pdf_base64` (string, required): Base64-encoded PDF file
- `userPassword` (string): Password required to open the PDF

### `bytario_qr_generate` (~113 tokens)

Generate a QR code as PNG or SVG from text or a URL.

Input parameters:

- `background` (string): Background color (e.g. "#ffffff")
- `errorCorrection` (string): Error correction level
- `foreground` (string): Foreground color (e.g. "#000000")
- `format` (string): Output format (default: png)
- `margin` (number): Quiet zone margin
- `size` (number): Size in pixels
- `text` (string, required): Text or URL to encode

### `bytario_qr_read` (~42 tokens)

Decode a QR code from an image. Returns the decoded text.

Input parameters:

- `image_base64` (string, required): Base64-encoded image containing a QR code

### `bytario_barcode_generate` (~137 tokens)

Generate a 1D or 2D barcode as SVG. Supports EAN-13, EAN-8, UPC-A, UPC-E, Code 128, Code 39, ITF-14, ITF, DataMatrix, PDF417, Aztec.

Input parameters:

- `background` (string): Background color
- `foreground` (string): Foreground color
- `format` (string, required): Barcode format
- `height` (number): Bar height
- `includeText` (boolean): Include human-readable text
- `scale` (number): Scale factor
- `text` (string, required): Data to encode in the barcode

### `bytario_barcode_read` (~49 tokens)

Decode 1D and 2D barcodes from an image. Returns an array of detected codes.

Input parameters:

- `image_base64` (string, required): Base64-encoded image containing barcodes

### `bytario_render_svg_to_png` (~68 tokens)

Render an SVG to a PNG image via resvg-wasm.

Input parameters:

- `height` (number): Target height in pixels
- `scale` (number): Scale factor
- `svg` (string, required): SVG markup as a string
- `width` (number): Target width in pixels

### `bytario_data_base64_encode` (~61 tokens)

Encode raw bytes to Base64. Send the data as a base64 string (will be decoded and re-encoded by the API — useful for verifying encoding).

Input parameters:

- `data_base64` (string, required): Base64-encoded raw bytes to encode

### `bytario_data_base64_decode` (~36 tokens)

Decode a Base64 string back to raw bytes.

Input parameters:

- `base64_string` (string, required): Base64 string to decode

### `bytario_data_url_encode` (~36 tokens)

Percent-encode a UTF-8 string for use in URLs.

Input parameters:

- `text` (string, required): String to percent-encode

### `bytario_data_url_decode` (~31 tokens)

Decode a percent-encoded string.

Input parameters:

- `text` (string, required): Percent-encoded string to decode

### `bytario_data_json_format` (~30 tokens)

Pretty-print a JSON string with indentation.

Input parameters:

- `json` (string, required): JSON string to format

### `bytario_data_json_minify` (~34 tokens)

Minify a JSON string by removing all whitespace.

Input parameters:

- `json` (string, required): JSON string to minify

### `bytario_data_csv_to_json` (~37 tokens)

Convert CSV text to a JSON array of objects.

Input parameters:

- `csv` (string, required): CSV text with headers in the first row

### `bytario_data_json_to_csv` (~35 tokens)

Convert a JSON array of objects to CSV text.

Input parameters:

- `json` (string, required): JSON array of objects to convert

### `bytario_file_hash` (~68 tokens)

Compute a cryptographic hash of a file. Supports MD5, SHA-1, SHA-256, SHA-384, SHA-512.

Input parameters:

- `algorithm` (string): Hash algorithm (default: sha256)
- `data_base64` (string, required): Base64-encoded file data

### `bytario_file_detect` (~45 tokens)

Detect the file type of binary data using magic bytes. Returns MIME type, extension, and description.

Input parameters:

- `data_base64` (string, required): Base64-encoded file data

### `bytario_text_word_count` (~38 tokens)

Count words, characters, sentences, paragraphs, and estimate reading time for a text.

Input parameters:

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

### `bytario_text_diff` (~76 tokens)

Compare two texts and return a diff with change hunks.

Input parameters:

- `a` (string, required): First text
- `b` (string, required): Second text
- `context` (number): Lines of context around changes
- `labelA` (string): Label for first text
- `labelB` (string): Label for second text

### `bytario_text_markdown_to_html` (~30 tokens)

Convert Markdown text to HTML.

Input parameters:

- `markdown` (string, required): Markdown text to convert

### `bytario_color_convert` (~66 tokens)

Convert a color between hex, RGB, HSL, HSV, and CMYK formats.

Input parameters:

- `color` (string, required): Color to convert (e.g. "#ff6600", "rgb(255,102,0)", "hsl(24,100%,50%)")

### `bytario_usage` (~27 tokens)

Check your current Bytario API plan, quota, and usage for this billing period.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/helloderekg-bytario/bytario-mcp#diagnostics

## Score history

- 2026-08-03: 64
- 2026-08-02: 64
- 2026-08-01: 36
- 2026-07-31: 16
- 2026-07-30: 40
- 2026-07-28: 40
- 2026-07-27: 40

## Links

- npm package: https://www.npmjs.com/package/@bytario/mcp
- Socket report: https://socket.dev/npm/package/@bytario/mcp
- Changelog RSS feed: https://verifymcp.io/servers/helloderekg-bytario/bytario-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/helloderekg-bytario/bytario-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/helloderekg-bytario/bytario-mcp
