Skip to main content
Glama
getmasv

masv

Official
by getmasv

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.

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/

Related MCP server: img-src MCP Server

Installation

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

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:

{
  "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

  • list_files_on_storage_gateway - Browse files on 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.

Development

Install dependencies

npm install

Build

npm run build

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

Available Tools

20 tools
create_portalB

Create a new portal for collecting files from external users. Portals can be configured with access codes, download passwords, file type restrictions, custom branding, connected integrations, and more. Only 'name' and 'subdomain' are required - all other settings are optional.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPortal name
activeNoWhether portal is active and accepting uploads
expiryNoPortal expiry date (ISO 8601 format). This parameter is required when expiry_enabled: true
messageNoWelcome message displayed on portal
logo_urlNoURL of logo image for portal
subdomainYesPortal subdomain (3-53 characters)
file_typesNoAllowed/excluded file extensions prefixed with dots (e.g., ['.mp4', '.mov'])
recipientsNoEmail addresses that receive notifications for portal uploads
access_codeNoAccess code for portal (required if has_access_code is true)
access_listNoArray of membership IDs for users with direct access to private portal. Use get_team_members to retrieve membership IDs
access_levelNoPortal access level: 'regular' for public access, 'private' for restricted access
teamspace_idNoID of teamspace to associate portal with
cc_recipientsNoEmail addresses that receive carbon copy notifications without download link
max_file_sizeNoMaximum file size in bytes (0 for unlimited). Only works when package_size_restriction_enabled: true
primary_colorNoPrimary color for portal branding (hex color code)
background_urlNoURL of background image for portal
expiry_enabledNoWhether portal expiry is enabled. If set to true, need to also provide expiry parameter, e.g. expiry: '2027-01-01'
max_file_countNoMaximum number of files per upload (0 for unlimited). Only works when package_size_restriction_enabled: true
has_access_codeNoWhether portal requires an access code to upload (if true, you also need to specify access_code parameter)
max_package_sizeNoMaximum package size in bytes (0 for unlimited). Only works when package_size_restriction_enabled: true
terms_of_serviceNoTerms of service configuration (required when terms_of_service_enabled is true)
download_passwordNoDownload password (required if has_download_password is true)
custom_expiry_daysNoCustom expiry days for packages (-1 for unlimited)
package_name_formatNoCustom package naming format configuration (required when package_name_format_enabled is true)
has_download_passwordNoWhether portal packages require password to download (if true, you also need to specify download_password parameter)
disable_upload_receiptNoDisable email receipt to uploader
terms_of_service_enabledNoWhether terms of service acceptance is required to upload to the portal
package_name_format_enabledNoWhether custom package naming format is enabled
user_authentication_requiredNoWhether to restrict Portal upload to only team users with proper access. Users must authenticate to upload
file_type_restriction_enabledNoWhether file type restrictions are enabled
file_type_restriction_excludeNoWhether to exclude (true) or include (false) specified file types
package_size_restriction_enabledNoWhether package size restrictions are enabled. Set to true in order to set max_file_count, max_file_size or max_package_size
download_user_authentication_requiredNoWhether users must authenticate to download

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose behavioral traits such as what happens upon creation, response format, side effects, or limits. This is inadequate for a complex creation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single focused sentence that communicates purpose, capabilities, and requirements without any fluff. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (33 parameters, nested objects, no output schema), the description is too brief. It lacks return value information, error handling, integration context with sibling tools like get_team_members, and overall completeness for effective usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, so each parameter is already documented. The description adds value by highlighting that only 'name' and 'subdomain' are required, but does not provide deeper semantics beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Create a new portal for collecting files from external users,' specifying the action and resource. It distinguishes from sibling tools like update_portal, delete_portal, and get_portal.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly provide when-to-use or when-not-to-use guidance. It mentions required vs optional parameters but lacks context on prerequisites or comparison with alternatives, earning a mid-range score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_packageA

Delete a package by ID. This permanently removes the package and all its files and cannot be undone. Requires MASV_ALLOW_DELETE=true environment variable to be set.

ParametersJSON Schema
NameRequiredDescriptionDefault
packageIdYesId of the package to delete

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

In the absence of annotations, the description adequately discloses the destructive nature, permanence, and environment variable requirement.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences that are front-loaded and concise, with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple deletion tool with one parameter and no output schema, the description is fully sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already covers the single parameter with a description; the description adds little beyond confirming it uses an ID.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (delete) and the resource (package by ID), and distinguishes it from sibling tools like get_package or update_package.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It mentions a prerequisite (MASV_ALLOW_DELETE=true) but does not explicitly state when to use or avoid this tool versus alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_portalA

Delete a portal by ID. This permanently removes the portal and cannot be undone. Packages that were uploaded to this portal will remain accessible. Requires MASV_ALLOW_DELETE=true environment variable to be set.

ParametersJSON Schema
NameRequiredDescriptionDefault
portalIdYesId of the portal to delete

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Given no annotations, the description fully discloses destructive behavior: permanent removal, irreversibility, and fate of packages (remain accessible). Also mentions the required environment variable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each with a distinct purpose: action, consequence, requirement. No wasted words, front-loaded with the main purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple delete tool with one parameter and no output schema, the description covers purpose, side effects, requirements, and irreversibility sufficiently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter (portalId) is already described in the input schema with basic info. The tool description adds no further meaning beyond what the schema provides, so baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Delete a portal by ID', specifying the verb (delete) and resource (portal), and the tool is distinct from siblings like create_portal or update_portal.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains that deletion is permanent and cannot be undone, indicating when to use it. It also notes a prerequisite (MASV_ALLOW_DELETE=true), but does not compare to alternatives or explicitly state when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_activitiesC

Get activities. Activities are records of events that happened with MASV resources like packages, links and transfers. Each activity has assosiated events and can be in one of several states: pending, started, complete, cancelled, error. Full list of activity types: package_upload_to_masv (package upload from user or connected storage integration to MASV), package_download_from_masv (user downloads package), link_generation (new download link is added to the package), package_transfer_masv_to_cloud (package transfer from MASV to connected storage integration)

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number of paginated response. First page is 1
sortNoSort results ascending (fieldname) or descending (-fieldname)
limitNoNumber of records returned per page
portalsNoRetrieve records that belong to any of the specified portal IDs
package_idNoRetrieve records that belongs to the specified package ID
teamspacesNoRetrieve records where teamspace id is equal to one of these values
activity_typesNoRetrieve records that has any of the specified activity types. Activities: package_upload_to_masv - package upload from user or connected storage integration to MASV, package_download_from_masv - user downloading package from MASV, link_generation - adding new download link for the package, package_transfer_masv_to_cloud - package transfer to connected storage integration
created_at_endNoRetrieve records that were created before (YYYY-MM-DDTHH:mm:SS)
activity_statesNoRetrieve records that has any of the specified activity states
created_at_startNoRetrieve records that were created after (YYYY-MM-DDTHH:mm:SS)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry behavioral disclosure. It does not state that the tool is read-only, nor does it describe pagination behavior, rate limits, or any side effects. The description focuses on semantics (what is an activity) rather than operational behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single paragraph that efficiently conveys core concepts (activity definition, states, types). It is front-loaded with the verb and resource. While it could be slightly more concise (e.g., avoiding repetition of type descriptions also in schema), it remains readable and informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Without an output schema, the description should explain the return format, but it does not. It fails to mention pagination, field structure, or how to interpret results. For a tool with 10 parameters (all optional), the lack of behavioral context and output explanation makes it incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema covers 100% of parameters with descriptions. The tool's description adds context by explaining the meaning of activity_types and states (e.g., 'package_upload_to_masv - package upload from user...'), but this largely paraphrases the schema. No new parameter semantics beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves activity records and explains what activities are (events related to MASV resources). It lists activity types and states, providing a clear purpose. However, it does not explicitly distinguish this tool from siblings like get_activities_information or get_activity_events, which may cause confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention when not to use it or suggest other tools for specific sub-tasks, leaving the agent without clear decision-making criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_activities_informationA

Get detailed information about all existing activities and their accurate states description. Always use this tool provide users with detailed explanation about activities and their states.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description only indicates that the tool retrieves information. It implies read-only behavior but does not explicitly state safety or other behavioral traits like rate limits or required permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long and to the point. However, the second sentence has a grammatical flaw ('Always use this tool provide'). It is otherwise efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no parameters and no output schema, the description provides a basic understanding of its purpose. However, it lacks details on what specific information is returned and does not clarify how it differs from similar sibling tools like 'get_activities'.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters, so baseline is 4. The description adds context that the tool returns all activities with accurate states, which is useful beyond the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool retrieves detailed information about all activities and their states. However, it does not differentiate from the sibling tools 'get_activities' and 'get_activity_events', which could cause confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description advises to 'always use this tool' for detailed explanations about activities, providing some usage guidance. However, it does not mention when not to use it or any alternatives among the sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_activity_eventsA

Get history of events for given activity. Activity gets event record every time it transitions to a new state. It is very useful to get events history to get more information about activity because it can transition states several times and activity only keeps track of its current state.

ParametersJSON Schema
NameRequiredDescriptionDefault
activityIdYesId of the activity to retrieve events for

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions that the tool retrieves event history and that activities only track current state, but does not disclose side effects, auth requirements, or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with three sentences, front-loading the purpose. However, it could be slightly restructured for clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema, no annotations), the description adequately covers the purpose and rationale, though it lacks details on return format or constraints.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description does not add meaning beyond what the schema already provides for the activityId parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get history of events for given activity' with a specific verb and resource, and explains why it is useful (transitions between states). It distinguishes from siblings like get_activities which retrieves activities themselves.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when you need more information beyond the current state, but does not explicitly state when to use this tool vs alternatives or exclude certain scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_integrationsA

Get list of connected integrations. Integration could be cloud or on-prem system like AWS S3, Frame.io, Dropbox, MASV Storage Gateway and many others

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must convey behavior. It only states 'get list' without mentioning what data is returned (e.g., IDs, types), authentication needs, or any limitations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One concise sentence that conveys the main purpose. Could be slightly more structured but is efficient with no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, description should hint at response fields. It fails to mention what information the list contains (e.g., names, IDs), leaving the response somewhat ambiguous.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has zero parameters, so the description does not need to explain parameters. Baseline 4 applies, and the description does not add unnecessary info.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Get list of connected integrations' with specific examples of integrations like AWS S3, Frame.io, etc., differentiating from sibling tools that perform actions on integrations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-not or alternatives to siblings are given. Usage is implied as a simple listing tool, but no guidance on distinguishing from related tools like list_files_on_integration.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_packageB

Get package by id

ParametersJSON Schema
NameRequiredDescriptionDefault
packageIdYesId of the package to retrieve

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose any behavioral traits beyond the basic retrieval. There is no mention of what happens if the package ID is invalid, auth requirements, or any side effects. The description is too minimal for a getter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, using only the necessary words to convey the action. No superfluous information is present.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (single required parameter, no output schema), the description is mostly complete. However, it could mention the return value format or error conditions to be fully self-contained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage with the 'packageId' parameter described as 'Id of the package to retrieve'. The description adds no additional meaning beyond the schema, meeting the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Get package by id', indicating the verb and resource. However, it does not differentiate from sibling tools like 'get_packages' which retrieves multiple packages. The purpose is clear but lacks distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. With siblings like 'get_packages' and 'get_package_files', the description should mention that this is for retrieving a single package by ID, leaving no room for confusion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_package_filesB

Get list of package files

ParametersJSON Schema
NameRequiredDescriptionDefault
packageIdYesId of the package to retrieve files for

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full responsibility. It does not disclose behavioral traits such as whether the list is complete or paginated, nor any side effects or permissions needed. This is a significant gap for a data retrieval tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no wasted words. However, it lacks structure and could be expanded slightly without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given only one parameter, no output schema, and no annotations, the description is minimal. It does not explain the return format, pagination, error conditions, or usage context, making it incomplete for an agent to use confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (one parameter with a clear description). The tool description adds no additional meaning beyond what's in the schema, meeting the baseline for high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get list of package files' clearly states the action (Get list) and resource (package files). It distinguishes from sibling tools like 'get_package' (gets package details) and 'list_files_on_integration' (lists files on integration).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. The description implies usage for retrieving files of a package, but does not provide context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_packagesA

Get team packages. These are packages sent by MASV team users directly to MASV. It does not include packages sent to Portals. To get full list of packages you need to get both team packages and portal packages

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoFilter packages by name
pageNoPage number of paginated response. First page is 1
sortNoSort results ascending (fieldname) or descending (-fieldname)
tagsNoFilter packages by tag id. If any of provided tag ids match package will be returned
limitNoNumber of records returned per page
senderNoFilter packages by sender email
statusNoSelect packages with status. New - package is currently uploading and not ready for view/download yet, finalized - package was uploaded and is ready for download, view, or transfer to another storage destination, expired and archived means that package was deleted and files are not available anymore
expiry_endNoRetrieve records that expire before (YYYY-MM-DDTHH:mm:SS)
teamspacesNoRetrieve records where teamspace id is equal to one of these values
expiry_startNoRetrieve records that expire after (YYYY-MM-DDTHH:mm:SS)
extra_storageNoIf true, will only include packages which will or have already incurred extended storage costs
created_at_endNoRetrieve records that were created before (YYYY-MM-DDTHH:mm:SS)
created_at_startNoRetrieve records that were created after (YYYY-MM-DDTHH:mm:SS)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses that the tool excludes portal packages, which is a key behavioral trait. However, it does not mention pagination behavior, rate limits, or authentication requirements, though the name implies a read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core purpose. Every sentence adds value with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 13 parameters and no output schema, the description is minimal. It explains the scope and the need to combine with portal packages, but does not provide any hints on return format, error cases, or pagination behavior. Schema covers filters well, but overall context is just adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description does not add any additional parameter semantics beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool gets 'team packages' and defines them as packages sent by MASV team users directly to MASV. It distinguishes from portal packages, which are listed as a sibling tool (get_portal_packages).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly tells the agent when to use this tool vs alternatives: 'To get full list of packages you need to get both team packages and portal packages', indicating that get_packages alone is insufficient and must be combined with the sibling tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_package_transfersA

Get all transfers of a package to storage. Transfer is a package delivery via MASV to cloud or on-premise (via MASV Storage Gateway) destination

ParametersJSON Schema
NameRequiredDescriptionDefault
packageIdYesId of the package to retrieve transfers for. Transfer is a package delivery via MASV to cloud or on-premise (via MASV Storage Gateway) destination

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description explains the concept of a transfer but does not disclose behavioral traits such as idempotency, result ordering, pagination, or any side effects. It minimally conveys read-only intent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one sentence that front-loads the action and includes a concise definition. Every word contributes value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter tool with no output schema, the description adequately defines the purpose and resource. However, it lacks usage guidance and behavioral details, leaving minor gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a single parameter packageId whose description repeats the tool's description. The tool description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (Get) and resource (transfers of a package) and defines what a transfer is (MASV delivery to cloud or on-premise destination). This distinguishes it from siblings like get_package_files or get_activities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, nor does it mention prerequisites, limitations, or exclusions. It lacks explicit usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_portalA

Get a specific portal by ID. Returns detailed information about the portal including its configuration, recipients, connected integrations, and settings.

ParametersJSON Schema
NameRequiredDescriptionDefault
portalIdYesId of the portal to retrieve

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description carries full burden. It describes return content but does not explicitly state that this is a read-only operation with no side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: the first states the action, the second lists return contents. No unnecessary words; efficient and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple get-by-ID operation with one parameter and no output schema, the description covers the key return fields adequately, though it omits error handling or data format details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The sole parameter 'portalId' is fully described in the schema (100% coverage), and the description adds no additional meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get a specific portal by ID' and lists what information is returned, effectively distinguishing it from sibling tools like get_portals or update_portal.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context for retrieving a single portal's details, but it does not explicitly contrast with siblings or state when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_portal_packagesA

Get portal packages. These are packages uploaded by anyone to MASV Portals. Only packages that were uploaded to Portals returned by this tool. To get full list of packages you need to get both team packages and portal packages.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoFilter packages by name
pageNoPage number of paginated response. First page is 1
sortNoSort results ascending (fieldname) or descending (-fieldname)
tagsNoFilter packages by tag id. If any of provided tag ids match package will be returned
limitNoNumber of records returned per page
portalNoRetrieve records that belongs to the specified portal name
senderNoFilter packages by sender email
statusNoSelect packages with status. New - package is currently uploading and not ready for view/download yet, finalized - package was uploaded and is ready for download, view, or transfer to another storage destination, expired and archived means that package was deleted and files are not available anymore
expiry_endNoRetrieve records that expire before (YYYY-MM-DDTHH:mm:SS)
teamspacesNoRetrieve records where teamspace id is equal to one of these values
expiry_startNoRetrieve records that expire after (YYYY-MM-DDTHH:mm:SS)
extra_storageNoIf true, will only include packages which will or have already incurred extended storage costs
created_at_endNoRetrieve records that were created before (YYYY-MM-DDTHH:mm:SS)
created_at_startNoRetrieve records that were created after (YYYY-MM-DDTHH:mm:SS)

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description is basic and does not disclose behavioral traits beyond the fact that it returns portal-specific packages. Since no annotations are present, more detail (e.g., pagination, rate limits, side effects) would be expected. The current description is minimal but not misleading.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, consisting of three short sentences with no unnecessary words. It efficiently conveys the tool's purpose and relationship to sibling tools.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the 14-parameter schema and no output schema, the description is somewhat sparse. It does not mention pagination, response structure, or default behavior. For a list tool, additional context about returned fields or pagination would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the schema already documents all 14 parameters clearly. The description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves portal packages (packages uploaded to MASV Portals) and distinguishes it from team packages by explicitly noting that to get the full list, both must be fetched.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance: use this tool for portal packages, and mentions that get_packages is needed for team packages to get the complete list. This directly addresses when to use this tool versus its sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_portalsA

Get list of portals that belong to the team. Portals are used to collect files from external users. Each portal has a unique subdomain and can be configured with various settings like upload and download password, file type restrictions, connected integrations, metadata forms, etc.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoFilter portals by name
pageNoPage number of paginated response. First page is 1
sortNoSort results by field. Use field name for ascending order or prefix with '-' for descending (e.g., 'name' or '-created_at')
tagsNoFilter portals by tag id. If any of provided tag ids match portal will be returned
limitNoNumber of records returned per page
subdomainNoFilter portals by subdomain
teamspacesNoRetrieve records where teamspace id is equal to one of these values

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description bears full responsibility for behavioral transparency. It states the tool returns a list but does not disclose whether it is read-only, requires authentication, has rate limits, or if results are paginated (though page/limit parameters suggest pagination). No side effects or limitations are described.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, both front-loaded. The first sentence states the primary purpose, and the second adds relevant context about portals. No redundant or extraneous words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 7 optional parameters and no output schema, the description gives reasonable context but lacks explicit mention of pagination behavior or typical response structure. It covers the tool's function and portal concept adequately but could be slightly more informative.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds context about what portals are (e.g., 'used to collect files from external users') but does not provide additional meaning to individual parameters beyond what the schema already supplies. Parameter descriptions in schema are clear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('get list') and resource ('portals'). It distinguishes from the sibling 'get_portal' (singular) by indicating this returns a list. Additional context about portals (collect files, subdomain, settings) reinforces the tool's purpose without confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage (when you need a list of portals) but provides no explicit guidance on when to use this tool versus alternatives like 'get_portal' (singular) or 'create_portal'. No exclusions or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_team_membersA

Get list of all team members. Returns member details including id (membership_id), email, name, policy, approval status, and teamspaces. Use this to get membership IDs needed for portal access_list when creating private portals.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It discloses the tool is a read-only list operation that returns specific fields. It does not address auth, rate limits, or data freshness, but for a simple list tool this is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first states purpose and return fields, second gives usage guidance. No wasted words, front-loaded with essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters, no output schema, and no annotations, the description is complete. It covers the action, return fields, and a practical use case, leaving no significant gaps for a simple list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters, and schema description coverage is 100% trivially. Per guidelines, zero parameters yields a baseline of 4. The description adds no param info, which is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get list of all team members', specifying the verb and resource. It lists return fields and a specific use case, distinguishing it from sibling tools which involve portals and packages.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit context: 'Use this to get membership IDs needed for portal access_list when creating private portals.' It indicates when to use, but does not exclude alternatives or mention when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_files_on_integrationA

List files on any integration (cloud or MASV Storage Gateway). Supports pagination — if more results are available, a cursor is returned; pass it back in the next call to get the next page.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoDirectory path/prefix to list files from
cursorNoPagination cursor returned from a previous call. Pass this to retrieve the next page of results.
integrationIdYesID of the cloud or storage gateway integration

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must convey behavioral traits. It mentions pagination (cursor usage) but omits other traits like read-only nature or rate limits. Adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first states purpose, second explains pagination. No wasted words, front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so description should specify return format. It explains pagination but does not describe the list contents (e.g., file names, metadata). Adequate for a simple pagination tool but could be more complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds minimal extra meaning beyond the schema: it confirms integration types but repeats schema descriptions for integrationId and cursor.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'list files' on a specific resource 'any integration (cloud or MASV Storage Gateway)', distinguishing it from sibling tools like get_package_files that list files in a package.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use the tool (to list files on integrations) and provides pagination guidance, but does not explicitly exclude cases or compare with alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send_package_to_integrationB

Send MASV package to connected integration. Integration could be cloud or on-prem system like AWS S3, Frame.io, Dropbox, MASV Storage Gateway and many others

ParametersJSON Schema
NameRequiredDescriptionDefault
packageIdYesId of the package that will be transferred to connected integration
integrationIdYesId of the integration to transfer package to. Integration should have direction: masv_to_cloud.

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full behavioral burden. It does not disclose whether the operation is synchronous, what happens to the source package, or any side effects. Only a high-level action is described.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise at two sentences, front-loading the core action. It is efficient but could be slightly more structured to include key constraints or examples.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of output schema, annotations, and the range of possible integrations, the description provides adequate context but misses behavioral details like error conditions or whether the package is moved or copied.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, so the schema already documents both parameters meaningfully. The description adds no additional semantic value beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Send' and the resource 'MASV package to connected integration', and distinguishes it from sibling tools like get_package or transfer_files_from_integration by specifying the direction and examples of integrations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool versus alternatives such as transfer_files_from_integration or get_integrations. It implies usage for sending packages to integrations but lacks guidance on prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

transfer_files_from_integrationA

Transfer files from a cloud integration (AWS S3, Azure, Dropbox, etc.) or MASV Storage Gateway to MASV. Creates a new package and initiates the transfer. Use list_files_on_integration first to get file information including IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault
filesYesArray of files/directories to transfer from the integration
recipientsNoEmail addresses to send package to
accessLimitNoDownload access limit (default: 5)
notifyEmailNoEmail to notify on transfer completion
packageNameYesName for the new package
integrationIdYesID of the cloud or storage gateway integration
packageDescriptionNoDescription for the package

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavior. It states that the tool 'creates a new package' and 'initiates the transfer', indicating a write operation and implying asynchronous initiation. However, it does not detail side effects (e.g., whether source files are deleted), idempotency, or how to monitor completion. This is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of two succinct sentences. The first states the core purpose, and the second provides a critical usage tip. No unnecessary words or redundancy; every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (7 parameters, no output schema), the description covers the essential: what the tool does, prerequisite steps, and that it creates a package. It could mention how to check transfer status (e.g., using 'get_package_transfers'), but the information provided is sufficient for most use cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 100% of parameters with descriptions, so the baseline is 3. The description adds value by explaining that file IDs come from 'list_files_on_integration', aiding parameter selection. No additional semantic detail beyond the schema is provided for other parameters, keeping the score at baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Transfer files'), the source (cloud integration or Storage Gateway), and the destination (MASV). It also mentions creating a new package and initiating the transfer, which distinguishes it clearly from siblings like 'send_package_to_integration' (which does the reverse).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly advises using 'list_files_on_integration' first to obtain file IDs, providing clear prerequisite guidance. It does not explicitly mention when not to use the tool or list alternatives, but the context of siblings (e.g., 'send_package_to_integration') implies the direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_package_expiration_date_and_timeA

Update package expiration date and time. Also allows enable or disable unlimited storage. Additional package storage may incur charges, depending on your team subscription plan. Once expired the package and all of its files are deleted and can not be restored.

ParametersJSON Schema
NameRequiredDescriptionDefault
expiryNoThe date and time on which the package will expire in UTC (ISO 8601 format). When setting expiry unlimited_storage parameter should be false
packageIdYesId of the package to update expiry date for
unlimited_storageYesSpecifies if unlimited storage is enabled or disabled for a package. If disabling unlimited storage expiry parameter must be set

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses that expired packages and files are deleted permanently, which is critical behavioral information. It does not cover authorization, rate limits, or other side effects. With no annotations, it partially fulfills transparency but leaves some gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with three sentences, front-loading the main purpose. Each sentence adds essential information (action, storage toggle, consequences), with no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the main action, parameter relationships, and the critical consequence. However, it lacks information on return values (no output schema), usage guidelines, and prerequisites, making it partially complete for the tool's moderate complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage. The description adds value by clarifying that unlimited_storage enables/disables storage and stating the constraint that expiry requires unlimited_storage to be false, going beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it updates expiration date/time and toggles unlimited storage, using a specific verb and resource. It distinguishes from sibling tools like delete_package or get_package by specifying the update action on expiration and storage settings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context about charges and permanent data loss on expiration, helping the agent understand impact. However, it does not explicitly state when to use this tool versus other package-related tools, nor does it mention alternatives or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_portalA

Update an existing portal's configuration. Use this to modify portal settings like access controls, branding, file restrictions, and more.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPortal name
activeNoWhether portal is active and accepting uploads
expiryNoPortal expiry date (ISO 8601 format). This parameter is required when expiry_enabled: true
messageNoWelcome message displayed on portal
logo_urlNoURL of logo image for portal
portalIdYesID of the portal to update
subdomainYesPortal subdomain (3-53 characters)
file_typesNoAllowed/excluded file extensions prefixed with dots (e.g., ['.mp4', '.mov'])
recipientsNoEmail addresses that receive notifications for portal uploads
access_codeNoAccess code for portal (required if has_access_code is true)
access_listNoArray of membership IDs for users with direct access to private portal. Use get_team_members to retrieve membership IDs
access_levelNoPortal access level: 'regular' for public access, 'private' for restricted access
teamspace_idNoID of teamspace to associate portal with
cc_recipientsNoEmail addresses that receive carbon copy notifications without download link
max_file_sizeNoMaximum file size in bytes (0 for unlimited). Only works when package_size_restriction_enabled: true.
primary_colorNoPrimary color for portal branding (hex color code)
background_urlNoURL of background image for portal
expiry_enabledNoWhether portal expiry is enabled. If set to true, need to also provide expiry parameter, e.g. expiry: '2027-01-01'.
max_file_countNoMaximum number of files per upload (0 for unlimited). Only works when package_size_restriction_enabled: true.
has_access_codeNoWhether portal requires an access code to upload (if true, you also need to specify access_code parameter)
max_package_sizeNoMaximum package size in bytes (0 for unlimited). Only works when package_size_restriction_enabled: true.
terms_of_serviceNoTerms of service configuration (required when terms_of_service_enabled is true)
download_passwordNoDownload password (required if has_download_password is true)
custom_expiry_daysNoCustom expiry days for packages (-1 for unlimited)
package_name_formatNoCustom package naming format configuration (required when package_name_format_enabled is true)
has_download_passwordNoWhether portal packages require password to download (if true, you also need to specify download_password parameter)
disable_upload_receiptNoDisable email receipt to uploader
terms_of_service_enabledNoWhether terms of service acceptance is required
package_name_format_enabledNoWhether custom package naming format is enabled
user_authentication_requiredNoWhether to restrict Portal upload to only team users with proper access. Users must authenticate to upload
file_type_restriction_enabledNoWhether file type restrictions are enabled
file_type_restriction_excludeNoWhether to exclude (true) or include (false) specified file types
package_size_restriction_enabledNoWhether package size restrictions are enabled. Set to true in order to set max_file_count, max_file_size or max_package_size
download_user_authentication_requiredNoWhether users must authenticate to download

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully convey behavioral traits. It only states 'Update' (mutation), but lacks details on required permissions, side effects, idempotency, error behavior, or potential data loss. With 34 parameters, the description offers no guidance on how updates interact with existing settings.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that efficiently states the main use. It earns its place without redundancy. However, it could be structured into bullet points for better readability given the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having 34 parameters, no output schema, and no annotations, the description is too minimal. It does not explain return values (e.g., the updated portal object), how to verify success, or common constraints (e.g., partial updates). For such a complex tool, the description is insufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% parameter description coverage, so the schema already explains each parameter. The description adds conceptual grouping ('like access controls, branding, file restrictions') but does not provide deeper semantics beyond what the schema offers. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Update an existing portal's configuration') and the resource ('portal settings'), distinguishing it from creation (create_portal) and deletion (delete_portal) tools. It lists specific settings like access controls, branding, and file restrictions, which precisely conveys the tool's purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this tool is for modifying an existing portal, but it does not explicitly state when not to use it or suggest alternatives like create_portal for new portals or delete_portal for removal. However, given the sibling context, the intent is reasonably clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.6/5.0
Disambiguation4/5

Tools are grouped by resource (portals, packages, activities, integrations, team) with clear actions. Minor overlap between get_activities and get_activities_information could cause confusion, but descriptions differentiate them.

Naming Consistency5/5

All tools use a consistent verb_noun pattern with underscores (e.g., create_portal, get_packages, transfer_files_from_integration). No mix of styles.

Tool Count4/5

20 tools for a file transfer service is slightly above average but covers multiple resource types (portals, packages, activities, integrations, team). Each tool serves a clear purpose, and the count is reasonable for the domain.

Completeness3/5

Core workflows for portals and transfers are covered, but there is no explicit create_package tool (packages are created implicitly via transfers or portals). Missing update package operations beyond expiration, and no tool to manage package files or downloads directly. Notable gaps reduce completeness.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/getmasv/masv-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server