# FileStack MCP

> FileStack lets your AI agent handle complex media workflows end-to-end. Upload files from public URLs, extract text using OCR, analyze images for tags and safety status, generate optimized CDN links, or start video transcoding jobs—all through simple commands.

## Overview
- **Category:** image-video
- **Price:** Free
- **Tags:** file-upload, image-processing, ocr, video-transcoding, content-analysis

## Description

This MCP connects advanced file handling capabilities directly into your workflow. You can automate asset pipelines that previously required multiple manual steps: uploading media from a public web link, extracting structured text from scanned documents, and analyzing images for visual content tags. Need to turn a raw video file into web-ready formats like MP4? You can initiate those complex transcoding jobs without ever touching a command line. Furthermore, you never have to manually resize or crop an image again; the system generates optimized URLs on demand. If your current AI agent setup is running into bottlenecks managing diverse media types, connecting this MCP via Vinkius gives you immediate access to these powerful tools—everything from basic file inspection to advanced video processing.

## Tools

### get_image_tags
Analyzes an image and returns a list of detected objects or features.

### get_metadata
Pulls deep technical details about a file, including its dimensions, size, and mime type.

### get_ocr
Scans an image or document to pull out any visible printed or handwritten text.

### get_sfw_status
Checks whether uploaded content violates safety standards and is safe for public viewing.

### generate_transform_url
Builds a URL that, when accessed, will automatically resize or filter an image to specific parameters.

### upload_from_url
Copies and uploads any file found at a public web address into your managed storage.

### get_video_status
Checks the current progress of an ongoing video transcoding job using its unique ID.

### start_video_transcode
Initiates a background process to convert an audio or video file into different web formats.

## Prompt Examples

**Prompt:** 
```
Upload this image to Filestack: https://example.com/photo.jpg
```

**Response:** 
```
I've uploaded the file. The new Filestack handle is `ABC123XYZ`. You can now use this handle for transformations or metadata analysis.
```

**Prompt:** 
```
What objects are detected in the image with handle ABC123XYZ?
```

**Response:** 
```
Analyzing the image... I've detected several tags: 'mountain' (98% confidence), 'snow' (95%), and 'outdoor' (92%).
```

**Prompt:** 
```
Convert the video ABC123XYZ to mp4 format.
```

**Response:** 
```
I've started the transcoding job for handle ABC123XYZ using the 'mp4' preset. The job UUID is `job-550e8400`. You can check the status later using `get_video_status`.
```

## Capabilities

### Analyze image content
Detects objects and features within an uploaded image.

### Extract text from media
Pulls printed or handwritten text out of documents and images using OCR technology.

### Check content safety
Determines if an image contains unsafe or inappropriate material.

### Generate optimized media links
Creates transformation URLs that allow resizing, blurring, or filtering of images without manual edits.

### Manage video transcoding jobs
Starts and monitors background processes to convert videos into various web-ready formats.

## Use Cases

### Processing a batch of user-submitted photos
A content moderation team receives 500 new profile pictures. Instead of reviewing them one by one, the agent runs `get_sfw_status` and `get_image_tags` on every file. The results are compiled into a report showing which files need human review versus those that pass automatically.

### Building a dynamic article landing page
A developer needs an image displayed at 400px wide and blurred for preview purposes. They use `generate_transform_url` to get the exact link, ensuring the front-end only loads the correct, optimized version of the asset.

### Digitizing old archival documents
A data scientist has a collection of scanned annual reports. The agent uses `get_ocr` on each file to pull out all text, then runs `get_metadata` to understand the original dimensions and source format before feeding the clean text into a database.

### Preparing a YouTube video for multiple platforms
A marketing manager uploads a high-res master video. The agent calls `start_video_transcode` to create versions optimized for Instagram Reels, web embeds, and mobile viewing. They then use `get_video_status` until all jobs are complete.

## Benefits

- You skip manual image editing. Instead of manually resizing files for different platforms, calling `generate_transform_url` instantly generates the correct URL with specific dimensions or filters applied.
- Content safety becomes automatic. Before publishing anything, your agent uses `get_sfw_status` to check for unsafe content, giving you immediate compliance feedback at scale.
- Complex video formats are handled in the background. Initiate and monitor entire transcoding pipelines using `start_video_transcode`, converting one source file into multiple web-ready versions like MP4 or HLS.
- Data extraction is simple. If you receive a scanned document, running `get_ocr` pulls the raw text instantly, letting your agent work with structured data without manual input.
- Speed up uploads. Don't worry about local file paths; using `upload_from_url` lets your agent pull and store assets directly from any public web link.

## How It Works

The bottom line is you tell your agent what kind of media task to run, and it handles the entire technical process.

1. Subscribe to this MCP, providing your unique Filestack API Key (and optional policy details for extra security).
2. Your AI client uses the key to communicate with the service endpoint and initiate a file operation.
3. The system returns status updates or the final assets—whether that's an extracted text block, a video job UUID, or a transformation URL.

## Frequently Asked Questions

**How do I process text from an image using FileStack?**
You use the `get_ocr` tool. Simply pass the image handle to your agent, and it will extract all visible printed or handwritten text into a clean, usable string for you.

**Can I automatically resize an image using FileStack?**
Yes, use `generate_transform_url`. This tool does not change the file; it just gives you the specific URL needed to serve that image at a precise width and height.

**What is the difference between uploading files and using upload_from_url?**
Uploading manually handles local files, but `upload_from_url` lets your agent grab an asset directly from any public web link, simplifying workflows that rely on external content.

**Does FileStack handle video formatting for me?**
Yes. You use `start_video_transcode` to tell the system what format you need (like MP4). The agent then monitors the progress using `get_video_status` until it's done.

**Does FileStack check if my content is safe for work?**
It does. You run the `get_sfw_status` tool, and the agent will immediately tell you whether the image passes or fails safety checks before publication.