Skip to main content
MCP for AI agents
Convertly MCP is a Model Context Protocol server that lets AI agents work with files on your computer and call Convertly’s media APIs from the same conversation. Organize downloads, archive old files, convert images, compress video, remove backgrounds, generate thumbnails, and look up Convertly documentation before running a workflow.
The MCP server only exposes folders you explicitly approve. API keys stay on your machine — they are not sent to the AI model.
Your MCP client starts the Convertly MCP server locally. The AI model does not receive unrestricted filesystem access — only the folders you approve are exposed through MCP tools. For a product overview and visual walkthrough, see the MCP & AI agents page.

How it works

Convertly MCP runs in two modes. Choose the one that matches your client and security needs.
ModeTransportFilesystem accessBest for
Localstdio✅ Full access to approved foldersClaude Desktop, Cursor, Cline, Windsurf
RemoteHTTP/SSE❌ NoneWeb-based clients, remote servers, Lovable
Your MCP client launches the Convertly server as a local process. The server can read and write any folder you list in CONVERTLY_MCP_ROOTS. All filesystem paths are resolved and sandboxed to those roots.

Remote mode (HTTP/SSE)

You start the server manually as an HTTP service. AI agents can use all API-based tools (conversion, compression, docs, cloud storage, jobs) but cannot access your local filesystem. Filesystem tools return an error in this mode.
export CONVERTLY_API_KEY="<paste-your-key-here>"
CONVERTLY_MCP_HTTP_PORT=3000 npx @convertly-sh/mcp
Connect to http://localhost:3000/mcp. HTTP configuration:
  • CONVERTLY_MCP_HTTP_PORT — port to listen on
  • CONVERTLY_MCP_MAX_SESSIONS — max concurrent SSE sessions (default: 100)
  • CONVERTLY_MCP_SESSION_TIMEOUT_MS — idle session timeout in ms (default: 600000 = 10 min)
  • GET /health — health check endpoint

Client setup

Claude Desktop

Claude Desktop was the first mainstream MCP client and has the largest ecosystem. macOS
  1. Open Claude Desktop
  2. Click your profile menu → SettingsDeveloper
  3. Click Edit Config
  4. Paste the configuration into ~/Library/Application Support/Claude/claude_desktop_config.json
  5. Fully quit and restart Claude Desktop
Windows
  1. Open Claude Desktop
  2. Click your profile menu → SettingsDeveloper
  3. Click Edit Config
  4. Paste the JSON below into the file that opens
  5. Fully quit and restart Claude Desktop
Config structure:
{
  "mcpServers": {
    "convertly": {
      "command": "npx",
      "args": ["-y", "@convertly-sh/mcp"],
      "env": {
        "CONVERTLY_API_KEY": "<paste-your-key-here>",
        "CONVERTLY_MCP_ROOTS": "/Users/you/Downloads:/Users/you/Pictures"
      }
    }
  }
}
Paste your dashboard API key into CONVERTLY_API_KEY locally. Do not commit MCP config files that contain real keys. On Windows, use ; to separate roots and forward slashes inside each path (recommended — avoids JSON escaping):
"CONVERTLY_MCP_ROOTS": "C:/Users/you/Downloads;C:/Users/you/Pictures"
If you use backslashes, each one must be escaped as \\ in JSON:
"CONVERTLY_MCP_ROOTS": "C:\\Users\\you\\Downloads;C:\\Users\\you\\Pictures"
Unescaped backslashes (C:\Users\...) produce invalid JSON and the MCP server may not start.

Paths and approved folders

Convertly MCP only reads and writes paths that fall under folders listed in CONVERTLY_MCP_ROOTS. Everything else — scan_folder, convert_media, forma_ai_transform with filePath, outputPath, and so on — must stay inside those roots.

Root list (CONVERTLY_MCP_ROOTS)

OSSeparator between rootsExample
Windows; (semicolon)C:/Users/you/Downloads;C:/Users/you/Projects
macOS / Linux: (colon)/Users/you/Downloads:/Users/you/Pictures
  • ~ at the start of a path expands to your home directory (~/Downloads/Users/you/Downloads or C:\Users\you\Downloads).
  • If CONVERTLY_MCP_ROOTS is omitted, only the MCP server’s current working directory is approved (usually wherever your client launched the process).

Windows paths in JSON config

JSON strings treat \ as an escape character. Prefer forward slashes — Node.js accepts them on Windows:
{
  "env": {
    "CONVERTLY_MCP_ROOTS": "C:/Users/you/Downloads;D:/Projects/site-assets"
  }
}
Backslashes are fine when doubled:
"CONVERTLY_MCP_ROOTS": "C:\\Users\\you\\Downloads;D:\\Projects\\site-assets"
Avoid single backslashes:
"CONVERTLY_MCP_ROOTS": "C:\Users\you\Downloads"
That is invalid JSON (\U, \D, etc. are not valid escapes) and clients may fail to parse the config. Paths with spaces do not need extra escaping — keep the whole value in quotes:
"CONVERTLY_MCP_ROOTS": "C:/Users/you/My Projects;C:/Users/you/Downloads"
On Windows, the drive letter (C:) is part of the path, not the root separator. Only ; splits multiple roots.

macOS and Linux paths

Use normal absolute paths. Separate multiple roots with ::
"CONVERTLY_MCP_ROOTS": "/Users/you/Downloads:/Users/you/Pictures"
Spaces are fine inside quoted JSON strings:
"CONVERTLY_MCP_ROOTS": "/Users/you/My Projects:/Users/you/Downloads"
Avoid : inside a single path when you list multiple roots (uncommon on macOS/Linux). If you need a unusual path that contains :, approve a parent folder instead. Tilde works the same as on Windows:
"CONVERTLY_MCP_ROOTS": "~/Downloads:~/Pictures"

Paths in tool calls

When the agent passes folder, filePath, outputFolder, or outputPath to a tool:
  • Use an absolute path under an approved root, or a relative path resolved from the server working directory.
  • On Windows, forward slashes (C:/Users/you/file.png) are safest in prompts and tool args; backslashes usually work but agents sometimes emit invalid escapes.
  • If a tool returns outside approved roots, add the parent directory to CONVERTLY_MCP_ROOTS and restart the MCP server (or reload the client) so the new env var is picked up.
Call list_roots to see the resolved allow-list the server is actually using.

Cursor

Cursor supports the same mcpServers format as Claude Desktop and hot-reloads config changes. Global (all projects):
  1. Open Cursor
  2. SettingsCursor SettingsMCP
  3. Click Add new MCP server
  4. Paste the same JSON config into ~/.cursor/mcp.json
Project-scoped: Create .cursor/mcp.json inside your project root:
{
  "mcpServers": {
    "convertly": {
      "command": "npx",
      "args": ["-y", "@convertly-sh/mcp"],
      "env": {
        "CONVERTLY_API_KEY": "<paste-your-key-here>",
        "CONVERTLY_MCP_ROOTS": "/Users/you/Downloads:/Users/you/Pictures"
      }
    }
  }
}

Cline (VS Code extension)

  1. Open VS Code with Cline installed
  2. Click the MCP Servers icon (plug) in the Cline sidebar
  3. Click Install MCP Server
  4. Paste the config or use the path:
    • macOS/Linux: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
    • Windows: %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json

Lovable and other web clients

Web-based clients cannot run stdio servers. Use HTTP/SSE mode instead:
export CONVERTLY_API_KEY="<paste-your-key-here>"
CONVERTLY_MCP_HTTP_PORT=3000 npx @convertly-sh/mcp
Paste http://localhost:3000/mcp into the client’s remote MCP server field.

Environment variables

VariableRequiredDescription
CONVERTLY_API_KEYFor API toolsYour Convertly API key. Required for conversion, compression, media tools, cloud storage, and jobs.
CONVERTLY_MCP_ROOTSRecommendedApproved folders. ; between roots on Windows, : on macOS/Linux. See Paths and approved folders. If omitted, only the current working directory is approved.
CONVERTLY_BASE_URLNoOverride the Convertly API origin. Defaults to https://convertly.sh.

Tools

Convertly docs

Research before you act. These tools let an agent read Convertly documentation before calling APIs or touching files.
ToolDescription
list_convertly_docsLists available Convertly documentation pages.
search_convertly_docsSearches Convertly docs by topic, API name, or workflow.
get_convertly_docFetches a docs page by slug or URL and returns readable text.

Local filesystem

These tools only work in Local (stdio) mode. They require paths inside CONVERTLY_MCP_ROOTS.
ToolDescription
list_rootsShows the approved folders the server can access.
scan_folderLists files with size, modified date, and media category.
plan_organize_folderCreates a dry-run organization plan by file type (Images, Videos, Audio, Archives, Documents, Other).
move_filesMoves approved files to approved destinations. Requires confirm: true.
rename_filesRenames approved files. Requires confirm: true.
copy_filesCopies approved files to approved destinations. Requires confirm: true.
create_folderCreates folders inside approved roots.
read_fileReads text contents of approved files (UTF-8).
create_archiveCreates ZIP archives from approved files or folders.
delete_filesDeletes approved files. Requires confirm: true.

Media conversion

ToolDescription
convert_mediaConverts images, video, audio, documents, and archives between formats.
compress_mediaCompresses image, video, or audio files.

CDN URL builder

ToolDescription
build_cdn_urlBuilds Convertly CDN URLs for image transforms, video transcode/clip, poster frames, GIFs, and origin-backed assets. Use trim: true to crop transparent borders from logos.

Forma AI (all plans)

Generative and analysis tools that bill your Forma AI unit quota (included on Free, Starter, Pro, and Business). Use these when the agent or model cannot generate images natively.
ToolDescription
forma_ai_transformGenerate from text (image.generate), edit, upscale, replace background, style transfer, outpaint, object removal. Saves to cloud storage; optional local outputPath.
forma_ai_analyzeDescribe, alt-text, tags, or moderate an image (JSON).
Requires CONVERTLY_API_KEY. Free and Starter hard-cap at the included Forma AI quota; Pro+ supports overage when enabled. See Forma AI and Limits.

AI media tools

ToolDescription
remove_backgroundBackground removal for images; use the configured ML backend for complex subject segmentation.
transform_imageResize, crop, rotate, flip, and format-shift images.
generate_thumbnailCreates thumbnails from images or videos.
watermark_mediaAdds text or logo watermarks to images and videos.
create_storyboardGenerates storyboard grid images from videos.
trim_mediaTrims video and audio to a start time and duration.
video_to_gifConverts videos to animated GIFs.
pdf_previewConverts PDF pages to image previews.
poster_frameExtracts poster frames from videos.
extract_audioExtracts audio tracks from videos.
strip_metadataRemoves metadata from media files.
images_to_pdfCombines images into a single PDF.
inspect_mediaReads metadata and properties for media files.
adjust_mediaApplies brightness, contrast, saturation, hue, grayscale, and other adjustments.

Cloud storage

ToolDescription
list_cloud_filesLists files stored in Convertly cloud storage.
download_cloud_fileGets a temporary signed download URL for a cloud file.
save_cloud_fileDownloads a cloud file directly to an approved local folder.
delete_cloud_fileDeletes a file from cloud storage.
rename_cloud_fileRenames a file in cloud storage.
list_foldersLists folders in cloud storage.
create_cloud_folderCreates a folder in cloud storage.
rename_folderRenames a folder in cloud storage.

Async jobs

ToolDescription
list_jobsLists recent async conversion and media-tool jobs.
get_jobGets status and results for a specific job.

Utilities

ToolDescription
transfer_urlDownloads a public remote URL to an approved local folder (local mode only).

Example prompts

These are prompts you can paste directly into an MCP-enabled client. Research then compress:
Search the Convertly docs for compression options, then compress the images in my Downloads folder into an optimized folder. Show me the plan first.
Organize and convert:
Scan my Downloads folder, group loose files by type, archive media older than 90 days, and convert JPG/PNG images to WebP. Do not delete anything unless I confirm.
Batch rename with context:
Scan my vacation photos folder, then rename all files to vacation-001.jpg, vacation-002.jpg, etc. in chronological order. Show me the rename plan first, then execute.
Cloud + local workflow:
List my Convertly cloud files, find the largest video, download it to my Downloads folder, trim the first 30 seconds, and compress it.
Website images via Forma AI:
Generate three 16:9 hero images for a SaaS landing page — minimal, high-converting, no text in frame. Save them to my Projects/site-assets folder and list the cloud file ids.
Edit and upscale:
Upscale my hero.png with Forma AI, then save the result locally to Downloads/hero-4k.png.
Docs-aware conversion:
Read the Convertly docs about vectorization options, then convert my logo.png to SVG with color preserved.

Safety model

The AI model does not receive raw filesystem access.
  • Path sandboxing: All paths are resolved against CONVERTLY_MCP_ROOTS. Requests outside approved folders are rejected.
  • Dry-run by default: plan_organize_folder and scan_folder never modify files.
  • Explicit confirmation: move_files, rename_files, copy_files, delete_files, delete_cloud_file, rename_cloud_file, and rename_folder require confirm: true before executing.
  • Non-destructive first: Agents can show a plan, get your approval, and then execute.

Troubleshooting

Filesystem tools return “not in approved roots”

  1. Add the parent folder to CONVERTLY_MCP_ROOTS (not just the file).
  2. Use the correct separator: ; on Windows, : on macOS/Linux.
  3. On Windows, use forward slashes or escaped backslashes in JSON — see Paths and approved folders.
  4. Restart the MCP client after editing config so env vars reload.
  5. Call list_roots to confirm what the server resolved.

Invalid MCP config / server won’t start (Windows)

Check JSON escaping. C:\Users\... with single backslashes is invalid JSON. Use C:/Users/... or C:\\Users\\....

HTTP mode: “Filesystem tools are unavailable”

This is expected. HTTP/SSE mode cannot access your local computer. Use stdio (local) mode if you need filesystem tools.