# MASV MCP Server > **⚠️ 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](mailto:support@masv.io). An MCP (Model Context Protocol) server that provides LLMs with tools to interact with the MASV API. ## What is MASV? 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/ ## Requirements **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. ## Installation The server can be run directly with `npx` without installation, or installed globally if preferred: ```bash # Run directly with npx (recommended) npx @getmasv/masv-mcp-server # Or install globally npm install -g @getmasv/masv-mcp-server ``` ## Configuration ### Required Environment Variables The server requires the following environment variables to authenticate with the MASV API: - `MASV_TEAM_ID` - Your MASV team identifier - `MASV_API_KEY` - Your MASV API authentication key ### Optional Environment Variables - `MASV_ALLOW_DELETE` - Set to `true` to allow LLM use package and portal deletion tools (default: `false`) ### MCP Client Configuration Add the server to your MCP client configuration file: ```json { "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. ## Available Tools The server provides the following tools for LLM interaction: ### Package Management - `get_packages` - List team packages - `get_package` - Get package details by ID - `get_portal_packages` - List packages uploaded to portals - `get_package_files` - List files in a package - `get_package_transfers` - Get package transfer history - `update_package_expiration_date_and_time` - Modify package expiration - `delete_package` - Delete a package (requires `MASV_ALLOW_DELETE=true`) ### Portal Management - `get_portals` - List all portals - `get_portal` - Get portal details by ID - `create_portal` - Create a new portal - `update_portal` - Update portal configuration - `delete_portal` - Delete a portal (requires `MASV_ALLOW_DELETE=true`) ### Activity Tracking - `get_activities` - List activities and events - `get_activity_events` - Get event history for an activity - `get_activities_information` - Get detailed activity state descriptions ### Integration Management - `get_integrations` - List connected storage integrations - `send_package_to_integration` - Transfer package to connected storage - `list_files_on_integration` - Browse files on cloud integrations and MASV Storage Gateway - `transfer_files_from_integration` - Transfer files from storage to MASV (works with both cloud and MASV Storage Gateway) ### Team Management - `get_team_members` - List team members and their details ## License MIT ## Support For questions, issues, or feedback please contact us at [support@masv.io](mailto:support@masv.io). ## Development ### Install dependencies ``` npm install ``` ### Build ``` npm run build ``` ### Format ``` npm run format ``` Prettier with a 100 column width. CI runs `npm run format:check` and fails on unformatted files. ### Test ``` 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. ### Use MCP server 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 ```