{"_id":"@cynosure-mcp/media-file-converter","_rev":"7-0f030c33584b5020b47a7a01395ec9cd","name":"@cynosure-mcp/media-file-converter","dist-tags":{"latest":"1.1.1"},"versions":{"1.0.0":{"name":"@cynosure-mcp/media-file-converter","version":"1.0.0","_id":"@cynosure-mcp/media-file-converter@1.0.0","maintainers":[{"name":"andjhagen","email":"voidvalkon@gmail.com"}],"bin":{"media-file-converter":"dist/index.js"},"dist":{"shasum":"c77f17622d9f65cf5c40c8e5f0bafac7e8755c3d","tarball":"https://registry.npmjs.org/@cynosure-mcp/media-file-converter/-/media-file-converter-1.0.0.tgz","fileCount":5,"integrity":"sha512-H9+HSEs0hljJasxJeHbFa9STdLL6m9oTWPzmdg2gII2bBbc15m9RxAzICZHXT2sJgyS790KJRvA1tUaUkSZajQ==","signatures":[{"sig":"MEUCIQCTjogO47yQWVZgKZstIcPWr0+rZdEUvZd/NaF8M6/v/AIgHGc7+yqPB5YsToHXJMvgm7tdkpPBsSwe10uC9pUqNxI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27303},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"721a555b124f5436fd6b3d4a1297bf1593411796","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"andjhagen","email":"voidvalkon@gmail.com"},"_npmVersion":"11.9.0","description":"MCP server that converts images, audio and video files between formats using ffmpeg","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^3.24.0","ffmpeg-static":"^5.2.0","fluent-ffmpeg":"^2.1.3","ffprobe-static":"^3.1.0","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/fluent-ffmpeg":"^2.1.27"},"_npmOperationalInternal":{"tmp":"tmp/media-file-converter_1.0.0_1776535643929_0.014587453650749316","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@cynosure-mcp/media-file-converter","version":"1.0.1","keywords":["mcp","model-context-protocol","ffmpeg","media-converter","video","audio","image","ai"],"_id":"@cynosure-mcp/media-file-converter@1.0.1","maintainers":[{"name":"andjhagen","email":"voidvalkon@gmail.com"}],"bin":{"media-file-converter":"dist/index.js"},"dist":{"shasum":"1afb062164cf8027e9c6cbcfe9253d59a5559895","tarball":"https://registry.npmjs.org/@cynosure-mcp/media-file-converter/-/media-file-converter-1.0.1.tgz","fileCount":7,"integrity":"sha512-F7XYttL7AHlKFRKeIQwP1/6YS6l5QTCfiZ+vuTAxQ7CpKhEVcZ6uiH6lcadazBwDtHChAEgcn+5PgzYAvD7rbg==","signatures":[{"sig":"MEYCIQClXuWGTAzhPgXI436UCM+KM4L/htuNcNqw7/FjEZ1W7QIhAIwrxv31uZbtXbjewThBXHQcFCiqjIwf/+BxB8rqsBl1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":77031},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"763208c237e64e0aab6fc21c4f4b566a997f2c2c","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"andjhagen","email":"voidvalkon@gmail.com"},"_npmVersion":"11.9.0","description":"MCP server that converts images, audio and video files between formats using ffmpeg","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^3.24.0","ffmpeg-static":"^5.2.0","fluent-ffmpeg":"^2.1.3","ffprobe-static":"^3.1.0","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/fluent-ffmpeg":"^2.1.27"},"_npmOperationalInternal":{"tmp":"tmp/media-file-converter_1.0.1_1776625887307_0.03021529070515072","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@cynosure-mcp/media-file-converter","version":"1.0.2","keywords":["mcp","model-context-protocol","ffmpeg","media-converter","video","audio","image","ai"],"_id":"@cynosure-mcp/media-file-converter@1.0.2","maintainers":[{"name":"andjhagen","email":"voidvalkon@gmail.com"}],"bin":{"media-file-converter":"dist/index.js"},"dist":{"shasum":"7394f1bbcb01834d5c2a6b09f610ce97dc00baa9","tarball":"https://registry.npmjs.org/@cynosure-mcp/media-file-converter/-/media-file-converter-1.0.2.tgz","fileCount":7,"integrity":"sha512-w36U0tOyj6f7yhINZ+xFh4oGbv0o1LSBn1zpUkT+RyczauvZ7RMWbh37Df6xZzDuBFXB13NoSsp6xyg4ZHhkcA==","signatures":[{"sig":"MEQCIEodO65QDCrcPUTEgeutvuBfJTS8gDtfM0gBk5zPDE9bAiBC1wX13ue9mTC6WMeMSzr8qSujzkYz/45ivELvcvbNIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":77174},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"51c09d0a643b0cdc7835299a0e3414daa2dc6fc7","mcpName":"io.github.andreasjhagen/media-file-converter","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"andjhagen","email":"voidvalkon@gmail.com"},"_npmVersion":"11.9.0","description":"MCP server that converts images, audio and video files between formats using ffmpeg","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^3.24.0","ffmpeg-static":"^5.2.0","fluent-ffmpeg":"^2.1.3","ffprobe-static":"^3.1.0","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/fluent-ffmpeg":"^2.1.27"},"_npmOperationalInternal":{"tmp":"tmp/media-file-converter_1.0.2_1776884432375_0.05452548610018981","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@cynosure-mcp/media-file-converter","version":"1.0.3","keywords":["mcp","model-context-protocol","ffmpeg","media-converter","video","audio","image","ai"],"_id":"@cynosure-mcp/media-file-converter@1.0.3","maintainers":[{"name":"andjhagen","email":"voidvalkon@gmail.com"}],"bin":{"media-file-converter":"dist/index.js"},"dist":{"shasum":"0da7061df0ffb6843731806dcaaa0e4b1d06ec24","tarball":"https://registry.npmjs.org/@cynosure-mcp/media-file-converter/-/media-file-converter-1.0.3.tgz","fileCount":7,"integrity":"sha512-lL8fouZeysMFsbqkuRb1pBmDd65z4fKEFec9AtS/ReX9nI9CQ73VoSbOC9D45cfIWlDQQWURE+1lqGzXYJoQ6Q==","signatures":[{"sig":"MEUCIDfK+dMJ2tnGi7pWp9mXJAXcCa25FuaEdTtP9stLxSSAAiEA1oi+/aVwm3IYEIxLEtx0CAHUPFMeg7lgNfAtWcreSMM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":126888},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"800e76c3991ff7ef5a7177c8225d844e14c06865","mcpName":"io.github.andreasjhagen/media-file-converter","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"andjhagen","email":"voidvalkon@gmail.com"},"_npmVersion":"11.9.0","description":"MCP server that converts images, audio and video files between formats using ffmpeg","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^3.24.0","ffmpeg-static":"^5.2.0","fluent-ffmpeg":"^2.1.3","ffprobe-static":"^3.1.0","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/fluent-ffmpeg":"^2.1.27"},"_npmOperationalInternal":{"tmp":"tmp/media-file-converter_1.0.3_1778604773831_0.7147493799854987","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@cynosure-mcp/media-file-converter","version":"1.0.4","keywords":["mcp","model-context-protocol","ffmpeg","media-converter","video","audio","image","ai"],"_id":"@cynosure-mcp/media-file-converter@1.0.4","maintainers":[{"name":"andjhagen","email":"voidvalkon@gmail.com"}],"bin":{"media-file-converter":"dist/index.js"},"dist":{"shasum":"0fbe07050d3220135286c0f7264c640f873c5609","tarball":"https://registry.npmjs.org/@cynosure-mcp/media-file-converter/-/media-file-converter-1.0.4.tgz","fileCount":7,"integrity":"sha512-Vur5dacz4/bJAbTBTRqP5S1jWR0JzNLVArmnt8mhTABUJpzpo9y/bgOhE5C3LeP95StWPdA8t26H8slqJrfUSw==","signatures":[{"sig":"MEUCIQDjIspLu25G+vDxcACS/fsjXdgPQoBdy5eNcArqwNEr7QIgIAnCVU+uTgPbvbonWIlkKX1Zvg7IIBv1jBpRIh/4ikE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127452},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"a114eae53425d9d6ffe88b883a04b2ccabac7e7d","mcpName":"io.github.andreasjhagen/media-file-converter","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"andjhagen","email":"voidvalkon@gmail.com"},"_npmVersion":"10.9.2","description":"MCP server that converts images, audio and video files between formats using ffmpeg","directories":{},"_nodeVersion":"22.17.1","dependencies":{"zod":"^3.24.0","ffmpeg-static":"^5.2.0","fluent-ffmpeg":"^2.1.3","ffprobe-static":"^3.1.0","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/fluent-ffmpeg":"^2.1.27"},"_npmOperationalInternal":{"tmp":"tmp/media-file-converter_1.0.4_1786486077145_0.17869602137401208","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@cynosure-mcp/media-file-converter","version":"1.1.0","keywords":["mcp","model-context-protocol","ffmpeg","media-converter","video","audio","image","ai"],"_id":"@cynosure-mcp/media-file-converter@1.1.0","maintainers":[{"name":"andjhagen","email":"voidvalkon@gmail.com"}],"homepage":"https://github.com/Cynosure-MCP-Collection/mcp-media-file-converter#readme","bugs":{"url":"https://github.com/Cynosure-MCP-Collection/mcp-media-file-converter/issues"},"bin":{"media-file-converter":"dist/index.js"},"dist":{"shasum":"b7d23107ff83aa2490a464136a59439b49b70701","tarball":"https://registry.npmjs.org/@cynosure-mcp/media-file-converter/-/media-file-converter-1.1.0.tgz","fileCount":7,"integrity":"sha512-o3YxuzsyP66BU5od5UIEmelJ5yDIQg0w47cCiSHdeStPj2K2YlJ/7HETOCXTW+RYznr1EwFtopN3dLveVY2WKA==","signatures":[{"sig":"MEUCIBO9zAugHudIC4bxeHELWYm9d06nMouYpFcZo93pNp3EAiEAuEV+vVPjp/z05/ztFlCFeUgkLvQ6JaY9cf84IM6dSzs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":130505},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"36d55becae86105815b3f23524dc2a88312587d0","mcpName":"io.github.andreasjhagen/media-file-converter","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js","version":"node scripts/sync-version.mjs && git add server.json","release:check":"node scripts/sync-version.mjs --check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7e2722ed-de8c-4906-ae6d-1d80ebc2d31d"}},"repository":{"url":"git+https://github.com/Cynosure-MCP-Collection/mcp-media-file-converter.git","type":"git"},"_npmVersion":"11.19.0","description":"MCP server that converts images, audio and video files between formats using ffmpeg","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^3.24.0","ffmpeg-static":"^5.2.0","fluent-ffmpeg":"^2.1.3","ffprobe-static":"^3.1.0","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/fluent-ffmpeg":"^2.1.27"},"_npmOperationalInternal":{"tmp":"tmp/media-file-converter_1.1.0_1788774975116_0.5601652176217546","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"_id":"@cynosure-mcp/media-file-converter@1.1.1","bin":{"media-file-converter":"dist/index.js"},"bugs":{"url":"https://github.com/Cynosure-MCP-Collection/mcp-media-file-converter/issues"},"dist":{"shasum":"8d5c6afce49b4a3d99c755375b865ec82c46ccd4","tarball":"https://registry.npmjs.org/@cynosure-mcp/media-file-converter/-/media-file-converter-1.1.1.tgz","fileCount":7,"integrity":"sha512-/Y7ZNdmwyK+m99iTRzUOxhkS4wmLAipOpQfFg9Kq4hhpsoxRhEoWYdsiFgVA7HW0WGXROe2IP5MD7X1TyJXAWQ==","signatures":[{"sig":"MEYCIQDeIyax66ho9sdhAnO0llDFtPK214WrUdF57xks6YjGgwIhAL27diZMehJ/InAZCL4u3C3q7d5fY0jm5Nf2EPuZnC0i","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDj4adQHga1Gy3yXVMhNps3zEGR4hDh6+TSxipCg3HeTgIgHsrkVsuiXvEhFBB/7mkzGLFcj1gfCkV3fqlX+2YmOeA="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cynosure-mcp%2fmedia-file-converter@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":291518},"main":"dist/index.js","name":"@cynosure-mcp/media-file-converter","type":"module","types":"./dist/index.d.ts","gitHead":"a87d289da0357cc7884891f7c75d123a25b0d915","mcpName":"io.github.andreasjhagen/media-file-converter","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js","version":"node scripts/sync-version.mjs && git add server.json","release:check":"node scripts/sync-version.mjs --check"},"version":"1.1.1","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"7e2722ed-de8c-4906-ae6d-1d80ebc2d31d"}},"homepage":"https://github.com/Cynosure-MCP-Collection/mcp-media-file-converter#readme","keywords":["mcp","model-context-protocol","ffmpeg","media-converter","video","audio","image","ai"],"repository":{"url":"git+https://github.com/Cynosure-MCP-Collection/mcp-media-file-converter.git","type":"git"},"_npmVersion":"11.19.0","description":"MCP server that converts images, audio and video files between formats using ffmpeg","directories":{},"maintainers":[{"name":"andjhagen","email":"voidvalkon@gmail.com"}],"_nodeVersion":"24.21.0","dependencies":{"zod":"^3.24.0","ffmpeg-static":"^5.2.0","fluent-ffmpeg":"^2.1.3","ffprobe-static":"^3.1.0","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/fluent-ffmpeg":"^2.1.27"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/media-file-converter_1.1.1_1791041486075_0.3500348787380929"}}},"time":{"created":"2026-04-18T18:07:23.841Z","modified":"2026-10-03T15:31:26.606Z","1.0.0":"2026-04-18T18:07:24.072Z","1.0.1":"2026-04-19T19:11:27.437Z","1.0.2":"2026-04-22T19:00:32.531Z","1.0.3":"2026-05-12T16:52:54.028Z","1.0.4":"2026-08-11T22:07:57.333Z","1.1.0":"2026-09-07T09:56:15.274Z","1.1.1":"2026-10-03T15:31:26.233Z"},"bugs":{"url":"https://github.com/Cynosure-MCP-Collection/mcp-media-file-converter/issues"},"homepage":"https://github.com/Cynosure-MCP-Collection/mcp-media-file-converter#readme","keywords":["mcp","model-context-protocol","ffmpeg","media-converter","video","audio","image","ai"],"repository":{"url":"git+https://github.com/Cynosure-MCP-Collection/mcp-media-file-converter.git","type":"git"},"description":"MCP server that converts images, audio and video files between formats using ffmpeg","maintainers":[{"name":"andjhagen","email":"voidvalkon@gmail.com"}],"readme":"# @cynosure-mcp/media-file-converter\n\nMCP server for converting images, audio, and video files between formats using ffmpeg.\n\n## Installation\n\n```bash\nnpx @cynosure-mcp/media-file-converter\n```\n\nOr install globally:\n\n```bash\nnpm install -g @cynosure-mcp/media-file-converter\nmedia-file-converter\n```\n\n### Prerequisites\n\nNo system FFmpeg installation is required. The server uses its bundled [FFmpeg](https://ffmpeg.org/) binary.\n\n## Tools\n\n| Tool             | Description                                                                       |\n| ---------------- | --------------------------------------------------------------------------------- |\n| `convert_media`  | Convert a media file with optional quality, resolution, bitrate, and fps settings |\n| `get_media_info` | Probe a file and return metadata (codec, duration, resolution, etc.)              |\n| `extract_audio`  | Extract audio track from a video file                                             |\n| `run_ffmpeg`     | Run custom arguments with the bundled ffmpeg binary                              |\n\n### Custom FFmpeg Commands\n\nUse `run_ffmpeg` when the higher-level tools do not expose an FFmpeg option you need. Supply every argument after `ffmpeg` as a separate array item:\n\n```json\n{\n  \"arguments\": [\"-y\", \"-i\", \"/media/input.mp4\", \"-vf\", \"hflip\", \"/media/output.mp4\"],\n  \"working_directory\": \"/media\",\n  \"timeout_seconds\": 600\n}\n```\n\nThe bundled FFmpeg binary is invoked directly without a shell or interactive input. Relative paths are resolved from `working_directory` (or the MCP server's current directory), and overwrite flags such as `-y` must be supplied explicitly. The tool returns the exit code and captured stdout/stderr.\n\n### Supported Formats\n\n| Type  | Formats                                         |\n| ----- | ----------------------------------------------- |\n| Image | png, jpg, jpeg, webp, bmp, tiff, gif, ico, avif |\n| Audio | mp3, wav, ogg, flac, aac, m4a, wma, opus        |\n| Video | mp4, mkv, webm, avi, mov, flv, wmv, gif, ts     |\n\n## Configuration\n\nNo configuration required.\n\n## MCP Config\n\n```json\n{\n  \"mcpServers\": {\n    \"media-file-converter\": {\n      \"command\": \"npx\",\n      \"args\": [\"@cynosure-mcp/media-file-converter\"]\n    }\n  }\n}\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}