
Connects Claude to the MASV API for managing large file transfers without size limits. You get tools to list and manage packages, create and configure portals for file uploads, browse transfer history and activity logs, and push files to connected cloud storage or on-prem gateways. The server includes safety guards like requiring an explicit environment flag before allowing deletions. Useful when you're coordinating media workflows or large data transfers and want Claude to check transfer status, update package expirations, or route files between MASV and your storage integrations. Requires a MASV team ID and API key to authenticate.
⚠️ Experimental Server: This is an experimental MCP server created to gauge interest and integration potential. It has not been subject to our rigorous internal verification processes. Further support and updates will be provided on a best effort basis. We want to hear from you ! If you have any questions or issues, please contact us at support@masv.io.
An MCP (Model Context Protocol) server that provides LLMs with tools to interact with the MASV API.
MASV is an easy-to-use and ultra-reliable managed file transfer service designed for teams of all sizes. It allows users to send and receive massive files without size limits, while ensuring data integrity and security through its robust cloud infrastructure that supports cloud, on-prem, and hybrid workflows.
Learn more https://masv.io/
Node.js 24 or newer. The published package is plain JavaScript compiled to ES2024, so no transpilation or polyfills are needed. Node 24 is the version the project is built and tested against, and the one the test suite requires — it imports the TypeScript sources directly using Node's built-in type stripping.
The server can be run directly with npx without installation, or installed globally if preferred:
# Run directly with npx (recommended)
npx @getmasv/masv-mcp-server
# Or install globally
npm install -g @getmasv/masv-mcp-server
The server requires the following environment variables to authenticate with the MASV API:
MASV_TEAM_ID - Your MASV team identifierMASV_API_KEY - Your MASV API authentication keyMASV_ALLOW_DELETE - Set to true to allow LLM use package and portal deletion tools (default: false)Add the server to your MCP client configuration file:
{
"mcpServers": {
"masv": {
"command": "npx",
"args": ["-y", "@getmasv/masv-mcp-server"],
"env": {
"MASV_TEAM_ID": "your-team-id",
"MASV_API_KEY": "your-api-key"
}
}
}
}
Note: The -y flag automatically confirms the package execution without prompting.
The server provides the following tools for LLM interaction:
get_packages - List team packagesget_package - Get package details by IDget_portal_packages - List packages uploaded to portalsget_package_files - List files in a packageget_package_transfers - Get package transfer historyupdate_package_expiration_date_and_time - Modify package expirationdelete_package - Delete a package (requires MASV_ALLOW_DELETE=true)get_portals - List all portalsget_portal - Get portal details by IDcreate_portal - Create a new portalupdate_portal - Update portal configurationdelete_portal - Delete a portal (requires MASV_ALLOW_DELETE=true)get_activities - List activities and eventsget_activity_events - Get event history for an activityget_activities_information - Get detailed activity state descriptionsget_integrations - List connected storage integrationssend_package_to_integration - Transfer package to connected storagelist_files_on_integration - Browse files on cloud integrations and MASV Storage Gatewaytransfer_files_from_integration - Transfer files from storage to MASV (works with both cloud and MASV Storage Gateway)get_team_members - List team members and their detailsMIT
For questions, issues, or feedback please contact us at support@masv.io.
npm install
npm run build
npm run format
Prettier with a 100 column width. CI runs npm run format:check and fails on unformatted files.
npm test
npm run test:coverage
Runs the offline suite with Node's built-in test runner. It needs no MASV credentials and makes no network calls, so it runs on every pull request, and it needs no build step because Node runs the TypeScript sources directly.
Relative imports inside src/ are written with .ts extensions so that Node can run
the sources directly; tsc rewrites them to .js on emit. Keep new imports in that
form, and note that Node's type stripping rules out TypeScript enum, namespace, and
constructor parameter properties.
In LLM chat application add command to start the server:
node /path/to/masv-mcp-server/build/index.js
To run MCP inspector to inspect and execute tools
npm run inspector
MASV_TEAM_ID*Your MASV team identifier
MASV_API_KEY*secretYour MASV API key for authentication
MASV_ALLOW_DELETESet to true to enable delete operations for packages and portals