Fixo MCP Server — Complete Integration Guide.
Step-by-step technical reference for connecting any MCP-compatible AI agent to EaseUS Fixo. Covers authentication, tool schemas, async workflows, error handling, and 60+ supported file formats.
1. Overview
EaseUS Fixo MCP Server enables any MCP-compatible AI agent (Claude, Cursor, ChatGPT, Gemini, Windsurf, Trae, GitHub Copilot, and 50+ more) to repair corrupted video, photo, document, archive, and audio files through a standardized Model Context Protocol interface.
Powered by EaseUS's 20 years of data repair expertise (120M+ files repaired, 4.8/5 user rating), Fixo MCP exposes 4 specialized tools that follow MCP best practices: typed JSON Schema, async task support, and structured result delivery.
| Item | Value |
|---|---|
| MCP Endpoint | https://repair.easeus.com/fixo-mcp/v1 |
| Transport | Streamable HTTP (JSON-RPC) |
| Tools | 4 (check_file_health, query_upload_url, repair, get_repair_status) |
| Categories | Video, Photo, Document & Archive, Audio |
| Formats | 100+ |
| Max file size | 100 MB per file |
| Auth | OAuth 2.1 — Authorization Code + PKCE, RFC 7591 dynamic client registration |
| Result delivery | Web result page URL (preview + download) |
| Data retention | Auto-delete 14 days after repair |
2. Quick Start — One-Click Connection
The easiest way to connect is using the one-click prompt from the MCP landing page. No manual JSON editing required.
Step 1: Copy the prompt
Go to the MCP landing page and click Copy Prompt. The prompt contains:
Add MCP server: https://repair.easeus.com/fixo-mcp/v1, OAuth 2.1 Authorization Code + PKCE (S256), no API key required.
Then use the fixo MCP tool to repair {file path}.Step 2: Paste to your AI agent
Open your AI assistant (Claude, Cursor, ChatGPT, etc.) and paste the prompt into a new conversation.
Step 3: AI auto-configures
The AI reads this guide document and automatically configures the Fixo MCP server connection with the correct endpoint URL.
Step 4: Start repairing files
Ask your AI to repair a corrupted file. It will use Fixo's 4 MCP tools to check health, upload, dispatch the repair, monitor progress, and return a result page URL.
3. Manual Configuration
If you prefer manual setup, configure your MCP client with the endpoint: https://repair.easeus.com/fixo-mcp/v1
3.1 Claude Desktop
Edit ~/.claude.json (macOS/Linux) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"fixo": {
"type": "http",
"url": "https://repair.easeus.com/fixo-mcp/v1"
}
}
}Restart Claude Desktop. The INITIALIZE call will trigger the OAuth authorization flow.
3.2 Cursor
- Open Cursor → Settings → MCP
- Click Add New MCP Server
- Select URL type
- Enter:
https://repair.easeus.com/fixo-mcp/v1 - Click Add
3.3 ChatGPT
ChatGPT supports remote MCP servers through connectors:
- Enable developer mode in Settings → Connectors → Advanced
- Create a new connector and enter the MCP server URL:
https://repair.easeus.com/fixo-mcp/v1 - Complete the OAuth authorization in the browser
- The Fixo tools are now available in your conversation
3.4 Other MCP Clients
Any MCP-compatible client supporting Streamable HTTP can connect: Windsurf, Trae, GitHub Copilot, Continue.dev, Cline, Roo Code, etc. All use the same endpoint: https://repair.easeus.com/fixo-mcp/v1
4. Authentication & Authorization
Fixo MCP uses OAuth 2.1 (Authorization Code flow with PKCE S256) for secure, password-less authorization. No API keys needed — clients register themselves on the fly via RFC 7591 dynamic client registration.
| Parameter | Value |
|---|---|
| Flow | OAuth 2.1 Authorization Code + PKCE (S256) |
| Scopes | repair:read (health check, status) · repair:write (upload, repair) |
| Client registration | RFC 7591 — POST https://repair.easeus.com/fixo-mcp/v1/oauth/register |
| Server metadata | RFC 8414 — /.well-known/oauth-authorization-server |
| Resource metadata | RFC 9728 — /.well-known/oauth-protected-resource |
| Unauthorized response | HTTP 401 with a WWW-Authenticate header |
| Access Token TTL | 12 hours |
| Refresh Token TTL | 30 days |
First-Time Connection Flow
- The INITIALIZE call returns HTTP 401 with a
WWW-Authenticateheader pointing to the protected-resource metadata - Your client discovers the authorization server and registers itself via RFC 7591 dynamic client registration
- The authorization page opens in a browser — log in with your EaseUS account and approve the request
- The client exchanges the authorization code (PKCE S256) for tokens and retries the tool call automatically
5. Tool Catalog — 4 MCP Tools
All tools follow the MCP tools/call JSON-RPC method with typed JSON Schema for inputs and outputs.
check_file_health
Check whether a file is healthy and suitable for repair. Recommended first step before any repair — suggest it to the user and run it only with the user's consent. Local pre-checks: reject 0-byte files, reject files where every byte has the same value, and verify the header/footer bytes match the extension.
Input: file_name (required, incl. extension), file_url (required — download_url from query_upload_url)
Output: health_status (Intact | Unknown | Damaged), message
Scope: repair:read
query_upload_url
Get the S3 upload URL and form fields needed to upload a local file (max 100 MB). Upload with a multipart/form-data POST to upload_url containing every key-value pair from fields plus the file itself (prefer curl with one -F option per fields entry). After the upload succeeds, pass download_url as file_url to the other tools.
Input: file_name (required, incl. extension)
Output: upload_url, download_url, fields, message (upload instructions)
Scope: repair:write
repair
Create and start a repair task for an uploaded file. If get_repair_status returns NeedPwd or PwdErr, ask the user for the file password, then call again with the same file_name and file_url plus password.
Input: file_name (required), file_url (required), password (optional — encrypted files only)
Output: task_id, error (0 on success), message
Scope: repair:write
get_repair_status
Check the status and progress (0–100) of a repair task created by repair. While status is Pending or Processing, wait at least 3 seconds between calls. Stop polling at Completed, Failed, NeedPwd, or PwdErr. The response message contains the recommended next action.
Input: task_id (required — returned by repair)
Output: status, progress (0–100), message
Scope: repair:read
Input/Output Schema Example (repair)
// Input
{
"file_name": "birthday.mp4",
"file_url": "https://d225fhq0dla1l8.cloudfront.net/upload/birthday.mp4"
}
// Output
{
"code": 200,
"task_id": "fixo_a1b2c3d4e5",
"error": 0,
"message": "Repair task created successfully."
}6. Supported File Formats (100+)
| Category | Formats |
|---|---|
| Video | MP4, MOV, MKV, WEBM, AVI, ASF, WMV, M4V, 3GP, 3G2, FLV, SWF, MPG, RM, RMVB, MPEG, INSV, MTS, M2TS, TS, RSV, DAT, MXF, BRAW, OGV, DIVX, DV, CRM, LRV, LRF, R3D |
| Photo | JFIF, JPE, JIF, JPG, JPEG, PNG, GIF, CR2, CR3, CRW, NEF, NRW, TIF, TIFF, DNG, ARW, RAF, GPR, ORF, SR2, X3F, HEIC, BMP, RW2, RAW, AVIF, WEBP, SVG, SRW, ERF, PEF, SRF, MRW, 3FR, JXL |
| Document & Archive | DOC, DOCX, DOCM, DOTM, DOTX, XLS, XLSX, XLSM, XLTM, XLTX, PPT, PPTX, PPTM, POTM, POTX, PDF, ZIP, ZIPX, EXE, XML, RAR, HTML, AI, PSD, PSB, HWP, PAGES, NUMBERS, KEY, CSV, 7Z, RTF, TXT, HWPX, PST, DXF |
| Audio | MP3, AAC, WAV, FLAC, M4A, WMA, AIF, AIFF, OGG, OGA, APE |
7. Async Task & Result Delivery
Repair runs asynchronously. Task lifecycle: Pending → Processing → Completed / Failed (with NeedPwd / PwdErr for encrypted files).
| Status | Meaning | Action |
|---|---|---|
Pending | Task accepted, waiting for worker | Poll get_repair_status |
Processing | Repair in progress | Keep polling — wait at least 3 seconds between calls |
Completed | Repair finished successfully | Follow the download instructions in message |
Failed | Repair could not complete | Present the failure message to the user |
NeedPwd | The file is password-protected | Ask the user for the password and call repair again with it |
PwdErr | The supplied password was wrong | Ask for the correct password and call repair again |
Polling Best Practices
- Wait at least 3 seconds between
get_repair_statuscalls - Stop polling at
Completed,Failed,NeedPwd, orPwdErr - The response
messagealways contains the recommended next action
Result Delivery
- Binary files never enter the AI context — saving tokens
- On
Completed, sign in at repair.easeus.com/history-repair/ to download the repaired file - No watermark, full original quality
8. Error Handling
Errors are returned either as MCP tool errors (ToolError) or as structured results with a non-200 code field.
| code | Description | Resolution |
|---|---|---|
| 401 (HTTP) | No bearer token on the MCP endpoint | Complete OAuth authorization — the WWW-Authenticate header points to the metadata |
| 3 | file_name has no extension | Pass the original file name including its extension |
| 2006 | OAuth token expired | Re-authorize and retry the call |
| 5002 | Daily free repair quota exhausted | Upgrade to Pro at repair.easeus.com, or use the Fixo desktop app |
| ToolError | Invalid parameters or upstream service failure | Read the error message, fix the arguments, and retry |
9. Rate Limits
| Limit | Free Tier | Pro / EaseUS Account |
|---|---|---|
| Repairs per day | 1 | Unlimited |
| Max file size | 100 MB | 100 MB |
| Status polling | 1 call per 3 seconds per task | 1 call per 3 seconds per task |
10. Security & Privacy
- Encryption: TLS in transit for all MCP, upload, and download traffic
- OAuth 2.1: Authorization Code + PKCE ensures secure authorization without exposing passwords to the AI client
- Least privilege:
repair:readcovers health checks and status polling;repair:writeis only required for uploads and repairs - Privacy: Files are never shared with third parties and never used for AI training
- Data retention: The file will be automatically deleted after 14 days
- Compliance: GDPR, CCPA, SOC 2 Type II, ISO 27001
11. FAQ
What is Fixo MCP Server?
Fixo MCP Server is a Model Context Protocol implementation that allows AI agents to repair corrupted video, photo, document, archive, and audio files through 4 standardized MCP tools.
Which AI clients support Fixo MCP?
Any MCP-compatible client supporting Streamable HTTP: Claude Desktop, Claude Code, Cursor, GitHub Copilot, ChatGPT, Google Gemini, Windsurf, Trae, Continue.dev, Cline, Roo Code, and 50+ more.
Is Fixo MCP free to use?
Yes. All users get 1 free repair per day (100 MB max). EaseUS Pro account holders get unlimited repairs per day. Files over 100 MB require the desktop client.
Do I need to install anything?
No. Fixo MCP is a cloud service accessed via the Streamable HTTP endpoint. You only need an MCP-compatible AI client.
Where do I find my repaired files?
When a task reaches Completed, sign in with your account at repair.easeus.com/history-repair/ to preview and download the repaired file. No watermark, full original quality.
How long does repair take?
Most files repair within 30–60 seconds. Larger or severely corrupted files may take a few minutes. The get_repair_status tool provides real-time progress (0–100).
12. Support & Contact
| Channel | Contact |
|---|---|
| Support Portal | easeus.com/support.html |
| [email protected] | |
| MCP Landing Page | repair.easeus.com/mcp/ |
| Online Repair | repair.easeus.com |
| Desktop Software | easeus.com/repair-tools |
Fixo MCP is listed on Smithery, Glama, PulseMCP, and mcp.so directories.
Appendix: Complete Example — Repair a Corrupted Video
Step 1: Get the upload URL
// Call
{ "name": "query_upload_url", "arguments": { "file_name": "birthday.mp4" } }
// Result
{
"code": 200,
"data": {
"upload_url": "https://fixo-uploads.s3.amazonaws.com/",
"download_url": "https://d225fhq0dla1l8.cloudfront.net/upload/birthday.mp4",
"fields": {
"key": "upload/birthday.mp4",
"policy": "eyJleHBpcmF0aW9uIjoi...",
"x-amz-algorithm": "AWS4-HMAC-SHA256",
"x-amz-signature": "a1b2c3..."
},
"message": "After receiving the upload URL and before uploading, check whether the local file exceeds 100 MB..."
}
}Step 2: Upload the file
Send a multipart/form-data POST to upload_url with every entry from fields plus the file itself:
curl -F "key=upload/birthday.mp4" \
-F "policy=eyJleHBpcmF0aW9uIjoi..." \
-F "x-amz-algorithm=AWS4-HMAC-SHA256" \
-F "x-amz-signature=a1b2c3..." \
-F "file=@/path/to/birthday.mp4" \
https://fixo-uploads.s3.amazonaws.com/Step 3: Check file health (optional, recommended)
// Call
{ "name": "check_file_health", "arguments": { "file_name": "birthday.mp4", "file_url": "https://d225fhq0dla1l8.cloudfront.net/upload/birthday.mp4" } }
// Result
{
"code": 200,
"health_status": "Damaged",
"message": "The file is damaged. Call the repair tool with the same file_name and file_url to repair it."
}Step 4: Dispatch the repair
// Call
{ "name": "repair", "arguments": { "file_name": "birthday.mp4", "file_url": "https://d225fhq0dla1l8.cloudfront.net/upload/birthday.mp4" } }
// Result
{
"code": 200,
"task_id": "fixo_a1b2c3d4e5",
"error": 0,
"message": "Repair task created successfully."
}Step 5: Poll status until complete
// Poll, waiting at least 3 seconds between calls
{ "name": "get_repair_status", "arguments": { "task_id": "fixo_a1b2c3d4e5" } }
// Final result
{
"code": 200,
"task_id": "fixo_a1b2c3d4e5",
"status": "Completed",
"progress": 100,
"message": "Repair completed. Sign in with your account at https://repair.easeus.com/history-repair/, then download the repaired file."
}