Skip to main content
Glama
gasio-ai

Gasio MCP Server

Official
by gasio-ai
README.md
# @gasio/mcp-server

## ๐Ÿš€ 100% ๋กœ์ปฌ ์˜คํ”„๋ผ์ธ AI ๋ฏธ๋””์–ด ์ฒ˜๋ฆฌ MCP ์„œ๋ฒ„ (Model Context Protocol Server)
**100% Private, Offline Local AI Image & Video Processing MCP Server for Claude, Cursor, and Gemini.**

[![npm version](https://badge.fury.io/js/%40gasio%2Fmcp-server.svg)](https://www.npmjs.com/package/@gasio/mcp-server)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Node.js Version](https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen)](https://nodejs.org)

[Gasio Tools](https://tools.gasio.com) ์ƒํƒœ๊ณ„์˜ 14์ข… ์ด๋ฏธ์ง€/๋ฏธ๋””์–ด ์ฒ˜๋ฆฌ ๊ธฐ๋Šฅ์„ **Claude Desktop**, **Cursor**, **Gemini** ๋“ฑ MCP๋ฅผ ์ง€์›ํ•˜๋Š” ๋ชจ๋“  AI ์—์ด์ „ํŠธ ๋ฐ IDE์—์„œ 100% ๋กœ์ปฌ ์˜คํ”„๋ผ์ธ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” [Model Context Protocol](https://modelcontextprotocol.io) ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค.

> ๐Ÿ”’ **100% Private & Secure**: ํŒŒ์ผ์ด ์™ธ๋ถ€ ์„œ๋ฒ„์— ์ ˆ๋Œ€ ์—…๋กœ๋“œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  AI ์—ฐ์‚ฐ(๋ฐฐ๊ฒฝ ์ œ๊ฑฐ, ํ™”์งˆ ๊ฐœ์„ , OCR ๋“ฑ)์€ ์‚ฌ์šฉ์ž์˜ ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด ๋‚ด๋ถ€์—์„œ๋งŒ ์•ˆ์ „ํ•˜๊ฒŒ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค. (Zero data upload, Zero egress).

---

## ๐Ÿ“Œ ๋ชฉ์ฐจ (Table of Contents)
- [๐Ÿ› ๏ธ ์ œ๊ณต ๋„๊ตฌ (14์ข…)](#๏ธ-์ œ๊ณต-๋„๊ตฌ-14์ข…)
- [๐Ÿ“ฆ ์„ค์น˜ ๋ฐ ์…‹์—…](#-์„ค์น˜-๋ฐ-์…‹์—…)
- [โš™๏ธ Claude Desktop ์—ฐ๋™ ์„ค์ •](#๏ธ-claude-desktop-์—ฐ๋™-์„ค์ •)
- [๐Ÿ“‹ ๋„๊ตฌ๋ณ„ ์‚ฌ์šฉ ์˜ˆ์‹œ](#-๋„๊ตฌ๋ณ„-์‚ฌ์šฉ-์˜ˆ์‹œ)
- [๐Ÿ”ง ๋„๊ตฌ๋ณ„ ์ƒ์„ธ ํŒŒ๋ผ๋ฏธํ„ฐ](#-๋„๊ตฌ๋ณ„-์ƒ์„ธ-ํŒŒ๋ผ๋ฏธํ„ฐ)
- [๐Ÿ”’ ๋ณด์•ˆ ์ •์ฑ…](#-๋ณด์•ˆ-์ •์ฑ…)
- [๐ŸŒ ๊ด€๋ จ ์„œ๋น„์Šค](#-๊ด€๋ จ-์„œ๋น„์Šค)

---

## ๐Ÿ› ๏ธ ์ œ๊ณต ๋„๊ตฌ (14์ข…)

### ๐ŸŽจ ์ด๋ฏธ์ง€ AI ์ฒ˜๋ฆฌ (Season 2)
| ๋„๊ตฌ ์ด๋ฆ„ | ์„ค๋ช… |
| :--- | :--- |
| `gasio_remove_background` | ์ธ๋ฌผ/๊ฐœ์ฒด ๋ฐฐ๊ฒฝ์„ AI๋กœ ์ œ๊ฑฐ โ†’ ํˆฌ๋ช… PNG ์ €์žฅ |
| `gasio_object_eraser` | ๋งˆ์Šคํฌ ์ด๋ฏธ์ง€ ๊ธฐ๋ฐ˜์œผ๋กœ ํŠน์ • ๊ฐœ์ฒด๋ฅผ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ง€์šฐ๊ธฐ (OpenCV Inpainting) |
| `gasio_image_upscaler` | ์ €ํ™”์งˆ ์ด๋ฏธ์ง€๋ฅผ RealESRGAN AI ๋ชจ๋ธ๋กœ 2~4๋ฐฐ ๊ณ ํ™”์งˆ ์—…์Šค์ผ€์ผ |
| `gasio_image_resizer` | ์ด๋ฏธ์ง€ ํฌ๊ธฐ ์กฐ์ • (resize / cover / contain ๋ชจ๋“œ, ๋น„์œจ ์ž๋™ ์œ ์ง€) |
| `gasio_image_converter` | PNG โ†” JPEG โ†” WEBP โ†” BMP โ†” GIF ํฌ๋งท ๋ณ€ํ™˜ |
| `gasio_favicon_generator` | ๊ณ ํ•ด์ƒ๋„ ์ด๋ฏธ์ง€๋กœ ์›น ํ‘œ์ค€ ํŒŒ๋น„์ฝ˜ ์„ธํŠธ (ICO, PNG, WebManifest, ZIP) ์ƒ์„ฑ |
| `gasio_exif_cleaner` | JPEG EXIF/GPS ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์‚ญ์ œ ๋ฐ SEO์šฉ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ฃผ์ž… |

### ๐ŸŽฌ ๋ฏธ๋””์–ด ๋ณ€ํ™˜ & ํŽธ์ง‘ (Season 1)
| ๋„๊ตฌ ์ด๋ฆ„ | ์„ค๋ช… |
| :--- | :--- |
| `gasio_png_to_svg` | PNG/JPG ๋น„ํŠธ๋งต ์ด๋ฏธ์ง€๋ฅผ SVG ๋ฒกํ„ฐ ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ |
| `gasio_video_to_gif` | MP4/MOV ๋™์˜์ƒ์—์„œ ์ง€์ • ๊ตฌ๊ฐ„์„ GIF ์• ๋‹ˆ๋ฉ”์ด์…˜์œผ๋กœ ๋ณ€ํ™˜ |
| `gasio_audio_cut` | MP3/WAV/M4A ์˜ค๋””์˜ค ๊ตฌ๊ฐ„ ํŽธ์ง‘ + ํŽ˜์ด๋“œ์ธ/ํŽ˜์ด๋“œ์•„์›ƒ |
| `gasio_screenshot_mockup` | ์Šคํฌ๋ฆฐ์ƒท์„ iPhone/MacBook/Browser ๋ชฉ์—… ํ”„๋ ˆ์ž„์— ํ•ฉ์„ฑ |
| `gasio_image_to_text_ocr` | ์ด๋ฏธ์ง€์—์„œ ํ…์ŠคํŠธ ์ถ”์ถœ (ํ•œ๊ตญ์–ด/์˜์–ด OCR) |
| `gasio_qrcode_generator` | ํ…์ŠคํŠธ/URL๋กœ QR ์ฝ”๋“œ PNG ์ƒ์„ฑ (์ค‘์•™ ๋กœ๊ณ  ํ•ฉ์„ฑ ์ง€์›) |
| `gasio_css_generator` | Glassmorphism / Mesh Gradient CSS ์ฝ”๋“œ ์ฆ‰์‹œ ์ƒ์„ฑ |

---

## ๐Ÿ“ฆ ์„ค์น˜ ๋ฐ ์…‹์—…

### 1๋‹จ๊ณ„: ๊ธ€๋กœ๋ฒŒ ์„ค์น˜

```bash
npm install -g @gasio/mcp-server
```

๋˜๋Š” npx๋กœ ๋ฐ”๋กœ ์‹คํ–‰:

```bash
npx @gasio/mcp-server
```

### 2๋‹จ๊ณ„: AI ๋ชจ๋ธ ์ž๋™ ๋‹ค์šด๋กœ๋“œ (์ตœ์ดˆ 1ํšŒ)

OCR, ๋ฐฐ๊ฒฝ ์ œ๊ฑฐ, ํ™”์งˆ ๊ฐœ์„  ๋„๊ตฌ๋Š” AI ๋ชจ๋ธ ํŒŒ์ผ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

```bash
npx gasio-mcp-setup
```

> ์ด ๋ช…๋ น์€ ๋‹ค์Œ ๋ฆฌ์†Œ์Šค๋ฅผ `~/.gasio/` ๋””๋ ‰ํ† ๋ฆฌ์— ์ž๋™์œผ๋กœ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค:
> - `~/.gasio/tesseract/eng.traineddata` โ€” Tesseract ์˜์–ด ๋ชจ๋ธ
> - `~/.gasio/tesseract/kor.traineddata` โ€” Tesseract ํ•œ๊ตญ์–ด ๋ชจ๋ธ
> - `~/.gasio/models/realesrgan-x4.onnx` โ€” RealESRGAN ์—…์Šค์ผ€์ผ ๋ชจ๋ธ (~67MB)
> - `~/.gasio/models/super-resolution.onnx` โ€” Super Resolution ๋ชจ๋ธ

---

## โš™๏ธ Claude Desktop ์—ฐ๋™ ์„ค์ •

`claude_desktop_config.json` ํŒŒ์ผ์— ๋‹ค์Œ์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”:

**macOS ๊ฒฝ๋กœ:** `~/Library/Application Support/Claude/claude_desktop_config.json`  
**Windows ๊ฒฝ๋กœ:** `%APPDATA%\Claude\claude_desktop_config.json`

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

๊ธ€๋กœ๋ฒŒ ์„ค์น˜ ํ›„ ์ง์ ‘ node ์‹คํ–‰์„ ์›ํ•˜๋Š” ๊ฒฝ์šฐ:

```json
{
  "mcpServers": {
    "gasio": {
      "command": "node",
      "args": ["/์ ˆ๋Œ€๊ฒฝ๋กœ/node_modules/@gasio/mcp-server/dist/src/index.js"]
    }
  }
}
```

---

## ๐Ÿ“‹ ๋„๊ตฌ๋ณ„ ์‚ฌ์šฉ ์˜ˆ์‹œ

### ๋ฐฐ๊ฒฝ ์ œ๊ฑฐ
```
์ด๋ฏธ์ง€ /Users/me/photo.jpg ์—์„œ ๋ฐฐ๊ฒฝ์„ ์ œ๊ฑฐํ•ด์„œ /Users/me/output/photo-bg-removed.png ๋กœ ์ €์žฅํ•ด์ค˜
```
โ†’ Claude๊ฐ€ `gasio_remove_background` ๋„๊ตฌ๋ฅผ ์ž๋™ ํ˜ธ์ถœ

### OCR ํ…์ŠคํŠธ ์ถ”์ถœ
```
/Users/me/screenshot.png ์ด๋ฏธ์ง€์—์„œ ํ•œ๊ตญ์–ด ํ…์ŠคํŠธ๋ฅผ ์ถ”์ถœํ•ด์ค˜
```
โ†’ Claude๊ฐ€ `gasio_image_to_text_ocr` ๋„๊ตฌ๋ฅผ `lang: "kor"` ์˜ต์…˜์œผ๋กœ ํ˜ธ์ถœ

### QR ์ฝ”๋“œ ์ƒ์„ฑ
```
https://tools.gasio.com URL๋กœ QR ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค์–ด์„œ /Users/me/qr.png ์— ์ €์žฅํ•ด์ค˜
```
โ†’ Claude๊ฐ€ `gasio_qrcode_generator` ๋„๊ตฌ๋ฅผ ์ž๋™ ํ˜ธ์ถœ

### ํŒŒ๋น„์ฝ˜ ์„ธํŠธ ์ƒ์„ฑ
```
/Users/me/logo.png ๋กœ ํŒŒ๋น„์ฝ˜ ์„ธํŠธ๋ฅผ /Users/me/favicon-output/ ์— ๋งŒ๋“ค์–ด์ค˜
```
โ†’ Claude๊ฐ€ `gasio_favicon_generator` ๋„๊ตฌ๋กœ `favicon.ico`, `apple-touch-icon.png`, `site.webmanifest` ๋“ฑ์„ ์ผ๊ด„ ์ƒ์„ฑ

---

## ๐Ÿ”ง ๋„๊ตฌ๋ณ„ ์ƒ์„ธ ํŒŒ๋ผ๋ฏธํ„ฐ

<details>
<summary><b>gasio_remove_background</b> - ๋ฐฐ๊ฒฝ ์ œ๊ฑฐ</summary>

| ํŒŒ๋ผ๋ฏธํ„ฐ | ํƒ€์ž… | ํ•„์ˆ˜ | ๊ธฐ๋ณธ๊ฐ’ | ์„ค๋ช… |
| :--- | :--- | :---: | :--- | :--- |
| `input_path` | string | โœ… | - | ์›๋ณธ ์ด๋ฏธ์ง€์˜ ๋กœ์ปฌ ์ ˆ๋Œ€ ๊ฒฝ๋กœ |
| `output_path` | string | โœ… | - | ์ €์žฅํ•  ํˆฌ๋ช… PNG ๊ฒฝ๋กœ |
| `model_preset` | `"small"` \| `"medium"` \| `"large"` | โŒ | `"medium"` | AI ๋ชจ๋ธ ํฌ๊ธฐ |

</details>

<details>
<summary><b>gasio_object_eraser</b> - ๊ฐœ์ฒด ์ง€์šฐ๊ธฐ</summary>

| ํŒŒ๋ผ๋ฏธํ„ฐ | ํƒ€์ž… | ํ•„์ˆ˜ | ๊ธฐ๋ณธ๊ฐ’ | ์„ค๋ช… |
| :--- | :--- | :---: | :--- | :--- |
| `input_path` | string | โœ… | - | ์›๋ณธ ์ด๋ฏธ์ง€ ๊ฒฝ๋กœ |
| `mask_path` | string | โœ… | - | ์ง€์šธ ์˜์—ญ์ด ํ‘œ์‹œ๋œ ๋งˆ์Šคํฌ ์ด๋ฏธ์ง€ ๊ฒฝ๋กœ |
| `output_path` | string | โœ… | - | ๊ฒฐ๊ณผ ์ €์žฅ ๊ฒฝ๋กœ |
| `radius` | number (1~50) | โŒ | 3 | ์ธํŽ˜์ธํŒ… ํ™•์‚ฐ ๋ฐ˜๊ฒฝ |
| `method` | `"telea"` \| `"ns"` | โŒ | `"telea"` | ์ธํŽ˜์ธํŒ… ์•Œ๊ณ ๋ฆฌ์ฆ˜ |

</details>

<details>
<summary><b>gasio_image_upscaler</b> - ํ™”์งˆ ๊ฐœ์„ </summary>

| ํŒŒ๋ผ๋ฏธํ„ฐ | ํƒ€์ž… | ํ•„์ˆ˜ | ๊ธฐ๋ณธ๊ฐ’ | ์„ค๋ช… |
| :--- | :--- | :---: | :--- | :--- |
| `input_path` | string | โœ… | - | ์›๋ณธ ์ด๋ฏธ์ง€ ๊ฒฝ๋กœ |
| `output_path` | string | โœ… | - | ๊ฒฐ๊ณผ ์ €์žฅ ๊ฒฝ๋กœ |
| `scale` | `2` \| `4` | โŒ | `4` | ์—…์Šค์ผ€์ผ ๋ฐฐ์œจ |
| `model_type` | `"realesrgan"` \| `"super-resolution"` | โŒ | `"realesrgan"` | AI ๋ชจ๋ธ ์œ ํ˜• |

> ONNX ๋ชจ๋ธ์ด ์—†๊ฑฐ๋‚˜ ๋กœ๋“œ ์‹คํŒจ ์‹œ Jimp BICUBIC ๋ณด๊ฐ„์œผ๋กœ ์ž๋™ Fallbackํ•ฉ๋‹ˆ๋‹ค.

</details>

<details>
<summary><b>gasio_image_resizer</b> - ์ด๋ฏธ์ง€ ๋ฆฌ์‚ฌ์ด์ฆˆ</summary>

| ํŒŒ๋ผ๋ฏธํ„ฐ | ํƒ€์ž… | ํ•„์ˆ˜ | ๊ธฐ๋ณธ๊ฐ’ | ์„ค๋ช… |
| :--- | :--- | :---: | :--- | :--- |
| `input_path` | string | โœ… | - | ์›๋ณธ ์ด๋ฏธ์ง€ ๊ฒฝ๋กœ |
| `output_path` | string | โœ… | - | ๊ฒฐ๊ณผ ์ €์žฅ ๊ฒฝ๋กœ |
| `width` | number | โŒ | - | ๊ฐ€๋กœ ํ”ฝ์…€ (์ƒ๋žต ์‹œ ๋†’์ด ๋น„๋ก€ ์ž๋™) |
| `height` | number | โŒ | - | ์„ธ๋กœ ํ”ฝ์…€ (์ƒ๋žต ์‹œ ๋„ˆ๋น„ ๋น„๋ก€ ์ž๋™) |
| `mode` | `"resize"` \| `"cover"` \| `"contain"` | โŒ | `"resize"` | ์Šค์ผ€์ผ๋ง ๋ชจ๋“œ |

</details>

<details>
<summary><b>gasio_image_converter</b> - ํฌ๋งท ๋ณ€ํ™˜</summary>

| ํŒŒ๋ผ๋ฏธํ„ฐ | ํƒ€์ž… | ํ•„์ˆ˜ | ๊ธฐ๋ณธ๊ฐ’ | ์„ค๋ช… |
| :--- | :--- | :---: | :--- | :--- |
| `input_path` | string | โœ… | - | ์›๋ณธ ์ด๋ฏธ์ง€ ๊ฒฝ๋กœ |
| `output_path` | string | โœ… | - | ๊ฒฐ๊ณผ ์ €์žฅ ๊ฒฝ๋กœ (ํ™•์žฅ์ž๋กœ ํฌ๋งท ๊ฒฐ์ •) |
| `quality` | number (1~100) | โŒ | `80` | ์ €์žฅ ํ’ˆ์งˆ (JPEG/WEBP ์ „์šฉ) |

์ง€์› ํฌ๋งท: `.png`, `.jpg`, `.jpeg`, `.webp`, `.gif`, `.bmp`

</details>

<details>
<summary><b>gasio_favicon_generator</b> - ํŒŒ๋น„์ฝ˜ ์ƒ์„ฑ</summary>

| ํŒŒ๋ผ๋ฏธํ„ฐ | ํƒ€์ž… | ํ•„์ˆ˜ | ๊ธฐ๋ณธ๊ฐ’ | ์„ค๋ช… |
| :--- | :--- | :---: | :--- | :--- |
| `input_path` | string | โœ… | - | ์›๋ณธ ๊ณ ํ•ด์ƒ๋„ ์ด๋ฏธ์ง€ ๊ฒฝ๋กœ |
| `output_dir` | string | โœ… | - | ํŒŒ๋น„์ฝ˜ ํŒŒ์ผ๋“ค์„ ์ €์žฅํ•  ๋””๋ ‰ํ† ๋ฆฌ |
| `zip_output_path` | string | โŒ | - | ZIP ํŒจํ‚ค์ง€๋กœ ์ €์žฅํ•  ๊ฒฝ๋กœ (์„ ํƒ) |
| `app_name` | string | โŒ | `"App"` | webmanifest์˜ ์•ฑ ์ด๋ฆ„ |

์ƒ์„ฑ ํŒŒ์ผ: `favicon.ico`, `favicon-16x16.png`, `favicon-32x32.png`, `favicon-48x48.png`, `apple-touch-icon.png`, `android-chrome-192x192.png`, `android-chrome-512x512.png`, `site.webmanifest`

</details>

<details>
<summary><b>gasio_exif_cleaner</b> - EXIF ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ œ๊ฑฐ</summary>

| ํŒŒ๋ผ๋ฏธํ„ฐ | ํƒ€์ž… | ํ•„์ˆ˜ | ๊ธฐ๋ณธ๊ฐ’ | ์„ค๋ช… |
| :--- | :--- | :---: | :--- | :--- |
| `input_path` | string | โœ… | - | ์›๋ณธ ์ด๋ฏธ์ง€ ๊ฒฝ๋กœ |
| `output_path` | string | โœ… | - | ๊ฒฐ๊ณผ ์ €์žฅ ๊ฒฝ๋กœ |
| `remove_all` | boolean | โŒ | `true` | ๋ชจ๋“  EXIF/GPS ๋ฐ์ดํ„ฐ ์‚ญ์ œ ์—ฌ๋ถ€ |
| `seo_metadata.description` | string | โŒ | - | ์ด๋ฏธ์ง€ ์„ค๋ช… (JPEG ์ „์šฉ) |
| `seo_metadata.artist` | string | โŒ | - | ์ž‘๊ฐ€ ์ •๋ณด (JPEG ์ „์šฉ) |
| `seo_metadata.copyright` | string | โŒ | - | ์ €์ž‘๊ถŒ ์ •๋ณด (JPEG ์ „์šฉ) |

</details>

<details>
<summary><b>gasio_png_to_svg</b> - SVG ๋ณ€ํ™˜</summary>

| ํŒŒ๋ผ๋ฏธํ„ฐ | ํƒ€์ž… | ํ•„์ˆ˜ | ๊ธฐ๋ณธ๊ฐ’ | ์„ค๋ช… |
| :--- | :--- | :---: | :--- | :--- |
| `input_path` | string | โœ… | - | ์›๋ณธ PNG/JPG ๊ฒฝ๋กœ |
| `output_path` | string | โœ… | - | ์ €์žฅํ•  SVG ๊ฒฝ๋กœ |
| `color_mode` | `"monochrome"` \| `"color"` | โŒ | `"monochrome"` | ์ƒ‰์ƒ ๋ชจ๋“œ |
| `threshold` | number (0~255) | โŒ | `128` | ์ด์ง„ํ™” ์ž„๊ณ„๊ฐ’ |

</details>

<details>
<summary><b>gasio_video_to_gif</b> - GIF ๋ณ€ํ™˜</summary>

| ํŒŒ๋ผ๋ฏธํ„ฐ | ํƒ€์ž… | ํ•„์ˆ˜ | ๊ธฐ๋ณธ๊ฐ’ | ์„ค๋ช… |
| :--- | :--- | :---: | :--- | :--- |
| `input_path` | string | โœ… | - | ๋™์˜์ƒ ๊ฒฝ๋กœ (MP4/MOV) |
| `output_path` | string | โœ… | - | ์ €์žฅํ•  GIF ๊ฒฝ๋กœ |
| `start_time` | number | โœ… | - | ์‹œ์ž‘ ์ง€์  (์ดˆ) |
| `duration` | number | โœ… | - | ๊ธธ์ด (์ดˆ) |
| `fps` | number (1~30) | โŒ | `10` | ํ”„๋ ˆ์ž„ ๋ ˆ์ดํŠธ |
| `width` | number (100~1920) | โŒ | `480` | ๊ฐ€๋กœ ํ”ฝ์…€ |

</details>

<details>
<summary><b>gasio_audio_cut</b> - ์˜ค๋””์˜ค ํŽธ์ง‘</summary>

| ํŒŒ๋ผ๋ฏธํ„ฐ | ํƒ€์ž… | ํ•„์ˆ˜ | ๊ธฐ๋ณธ๊ฐ’ | ์„ค๋ช… |
| :--- | :--- | :---: | :--- | :--- |
| `input_path` | string | โœ… | - | ์˜ค๋””์˜ค ๊ฒฝ๋กœ (MP3/WAV/M4A) |
| `output_path` | string | โœ… | - | ์ €์žฅํ•  ๊ฒฝ๋กœ |
| `start_ms` | number | โœ… | - | ์‹œ์ž‘ ์ง€์  (๋ฐ€๋ฆฌ์ดˆ) |
| `end_ms` | number | โœ… | - | ์ข…๋ฃŒ ์ง€์  (๋ฐ€๋ฆฌ์ดˆ) |
| `fade_in` | boolean | โŒ | `false` | ํŽ˜์ด๋“œ์ธ ํšจ๊ณผ |
| `fade_out` | boolean | โŒ | `false` | ํŽ˜์ด๋“œ์•„์›ƒ ํšจ๊ณผ |

</details>

<details>
<summary><b>gasio_screenshot_mockup</b> - ์Šคํฌ๋ฆฐ์ƒท ๋ชฉ์—…</summary>

| ํŒŒ๋ผ๋ฏธํ„ฐ | ํƒ€์ž… | ํ•„์ˆ˜ | ๊ธฐ๋ณธ๊ฐ’ | ์„ค๋ช… |
| :--- | :--- | :---: | :--- | :--- |
| `input_path` | string | โœ… | - | ์Šคํฌ๋ฆฐ์ƒท ๊ฒฝ๋กœ |
| `output_path` | string | โœ… | - | ์ €์žฅํ•  ๊ฒฝ๋กœ |
| `device_type` | `"iphone"` \| `"macbook"` \| `"browser"` \| `"none"` | โœ… | - | ๋””๋ฐ”์ด์Šค ํ”„๋ ˆ์ž„ |
| `bg_type` | `"gradient"` \| `"solid"` \| `"transparent"` | โŒ | `"gradient"` | ๋ฐฐ๊ฒฝ ์œ ํ˜• |
| `bg_color` | string | โŒ | `"purple-blue"` | ๋ฐฐ๊ฒฝ ์ƒ‰์ƒ ๋˜๋Š” ํ”„๋ฆฌ์…‹ (`purple-blue`, `pink-orange`, `green-teal`) |
| `padding` | number (0~200) | โŒ | `40` | ์—ฌ๋ฐฑ ํ”ฝ์…€ |

</details>

<details>
<summary><b>gasio_image_to_text_ocr</b> - OCR ํ…์ŠคํŠธ ์ถ”์ถœ</summary>

| ํŒŒ๋ผ๋ฏธํ„ฐ | ํƒ€์ž… | ํ•„์ˆ˜ | ๊ธฐ๋ณธ๊ฐ’ | ์„ค๋ช… |
| :--- | :--- | :---: | :--- | :--- |
| `input_path` | string | โœ… | - | ์ด๋ฏธ์ง€ ๊ฒฝ๋กœ |
| `lang` | `"eng"` \| `"kor"` \| `"kor+eng"` | โŒ | `"eng"` | OCR ์–ธ์–ด |

> `npm run setup` (๋˜๋Š” `npx gasio-mcp-setup`) ์‹คํ–‰ ํ›„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

</details>

<details>
<summary><b>gasio_qrcode_generator</b> - QR ์ฝ”๋“œ ์ƒ์„ฑ</summary>

| ํŒŒ๋ผ๋ฏธํ„ฐ | ํƒ€์ž… | ํ•„์ˆ˜ | ๊ธฐ๋ณธ๊ฐ’ | ์„ค๋ช… |
| :--- | :--- | :---: | :--- | :--- |
| `text` | string | โœ… | - | ์ธ์ฝ”๋”ฉํ•  ํ…์ŠคํŠธ/URL |
| `output_path` | string | โœ… | - | ์ €์žฅํ•  PNG ๊ฒฝ๋กœ |
| `logo_path` | string | โŒ | - | ์ค‘์•™์— ํ•ฉ์„ฑํ•  ๋กœ๊ณ  ์ด๋ฏธ์ง€ ๊ฒฝ๋กœ |
| `color_dark` | string | โŒ | `"#000000"` | QR ๋„ํŠธ ์ƒ‰์ƒ |
| `color_light` | string | โŒ | `"#ffffff"` | QR ๋ฐฐ๊ฒฝ ์ƒ‰์ƒ |

</details>

<details>
<summary><b>gasio_css_generator</b> - CSS ์ฝ”๋“œ ์ƒ์„ฑ</summary>

| ํŒŒ๋ผ๋ฏธํ„ฐ | ํƒ€์ž… | ํ•„์ˆ˜ | ๊ธฐ๋ณธ๊ฐ’ | ์„ค๋ช… |
| :--- | :--- | :---: | :--- | :--- |
| `style_type` | `"glassmorphism"` \| `"mesh_gradient"` | โœ… | - | CSS ์Šคํƒ€์ผ ์œ ํ˜• |
| `glass_blur` | number (0~100) | โŒ | `20` | ๊ธ€๋ž˜์Šค๋ชจํ”ผ์ฆ˜ ํ๋ฆผ ๊ฐ•๋„ |
| `glass_opacity` | number (0~1) | โŒ | `0.1` | ๊ธ€๋ž˜์Šค๋ชจํ”ผ์ฆ˜ ๋ถˆํˆฌ๋ช…๋„ |
| `mesh_colors` | string[] | โŒ | ๋‚ด์žฅ ํŒ”๋ ˆํŠธ | Mesh Gradient ์ƒ‰์ƒ ๋ฐฐ์—ด (Hex) |

> ํŒŒ์ผ ์ €์žฅ ์—†์ด CSS ์ฝ”๋“œ์™€ HTML ์Šค๋‹ˆํŽซ์„ ํ…์ŠคํŠธ๋กœ ์ฆ‰์‹œ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

</details>

---

## ๐Ÿ”’ ๋ณด์•ˆ ์ •์ฑ…

- **Path Traversal ์ฐจ๋‹จ:** ๋ชจ๋“  ์ž…๋ ฅ ๊ฒฝ๋กœ๋Š” ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ ๋˜๋Š” ์‹œ์Šคํ…œ ์ž„์‹œ ํด๋” ๋‚ด๋กœ๋งŒ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค. `../` ์ฐธ์กฐ๋Š” ์ฆ‰์‹œ ์ฐจ๋‹จ๋ฉ๋‹ˆ๋‹ค.
- **stdout ๋ณดํ˜ธ:** MCP ํ”„๋กœํ† ์ฝœ์˜ JSON-RPC ํ†ต์‹  ์ฑ„๋„(`stdout`)์— ๋กœ๊ทธ๋ฅผ ์ถœ๋ ฅํ•˜์ง€ ์•Š์œผ๋ฉฐ, ๋ชจ๋“  ๋กœ๊ทธ๋Š” `stderr`๋กœ๋งŒ ์ „์†ก๋ฉ๋‹ˆ๋‹ค.
- **๋„คํŠธ์›Œํฌ ๊ฒฉ๋ฆฌ:** ๋ชจ๋“  ์ฒ˜๋ฆฌ๋Š” ์‚ฌ์šฉ์ž์˜ ๋กœ์ปฌ ๋จธ์‹ ์—์„œ๋งŒ ์ˆ˜ํ–‰๋˜๋ฉฐ, ์–ด๋– ํ•œ ํŒŒ์ผ๋„ ์™ธ๋ถ€ ์„œ๋ฒ„๋กœ ์ „์†ก๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

---

## ๐Ÿ› ๏ธ ๊ฐœ๋ฐœ์ž์šฉ: ๋กœ์ปฌ ๋นŒ๋“œ

```bash
git clone https://github.com/gasio-ai/gasio-tools-site.git
cd gasio-tools-site/gasio-mcp-server
npm install
npm run build    # TypeScript ์ปดํŒŒ์ผ
npm run setup    # AI ๋ชจ๋ธ ๋‹ค์šด๋กœ๋“œ
npm start        # ์„œ๋ฒ„ ์‹œ์ž‘ (stdio ๋Œ€๊ธฐ)
```

## ๐ŸŽ ํŠน๋ณ„ ์ถ”์ฒœ: Gasio Bookmark (gasio.com)
**์„ธ์ƒ์—์„œ ๊ฐ€์žฅ ๋˜‘๋˜‘ํ•œ AI ๋ถ๋งˆํฌ & ์ƒ์‚ฐ์„ฑ ์Šคํƒ€ํŠธํŽ˜์ด์ง€**

MCP ์„œ๋ฒ„๋ฅผ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜์…จ๋‹ค๋ฉด, ์ด ๋ชจ๋“  ๋„๊ตฌ๋“ค์˜ ๋ชจํƒœ๊ฐ€ ๋˜๋Š” **[Gasio Bookmark (gasio.com)](https://gasio.com)** ์„œ๋น„์Šค๋ฅผ ๋งŒ๋‚˜๋ณด์„ธ์š”. ๋‹จ์ˆœํ•œ ๋งํฌ ์ €์žฅ์„ ๋„˜์–ด ๋ธŒ๋ผ์šฐ์ € ์ฒซ ํ™”๋ฉด์„ ์ตœ๊ณ ์˜ ์ƒ์‚ฐ์„ฑ ๋Œ€์‹œ๋ณด๋“œ๋กœ ๋งŒ๋“ค์–ด ์ค๋‹ˆ๋‹ค.

### ๐ŸŒŸ ์ฃผ์š” ํŠน์žฅ์  (100% Free Forever)
- **โšก AI ์š”์•ฝ & RAG ํ”ผ๋“œ ์ƒ์„ฑ (ํŠนํ—ˆ ๊ธฐ์ˆ )**: ์ˆ˜์ง‘ํ•œ ์—ฌ๋Ÿฌ ๋ถ๋งˆํฌ๋“ค์„ ํ•˜๋‚˜๋กœ ๋ฌถ์–ด LLM(NotebookLM, ChatGPT ๋“ฑ)์— ๊ณต๊ธ‰ ๊ฐ€๋Šฅํ•œ ๋‹จ์ผ ํ”ผ๋“œ๋กœ ์ฆ‰์‹œ ์ปดํŒŒ์ผํ•ฉ๋‹ˆ๋‹ค. ์ง€์—ฐ ์‹œ๊ฐ„(Zero-Latency) ์—†๋Š” ์›น์‚ฌ์ดํŠธ ํ…์ŠคํŠธ ์Šค๋ƒ…์ƒท ์š”์•ฝ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
- **๐Ÿ”’ ํ”„๋ผ์ด๋ฒ„์‹œ ๋ณด์•ˆ ํƒญ (Locking)**: ๊ฐœ์ธ์ ์ธ ์—ฐ๊ตฌ ์ž๋ฃŒ๋‚˜ ๋ฏผ๊ฐํ•œ ๋งํฌ๋“ค์„ ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ฐ ์ƒ์ฒด์ธ์‹์œผ๋กœ ๊ฐ•๋ ฅํ•˜๊ฒŒ ์ž ๊ธˆ ๋ณดํ˜ธํ•˜๊ณ , ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณดํ˜ธ ๋งํฌ๋กœ ์•ˆ์ „ํ•˜๊ฒŒ ์™ธ๋ถ€ ๊ณต์œ ๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
- **๐Ÿ“ฑ ์‹ค์‹œ๊ฐ„ ํด๋ผ์šฐ๋“œ ๋™๊ธฐํ™”**: Windows, macOS, iPhone, Android, iPad ๋“ฑ OS์™€ ๋ธŒ๋ผ์šฐ์ € ์ œํ•œ ์—†์ด ๋‹จ 0.1์ดˆ ๋งŒ์— ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ถ๋งˆํฌ ๋Œ€์‹œ๋ณด๋“œ๊ฐ€ ๋™๊ธฐํ™”๋ฉ๋‹ˆ๋‹ค (PWA ๋…๋ฆฝ ์•ฑ ์„ค์น˜ ์ง€์›).
- **๐ŸŽฌ ์œ ํŠœ๋ธŒ ์ง€์‹ ๋„์„œ๊ด€ (YouTube Hub)**: ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฐฉํ•ด ์—†์ด ํŒ์—…์ฐฝ์—์„œ ์œ ํŠœ๋ธŒ๋ฅผ ํ•™์Šตํ•˜๋ฉฐ ํŠน์ • ๊ตฌ๊ฐ„(ํƒ€์ž„์Šคํƒฌํ”„)์— ์ง์ ‘ ํ•„๊ธฐ ๋…ธํŠธ๋ฅผ ๋‚จ๊ธธ ์ˆ˜ ์žˆ๋Š” ๊ฐœ์ธ ํ•™์Šต ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
- **โœจ ์•„๋ฆ„๋‹ค์šด ์œ„์ ฏ ์Šคํƒ€ํŠธํŽ˜์ด์ง€**: ํŠธ๋ Œ๋””ํ•œ ๊ธ€๋ž˜์Šค๋ชจํ”ผ์ฆ˜(Glassmorphism) ํ…Œ๋งˆ์™€ ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ ์ž์œ  ๋ฐฐ์น˜ ์‹œ์Šคํ…œ์„ ํ†ตํ•ด ๋งค์ผ ์ผœ๊ณ  ์‹ถ์€ ๋‚˜๋งŒ์˜ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ์ง์ ‘ ๋””์ž์ธํ•˜์„ธ์š”.

๐Ÿ‘‰ **์ง€๊ธˆ ๋ฐ”๋กœ ๋ฌด๋ฃŒ๋กœ ์‹œ์ž‘ํ•˜๊ธฐ**: [gasio.com](https://gasio.com)

---

## ๐ŸŒ ๊ด€๋ จ ์„œ๋น„์Šค

| ์„œ๋น„์Šค | URL |
| :--- | :--- |
| Gasio Tools ํ—ˆ๋ธŒ | [tools.gasio.com](https://tools.gasio.com) |
| ํ™”์งˆ ๊ฐœ์„  | [upscale.gasio.com](https://upscale.gasio.com) |
| ์ด๋ฏธ์ง€ ๋ฆฌ์‚ฌ์ด์ฆˆ | [resizeimg.gasio.com](https://resizeimg.gasio.com) |
| ํฌ๋งท ๋ณ€ํ™˜ | [convertimg.gasio.com](https://convertimg.gasio.com) |
| ํŒŒ๋น„์ฝ˜ ์ƒ์„ฑ | [favicongen.gasio.com](https://favicongen.gasio.com) |
| EXIF ๋ฉ”ํƒ€์ œ๊ฑฐ | [exifclean.gasio.com](https://exifclean.gasio.com) |
| PDF โ†’ Image | [pdf2img.gasio.com](https://pdf2img.gasio.com) |
| ๋ฐฐ๊ฒฝ ์ œ๊ฑฐ | [removebg.gasio.com](https://removebg.gasio.com) |
| ๊ฐœ์ฒด ์ง€์šฐ๊ธฐ | [eraserimg.gasio.com](https://eraserimg.gasio.com) |
| PNG โ†’ SVG | [png2svg.gasio.com](https://png2svg.gasio.com) |
| Video โ†’ GIF | [video2gif.gasio.com](https://video2gif.gasio.com) |
| ์Šคํฌ๋ฆฐ์ƒท ๋ชฉ์—… | [screenshot.gasio.com](https://screenshot.gasio.com) |
| ์˜ค๋””์˜ค ํŽธ์ง‘ | [audiocut.gasio.com](https://audiocut.gasio.com) |
| OCR ํ…์ŠคํŠธ ์Šค์บ๋„ˆ | [img2text.gasio.com](https://img2text.gasio.com) |
| QR ์ฝ”๋“œ ๋””์ž์ด๋„ˆ | [qrcode.gasio.com](https://qrcode.gasio.com) |
| CSS ๋””์ž์ด๋„ˆ | [css.gasio.com](https://css.gasio.com) |

---

## ๐Ÿ”‘ ๊ฒ€์ƒ‰ ํ‚ค์›Œ๋“œ (Keywords for SEO)
- **MCP Servers**: Model Context Protocol, MCP server, Claude Desktop MCP, Cursor IDE MCP, Gemini Code Assist MCP.
- **Local AI & Image Processing**: Local AI background removal, offline image upscale, RealESRGAN ONNX, offline OCR text scanner, local SVG converter, video to GIF converter.
- **Privacy & Security**: Zero upload image tools, 100% offline media editor, private metadata cleaner, secure local AI.
- **Gasio Tools**: tools.gasio.com, local media converter.

---

## ๐Ÿ“„ ๋ผ์ด์„ ์Šค

MIT License ยฉ [Gasio Tools](https://tools.gasio.com)