Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BOX_CLIENT_ID | No | Your Box API client ID | |
| BOX_SUBJECT_ID | No | Your user ID or enterprise ID for CCG authentication | |
| BOX_REDIRECT_URL | No | Redirect URL for OAuth authentication | http://localhost:8000/callback |
| BOX_SUBJECT_TYPE | No | Subject type for CCG authentication (user or enterprise) | |
| BOX_CLIENT_SECRET | No | Your Box API client secret |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| box_who_am_i | Get the current user's information. This is also useful to check the connection status. return: dict: The current user's information. |
| box_authorize_app_tool | Authorize the Box application. Start the Box app authorization process return: str: Message |
| box_search_tool | Search for files in Box with the given query. Args: query (str): The query to search for. file_extensions (List[str]): The file extensions to search for, for example *.pdf content_types (List[SearchForContentContentTypes]): where to look for the information, possible values are: NAME DESCRIPTION, FILE_CONTENT, COMMENTS, TAG, ancestor_folder_ids (List[str]): The ancestor folder IDs to search in. return: List[dict]: The search results. |
| box_search_folder_by_name_tool | Locate a folder in Box by its name. Args: folder_name (str): The name of the folder to locate. return: List[dict]: The folder ID. |
| box_ai_ask_file_single_tool | Ask a question about a file using AI. Args: ctx (Context): The context object containing the request and lifespan context. file_id (str): The ID of the file to ask about, example: "1234567890". prompt (str): The question to ask. ai_agent_id (Optional[str]): The ID of the AI agent to use for the question. If None, the default AI agent will be used. Returns: dict: The AI response containing the answer to the question. |
| box_ai_ask_file_multi_tool | Ask a question about multiple files using AI. Args: ctx (Context): The context object containing the request and lifespan context. file_ids (List[str]): A list of file IDs to ask about, example: ["1234567890", "0987654321"]. prompt (str): The question to ask. ai_agent_id (Optional[str]): The ID of the AI agent to use for the question. If None, the default AI agent will be used. Returns: dict: The AI response containing the answers to the questions for each file. |
| box_ai_ask_hub_tool | Ask a question about a hub using AI. Args: ctx (Context): The context object containing the request and lifespan context. hub_id (str): The ID of the hub to ask about, example: "1234567890". prompt (str): The question to ask. ai_agent_id (Optional[str]): The ID of the AI agent to use for the question. If None, the default AI agent will be used. Returns: dict: The AI response containing the answer to the question. |
| box_ai_extract_freeform_tool | Extract or analyze information from one or more files using a natural language prompt and return a SINGLE response. This tool provides maximum flexibility for data extraction and analysis. Instead of defining structured fields, you simply ask Box AI a question or give it instructions in natural language. When multiple files are provided, Box AI analyzes ALL files together to provide ONE comprehensive answer. This is the most flexible extraction tool but provides unstructured results. Use structured extraction tools (template-based or field-based) when you need consistent, machine-readable output. Use cases:
NOT for batch processing: If you need to ask the same question about multiple files separately (e.g., "summarize each report individually"), call this tool once per file in a loop. Args: ctx (Context): The context object containing the request and lifespan context. file_ids (List[str]): A list of file IDs to extract information from, example: ["1234567890", "0987654321"]. prompt (str): The fields to extract. ai_agent_id (Optional[str]): The ID of the AI agent to use for the extraction. If None, the default AI agent will be used. Returns: dict: The AI response containing the extracted information. |
| box_ai_extract_structured_using_fields_tool | Extract structured data from one or more files using custom fields and return a SINGLE data instance. This tool analyzes the provided file(s) and extracts information based on custom field definitions you provide. When multiple files are provided, Box AI combines information from ALL files to create ONE complete data record. Unlike template-based extraction, this tool allows you to define fields on-the-fly without creating a metadata template in Box first. This is useful for ad-hoc data extraction or when you need fields that don't match any existing template. Use cases:
NOT for batch processing: If you need to extract data from multiple files as separate instances, call this tool once per file in a loop. Args: ctx (Context): The context object containing the request and lifespan context. file_ids (List[str]): The IDs of the files to read. fields (List[dict[str, Any]]): The fields to extract from the files. example:[ { "type": "string", "key": "name", "displayName": "Name", "description": "Policyholder Name", }, { "type": "string", "key": "number", "displayName": "Number", "description": "Policy Number", }, { "type": "date", "key": "effectiveDate", "displayName": "Effective Date", "description": "Policy Effective Date", }, { "type": "enum", "key": "paymentTerms", "displayName": "Payment Terms", "description": "Frequency of payment per year", "options": [ {"key": "Monthly"}, {"key": "Quarterly"}, {"key": "Semiannual"}, {"key": "Annually"}, ], }, { "type": "multiSelect", "key": "coverageTypes", "displayName": "Coverage Types", "description": "Types of coverage for the policy", "prompt": "Look in the coverage type table and include all listed types.", "options": [ {"key": "Body Injury Liability"}, {"key": "Property Damage Liability"}, {"key": "Personal Damage Liability"}, {"key": "Collision"}, {"key": "Comprehensive"}, {"key": "Uninsured Motorist"}, {"key": "Something that does not exist"}, ], }, ] ai_agent_id (Optional[str]): The ID of the AI agent to use for processing. Returns: dict: The extracted structured data in a json string format. |
| box_ai_extract_structured_using_template_tool | Extract structured data from one or more files and return a SINGLE metadata instance. This tool analyzes the provided file(s) and extracts information to populate a single metadata instance based on the specified template. When multiple files are provided, Box AI combines information from ALL files to create ONE complete metadata record. Use cases:
NOT for batch processing: If you need to extract metadata from multiple files as separate instances, call this tool once per file in a loop. Args: ctx (Context): The context object containing the request and lifespan context. file_ids (List[str]): The IDs of the files to read. template_key (str): The ID of the template to use for extraction. ai_agent_id (Optional[str]): The ID of the AI agent to use for processing. Returns: dict: The extracted structured data in a json string format. |
| box_ai_extract_structured_enhanced_using_fields_tool | Extract structured data from one or more files using custom fields and return a SINGLE data instance (Enhanced version). This enhanced tool analyzes the provided file(s) and extracts information based on custom field definitions you provide. When multiple files are provided, Box AI combines information from ALL files to create ONE complete data record. Enhanced features:
Unlike template-based extraction, this tool allows you to define fields on-the-fly without creating a metadata template in Box first. This is useful for ad-hoc data extraction or when you need fields that don't match any existing template. Use cases:
NOT for batch processing: If you need to extract data from multiple files as separate instances, call this tool once per file in a loop. Args: ctx (Context): The context object containing the request and lifespan context. file_ids (List[str]): A list of file IDs to extract information from, example: ["1234567890", "0987654321"]. fields (List[dict[str, Any]]): The fields to extract from the files. Returns: dict: The AI response containing the extracted information. |
| box_ai_extract_structured_enhanced_using_template_tool | Extract structured data from one or more files and return a SINGLE metadata instance (Enhanced version). This enhanced tool analyzes the provided file(s) and extracts information to populate a single metadata instance based on the specified template. When multiple files are provided, Box AI combines information from ALL files to create ONE complete metadata record. Enhanced features:
Use cases:
NOT for batch processing: If you need to extract metadata from multiple files as separate instances, call this tool once per file in a loop. Args: ctx (Context): The context object containing the request and lifespan context. file_ids (List[str]): The IDs of the files to read. template_key (str): The key of the metadata template to use for the extraction. Example: "insurance_policy_template". Returns: dict: The extracted structured data in a json string format. |
| box_ai_agent_info_by_id_tool | Get information about a specific AI agent by ID. Args: ctx (Context): The context object containing the request and lifespan context. ai_agent_id (str): The ID of the AI agent to retrieve information for. Returns: dict: A dictionary containing the AI agent information. |
| box_ai_agents_list_tool | List available AI agents in Box. Args: ctx (Context): The context object containing the request and lifespan context. limit (Optional[int]): Maximum number of items to return. Defaults to 1000. Returns: dict: A dictionary containing the list of AI agents. |
| box_ai_agents_search_by_name_tool | Search for AI agents in Box by name. Args: ctx (Context): The context object containing the request and lifespan context. name (str): The name filter to search for AI agents. limit (Optional[int]): Maximum number of items to return. Defaults to 1000. Returns: dict: A dictionary containing the list of matching AI agents. |
| box_docgen_create_batch_tool | Create a new Box Doc Gen batch to generate documents from a template. Args: client (BoxClient): Authenticated Box client. docgen_template_id (str): ID of the Doc Gen template. destination_folder_id (str): ID of the folder to save the generated document. document_generation_data (List[Dict[str, Any]]): Data for document generation. example: [ { "generated_file_name": "Image test", "user_input": { "order": { "id": "12305", "date": "18-08-2023", "products": [ { "id": 1, "name": "A4 Papers", "type": "non-fragile", "quantity": 100, "price": 29, "amount": 2900 }, ] } } }, ] output_type (str): Output file type (only, "pdf" or "docx"). Returns: dict[str, Any]: Response containing batch creation status and details. If successful, contains a message with batch ID. If an error occurs, contains an "error" key with the error message. |
| box_docgen_get_job_by_id_tool | Retrieve a Box Doc Gen job by its ID. Args: client (BoxClient): Authenticated Box client. job_id (str): ID of the Doc Gen job. Returns: dict[str, Any]: Details of the specified Doc Gen job. |
| box_docgen_list_jobs_tool | List all Box Doc Gen jobs for the current user. Args: client (BoxClient): Authenticated Box client. marker (str, optional): Pagination marker. limit (int, optional): Maximum number of items to return. Returns: list[dict[str, Any]]: A list of Doc Gen jobs. |
| box_docgen_list_jobs_by_batch_tool | List Doc Gen jobs in a specific batch. Args: client (BoxClient): Authenticated Box client. batch_id (str): ID of the Doc Gen batch. marker (str, optional): Pagination marker. limit (int, optional): Maximum number of items to return. Returns: list[dict[str, Any]]: A list of Doc Gen jobs in the batch. |
| box_docgen_template_create_tool | Mark a file as a Box Doc Gen template. Args: client (BoxClient): Authenticated Box client. file_id (str): ID of the file to mark as template. Returns: dict[str, Any]: Metadata of the created template. |
| box_docgen_template_list_tool | List all Box Doc Gen templates accessible to the user. Args: client (BoxClient): Authenticated Box client. marker (str, optional): Pagination marker. limit (int, optional): Max items per page. Returns: dict[str, Any] | list[dict[str, Any]]: A list of template metadata or an error message. |
| box_docgen_template_get_by_id_tool | Retrieve details of a specific Box Doc Gen template. Args: client (BoxClient): Authenticated Box client. template_id (str): ID of the template. Returns: dict[str, Any]: Metadata of the template or an error message. |
| box_docgen_template_list_tags_tool | List all tags for a Box Doc Gen template. Args: client (BoxClient): Authenticated Box client. template_id (str): ID of the template. template_version_id (str, optional): Specific version ID. marker (str, optional): Pagination marker. limit (int, optional): Max items per page. Returns: list[dict[str, Any]]: A list of tags for the template or an error message. |
| box_docgen_template_list_jobs_tool | List Doc Gen jobs that used a specific template. Args: client (BoxClient): Authenticated Box client. template_id (str): ID of the template. marker (str, optional): Pagination marker. limit (int, optional): Max items per page. Returns: DocGenJobsV2025R0: A page of Doc Gen jobs for the template. |
| box_docgen_template_get_by_name_tool | Retrieve details of a specific Box Doc Gen template by name. Args: client (BoxClient): Authenticated Box client. template_name (str): Name of the template. Returns: dict[str, Any]: Metadata of the template or an error message. |
| box_docgen_create_single_file_from_user_input_tool | Create a single document from a Doc Gen template using user input. Args: client (BoxClient): Authenticated Box client. docgen_template_id (str): ID of the Doc Gen template. destination_folder_id (str): ID of the folder to save the generated document. user_input (dict[str, Any]): User input data for document generation. example: example: { "user_input": { "order": { "id": "12305", "date": "18-08-2023", "products": [ { "id": 1, "name": "A4 Papers", "type": "non-fragile", "quantity": 100, "price": 29, "amount": 2900 }, ] } } } generated_file_name (Optional[str]): Name for the generated document file. output_type (str): Output file type (only, "pdf" or "docx"). Returns: dict[str, Any]: Information about the created batch job. |
| box_file_download_tool | Download a file from Box and optionally save it locally. Args: file_id (str): The ID of the file to download. save_file (bool, optional): Whether to save the file locally. Defaults to False. save_path (str, optional): Path where to save the file. If not provided but save_file is True, uses a temporary directory. Defaults to None. Returns: dict[str, Any]: For text files: content as string. For images: base64-encoded string with metadata. For unsupported files: error message. If save_file is True, includes the path where the file was saved. |
| box_file_upload_tool | Upload content as a file to Box. Args: content (str | bytes): The content to upload. Can be text or binary data. file_name (str): The name to give the file in Box. parent_folder_id (str): The ID of the destination folder. Defaults to root ("0"). Returns: dict[str, Any]: Information about the uploaded file including id and name. |
| box_file_info_tool | Get information about a file in Box. Args: file_id (str): The ID of the file to get information about. return: dict[str, Any]: Information about the file. |
| box_file_copy_tool | Copy a file to a specified destination folder in Box. Args: file_id (str): The ID of the file to copy. destination_folder_id (str): The ID of the destination folder. new_name (str, optional): Optional new name for the copied file. version_number (int, optional): Optional version number of the file to copy. Returns: dict[str, Any]: Dictionary containing the copied file information or error message. |
| box_file_delete_tool | Delete a file from Box. Args: file_id (str): The ID of the file to delete. Returns: dict[str, Any]: Dictionary containing success message or error. |
| box_file_move_tool | Move a file to a specified destination folder in Box. Args: file_id (str): The ID of the file to move. destination_folder_id (str): The ID of the destination folder. Returns: dict[str, Any]: Dictionary containing the moved file information. |
| box_file_rename_tool | Rename a file in Box. Args: file_id (str): The ID of the file to rename. new_name (str): The new name for the file. Returns: dict[str, Any]: Dictionary containing the renamed file information. |
| box_file_set_description_tool | Set or update the description of a file in Box. Args: file_id (str): The ID of the file to update. description (str): The new description for the file. Returns: dict[str, Any]: Dictionary containing the updated file information. |
| box_file_retention_date_set_tool | Set a retention date for a file in Box (cannot be shortened once set). Args: file_id (str): The ID of the file to update. retention_date (str): The retention date for the file in ISO 8601 format. Returns: dict[str, Any]: Dictionary containing the updated file information including retention date. |
| box_file_retention_date_clear_tool | Clear/remove the retention date from a file in Box. Args: file_id (str): The ID of the file to update. Returns: dict[str, Any]: Dictionary containing the updated file information. |
| box_file_lock_tool | Define a lock on a file to prevent it from being moved, renamed, or changed by anyone other than the lock creator. Args: file_id (str): The ID of the file to lock. lock_expires_at (str, optional): Optional expiration date/time for the lock in ISO 8601 format. is_download_prevented (bool, optional): Optional flag to prevent downloads while locked. Returns: dict[str, Any]: Dictionary containing the locked file information including lock details. |
| box_file_unlock_tool | Remove a lock from a file in Box. Args: file_id (str): The ID of the file to unlock. Returns: dict[str, Any]: Dictionary containing the unlocked file information. |
| box_file_set_download_open_tool | Allow anyone with access to the file to download it (overrides role-based download permissions). Args: file_id (str): The ID of the file to update. Returns: dict[str, Any]: Dictionary containing the updated file information. |
| box_file_set_download_company_tool | Set a file to be downloadable by company users (restricts external user downloads for viewer/editor roles). Args: file_id (str): The ID of the file to update. Returns: dict[str, Any]: Dictionary containing the updated file information. |
| box_file_set_download_reset_tool | Reset download permissions to default behavior based on collaboration roles. Args: file_id (str): The ID of the file to update. Returns: dict[str, Any]: Dictionary containing the updated file information. |
| box_file_tag_list_tool | List all tags associated with a file in Box. Args: file_id (str): The ID of the file to retrieve tags for. Returns: dict[str, Any]: Dictionary with list of tags or message if no tags found. |
| box_file_tag_add_tool | Add a tag to a file in Box (prevents duplicates). Args: file_id (str): The ID of the file to add a tag to. tag (str): The tag to add. Returns: dict[str, Any]: Dictionary containing the updated file information including tags. |
| box_file_tag_remove_tool | Remove a tag from a file in Box. Args: file_id (str): The ID of the file to remove a tag from. tag (str): The tag to remove. Returns: dict[str, Any]: Dictionary containing the updated file information including tags. |
| box_file_thumbnail_url_tool | Retrieve the URL for a thumbnail image of a file. Args: file_id (str): The ID of the file. extension (str, optional): Image format ('png' or 'jpg', defaults to 'png'). min_height (int, optional): Minimum height in pixels (32-320). min_width (int, optional): Minimum width in pixels (32-320). max_height (int, optional): Maximum height in pixels (32-320). max_width (int, optional): Maximum width in pixels (32-320). Returns: dict[str, Any]: Dictionary with thumbnail URL or message if not available. |
| box_file_thumbnail_download_tool | Download the actual thumbnail image of a file. Args: file_id (str): The ID of the file. extension (str, optional): Image format ('png' or 'jpg', defaults to 'png'). min_height (int, optional): Minimum height in pixels (32-320). min_width (int, optional): Minimum width in pixels (32-320). max_height (int, optional): Maximum height in pixels (32-320). max_width (int, optional): Maximum width in pixels (32-320). Returns: dict[str, Any]: Dictionary with thumbnail image content in base64 or error message. |
| box_file_text_extract_tool | Extract text from a file in Box. The result can be markdown or plain text. If a markdown representation is available, it will be preferred. Args: file_id (str): The ID of the file to extract text from. Returns: dict[str, Any]: The extracted text (markdown or plain text). |
| box_folder_copy_tool | Copies a folder to a new location in Box. Args: ctx: Context: The context containing Box client information folder_id (str): ID of the folder to copy. Can be string or int. destination_parent_folder_id (str): ID of the destination parent folder. Can be string or int. name (str, optional): New name for the copied folder. If not provided, original name is used. Returns: dict[str, Any]: Dictionary containing the copied folder object or error message |
| box_folder_create_tool | Creates a new folder in Box. Args: ctx: Context: The context containing Box client information name (str): Name of the new folder parent_folder_id (str): ID of the parent folder where the new folder will be created, use "0" for root folder Returns: dict[str, Any]: Dictionary containing the created folder object or error message |
| box_folder_delete_tool | Deletes a folder from Box. Args: ctx: Context: The context containing Box client information folder_id (str): ID of the folder to delete. Can be string or int. recursive (bool, optional): Whether to delete recursively. Defaults to False. Returns: dict[str, Any]: Dictionary containing success message or error message |
| box_folder_favorites_add_tool | Adds a folder to the user's favorites in Box. Args: ctx: Context: The context containing Box client information folder_id (str): ID of the folder to add to favorites. Returns: dict[str, Any]: Dictionary containing the updated folder object or error message |
| box_folder_favorites_remove_tool | Removes a folder from the user's favorites in Box. Args: ctx: Context: The context containing Box client information folder_id (str): ID of the folder to remove from favorites. Returns: dict[str, Any]: Dictionary containing the updated folder object or error message |
| box_folder_info_tool | Retrieve information about a specific folder in Box. Args: ctx: Context: The context containing Box client information folder_id (str): ID of the folder to retrieve information for. Returns: dict[str, Any]: Dictionary containing folder information or error message. |
| box_folder_items_list_tool | List items in a Box folder with optional recursive traversal. Args: ctx: Context: The context containing Box client information. folder_id (str): ID of the folder to list items from. is_recursive (bool, optional): Whether to recursively list subfolder contents. Defaults to False. limit (Optional[int], optional): Maximum items per API call. Defaults to 1000. Returns: dict[str, Any]: Dictionary containing folder items list or error message. |
| box_folder_list_tags_tool | Lists tags associated with a folder in Box. Args: ctx: Context: The context containing Box client information. folder_id (str): ID of the folder to list tags for. Returns: dict[str, Any]: Dictionary containing the list of tags or error message |
| box_folder_move_tool | Moves a folder to a new location in Box. Args: ctx: Context: The context containing Box client information. folder_id (str): ID of the folder to move. destination_parent_folder_id (str): ID of the destination parent folder. Returns: dict[str, Any]: Dictionary containing the moved folder object or error message |
| box_folder_rename_tool | Renames a folder in Box. Args: ctx: Context: The context containing Box client information. folder_id (str): ID of the folder to rename. new_name (str): New name for the folder. Returns: dict[str, Any]: Dictionary containing the renamed folder object or error message |
| box_folder_set_collaboration_tool | Sets collaboration settings for a folder in Box. Args: ctx: Context: The context containing Box client information. folder_id (str): ID of the folder to set collaboration settings for. can_non_owners_invite (bool): Specifies if users who are not the owner of the folder can invite new collaborators to the folder. can_non_owners_view_collaborators (bool): Restricts collaborators who are not the owner of this folder from viewing other collaborations on this folder. is_collaboration_restricted_to_enterprise (bool): Specifies if new invites to this folder are restricted to users within the enterprise. This does not affect existing collaborations. Returns: dict[str, Any]: Dictionary containing the updated folder object or error message |
| box_folder_set_description_tool | Sets the description of a folder in Box. Args: ctx: Context: The context containing Box client information. folder_id (str): ID of the folder to set description for. description (str): Description text to set for the folder. Returns: dict[str, Any]: Dictionary containing the updated folder object or error message |
| box_folder_set_sync_tool | Sets the sync state for a folder in Box. Args: ctx: Context: The context containing Box client information. folder_id (str): ID of the folder to set sync state for. sync_state (str): Specifies whether a folder should be synced to a user's device or not. This is used by Box Sync (discontinued) and is not used by Box Drive. Value is one of synced,not_synced,partially_synced Returns: dict[str, Any]: Dictionary containing the updated folder object or error message |
| box_folder_set_upload_email_tool | Sets or removes the upload email address for a folder in Box. Args: ctx: Context: The context containing Box client information. folder_id (str): ID of the folder to set the upload email for. folder_upload_email_access (Optional[str]): The upload email access level to set. If None, removes the upload email. When set to open it will accept emails from any email address. Value is one of open,collaborators Returns: dict[str, Any]: Dictionary containing the updated folder object or error message |
| box_folder_tag_add_tool | Adds a tag to a folder in Box. Args: ctx: Context: The context containing Box client information. folder_id (str): ID of the folder to add tag to. tag (str): Tag to add to the folder. Returns: dict[str, Any]: Dictionary containing the updated folder object or error message |
| box_folder_tag_remove_tool | Removes a tag from a folder in Box. Args: ctx: Context: The context containing Box client information. folder_id (str): ID of the folder to remove tag from. tag (str): Tag to remove from the folder. Returns: dict[str, Any]: Dictionary containing the updated folder object or error message |
| box_metadata_template_create_tool | Create a new metadata template definition in Box. Args: ctx (Context): The context object containing the request and lifespan context. display_name (str): The display name of the metadata template. fields (List[Dict[str, Any]]): A list of fields to include in the template. Example:{"displayName": "Customer", "fields": [ { "type": "string", "key": "name", "displayName": "Name", "description": "The customer name", "hidden": false }, { "type": "date", "key": "last_contacted_at", "displayName": "Last Contacted At", "description": "When this customer was last contacted at", "hidden": false }, { "type": "enum", "key": "industry", "displayName": "Industry", "options": [ {"key": "Technology"}, {"key": "Healthcare"}, {"key": "Legal"} ] }, { "type": "multiSelect", "key": "role", "displayName": "Contact Role", "options": [ {"key": "Developer"}, {"key": "Business Owner"}, {"key": "Marketing"}, {"key": "Legal"}, {"key": "Sales"} ] } ] } template_key (Optional[str]): An optional key for the metadata template. If not provided, a key will be generated. Returns: dict: The created metadata template. |
| box_metadata_template_list_tool | List all metadata templates in Box. Args: ctx (Context): The context object containing the request and lifespan context. Returns: dict: A list of all metadata templates. |
| box_metadata_template_get_by_key_tool | Retrieve a metadata template by its key. Args: ctx (Context): The context object containing the request and lifespan context. template_key (str): The key of the metadata template to retrieve. Returns: dict: The metadata template associated with the provided key. |
| box_metadata_template_get_by_name_tool | Retrieve a metadata template by its name. Args: ctx (Context): The context object containing the request and lifespan context. template_name (str): The name of the metadata template to retrieve. Returns: dict: The metadata template associated with the provided name. |
| box_metadata_set_instance_on_file_tool | Set a metadata template instance on a specific file. Args: client (BoxClient): An authenticated Box client. template_key (str): The key of the metadata template to set. file_id (str): The ID of the file to set the metadata on. metadata (Dict[str, Any]): The metadata instance to set, as a dictionary. Metadata example: {'test_field': 'Test Value', 'date_field': '2023-10-01T00:00:00.000Z', 'float_field': 3.14, 'enum_field': 'option1', 'multiselect_field': ['option1', 'option2']} Returns: dict: The response from the Box API after setting the metadata. |
| box_metadata_get_instance_on_file_tool | Get the metadata template instance associated with a specific file. Args: ctx (Context): The context object containing the request and lifespan context. file_id (str): The ID of the file to get the metadata from. template_key (str): The key of the metadata template. Returns: dict: The metadata instance associated with the file. |
| box_metadata_update_instance_on_file_tool | Update the metadata template instance associated with a specific file. Args: ctx (Context): The context object containing the request and lifespan context. file_id (str): The ID of the file to update the metadata on. template_key (str): The key of the metadata template. metadata (dict): The metadata to update. remove_non_included_data (bool): If True, remove data from fields not included in the metadata. Returns: dict: The response from the Box API after updating the metadata. |
| box_metadata_delete_instance_on_file_tool | Delete the metadata template instance associated with a specific file. Args: ctx (Context): The context object containing the request and lifespan context. file_id (str): The ID of the file to delete the metadata from. template_key (str): The key of the metadata template. Returns: dict: The response from the Box API after deleting the metadata. |
| box_users_list_tool | List all users in the Box account. Args: ctx (Context): The context object containing the request and lifespan context. Returns: dict: A dictionary containing the list of users. |
| box_users_locate_by_email_tool | Locate a user by their email address. This is an exact match search. Args: ctx (Context): The context object containing the request and lifespan context. email (str): The email address of the user to locate. Returns: dict: A dictionary containing the user information if found, otherwise a message with no user found. |
| box_users_locate_by_name_tool | Locate a user by their name. This is an exact match search. Args: ctx (Context): The context object containing the request and lifespan context. name (str): The name of the user to locate. Returns: dict: A dictionary containing the user information if found, otherwise a message with no user found. |
| box_users_search_by_name_or_email_tool | Search for users by name or email. This is a partial match search. Args: ctx (Context): The context object containing the request and lifespan context. query (str): The search query to match against user names and email addresses. Returns: dict: A dictionary containing the list of matching users. |
| box_groups_search_tool | Search for groups by name. This is a partial match search. Args: ctx (Context): The context object containing the request and lifespan context. query (str): The search query to match against group names. Returns: dict: A dictionary containing the list of matching groups. |
| box_groups_list_members_tool | List all members of a specific group. Args: ctx (Context): The context object containing the request and lifespan context. group_id (str): The ID of the group whose members are to be listed. Returns: dict: A dictionary containing the list of group members. |
| box_groups_list_by_user_tool | List all groups that a specific user belongs to. Args: ctx (Context): The context object containing the request and lifespan context. user_id (str): The ID of the user whose groups are to be listed. Returns: dict: A dictionary containing the list of groups the user belongs to. |
| box_collaboration_list_by_file_tool | List all collaborations on a specific file. Args: ctx (Context): The MCP context. file_id (str): The ID of the file to list collaborations for. Returns: dict: A dictionary containing the list of collaborations or an error message. |
| box_collaboration_list_by_folder_tool | List all collaborations on a specific folder. Args: ctx (Context): The MCP context. folder_id (str): The ID of the folder to list collaborations for. Returns: dict: A dictionary containing the list of collaborations or an error message. |
| box_collaboration_delete_tool | Delete a specific collaboration. Args: ctx (Context): The MCP context. collaboration_id (str): The ID of the collaboration to delete. Returns: dict: A dictionary containing the result of the deletion or an error message. |
| box_collaboration_file_user_by_user_id_tool | Create a collaboration on a file with a user specified by user ID. Args: client (BoxClient): Authenticated Box client. file_id (str): The ID of the file to collaborate on. user_id (str): The ID of the user to collaborate with. role (str): The role to assign to the collaborator. Default is "editor". Available roles are editor, viewer, previewer, uploader, viewer_uploader, co-owner. is_access_only (Optional[bool]): If set to true, collaborators have access to shared items, but such items won't be visible in the All Files list. Additionally, collaborators won't see the path to the root folder for the shared item. expires_at (Optional[DateTime]): The expiration date of the collaboration. notify (Optional[bool]): Whether to notify the collaborator via email. Returns: Dict[str, Any]: Dictionary containing collaboration details or error message. |
| box_collaboration_file_user_by_user_login_tool | Create a collaboration on a file with a user specified by user login (email). Args: client (BoxClient): Authenticated Box client. file_id (str): The ID of the file to collaborate on. user_login (str): The login (email) of the user to collaborate with. role (str): The role to assign to the collaborator. Default is "editor". Available roles are editor, viewer, previewer, uploader, viewer_uploader, co-owner. is_access_only (Optional[bool]): If set to true, collaborators have access to shared items, but such items won't be visible in the All Files list. Additionally, collaborators won't see the path to the root folder for the shared item. expires_at (Optional[DateTime]): The expiration date of the collaboration. notify (Optional[bool]): Whether to notify the collaborator via email. Returns: Dict[str, Any]: Dictionary containing collaboration details or error message. |
| box_collaboration_folder_user_by_user_id_tool | Create a collaboration on a folder with a user specified by user ID. Args: client (BoxClient): Authenticated Box client. folder_id (str): The ID of the folder to collaborate on. user_id (str): The ID of the user to collaborate with. role (str): The role to assign to the collaborator. Default is "editor". Available roles are editor, viewer, previewer, uploader, viewer_uploader, co-owner. is_access_only (Optional[bool]): If set to true, collaborators have access to shared items, but such items won't be visible in the All Files list. Additionally, collaborators won't see the path to the root folder for the shared item. expires_at (Optional[DateTime]): The expiration date of the collaboration. notify (Optional[bool]): Whether to notify the collaborator via email. Returns: Dict[str, Any]: Dictionary containing collaboration details or error message. |
| box_collaboration_folder_user_by_user_login_tool | Create a collaboration on a folder with a user specified by user login (email). Args: client (BoxClient): Authenticated Box client. folder_id (str): The ID of the folder to collaborate on. user_login (str): The login (email) of the user to collaborate with. role (str): The role to assign to the collaborator. Default is "editor". Available roles are editor, viewer, previewer, uploader, viewer_uploader, co-owner. is_access_only (Optional[bool]): If set to true, collaborators have access to shared items, but such items won't be visible in the All Files list. Additionally, collaborators won't see the path to the root folder for the shared item. expires_at (Optional[DateTime]): The expiration date of the collaboration. notify (Optional[bool]): Whether to notify the collaborator via email. Returns: Dict[str, Any]: Dictionary containing collaboration details or error message. |
| box_collaboration_file_group_by_group_id_tool | Create a collaboration on a file with a group specified by group ID. Args: client (BoxClient): Authenticated Box client. file_id (str): The ID of the file to collaborate on. group_id (str): The ID of the group to collaborate with. role (str): The role to assign to the collaborator. Default is "editor". Available roles are editor, viewer, previewer, uploader, viewer_uploader, co-owner. is_access_only (Optional[bool]): If set to true, collaborators have access to shared items, but such items won't be visible in the All Files list. Additionally, collaborators won't see the path to the root folder for the shared item. expires_at (Optional[DateTime]): The expiration date of the collaboration. notify (Optional[bool]): Whether to notify the collaborator via email. Returns: Dict[str, Any]: Dictionary containing collaboration details or error message. |
| box_collaboration_folder_group_by_group_id_tool | Create a collaboration on a folder with a group specified by group ID. Args: client (BoxClient): Authenticated Box client. folder_id (str): The ID of the folder to collaborate on. group_id (str): The ID of the group to collaborate with. role (str): The role to assign to the collaborator. Default is "editor". Available roles are editor, viewer, previewer, uploader, viewer_uploader, co-owner. is_access_only (Optional[bool]): If set to true, collaborators have access to shared items, but such items won't be visible in the All Files list. Additionally, collaborators won't see the path to the root folder for the shared item. expires_at (Optional[DateTime]): The expiration date of the collaboration. notify (Optional[bool]): Whether to notify the collaborator via email. Returns: Dict[str, Any]: Dictionary containing collaboration details or error message. |
| box_collaboration_update_tool | Update a specific collaboration's role. Args: ctx (Context): The MCP context. collaboration_id (str): The ID of the collaboration to update. role (str): The new role to assign to the collaborator. Default is "editor". Available roles are editor, viewer, previewer, uploader, viewer_uploader, co-owner. status (Optional[str]): The status of the collaboration. Can be 'accepted' or 'rejected'. expires_at (Optional[datetime]): The new expiration date of the collaboration. can_view_path (Optional[bool]): Whether the collaborator can view the path to the root folder. Returns: dict: A dictionary containing the updated collaboration details or an error message. |
| box_web_link_create_tool | Create a Box web link. Args: ctx (Context): The context object containing the request and lifespan context. url (str): The URL of the web link. parent_folder_id (str): The ID of the parent folder for the web link. name (str, optional): The name of the web link. Defaults to None. description (str, optional): The description of the web link. Defaults to None. Returns: dict: The response from the Box API after creating the web link. |
| box_web_link_get_by_id_tool | Get a Box web link by its ID. Args: ctx (Context): The context object containing the request and lifespan context. web_link_id (str): The ID of the web link to retrieve. Returns: dict: The response from the Box API containing the web link details. |
| box_web_link_update_by_id_tool | Update a Box web link by its ID. Args: ctx (Context): The context object containing the request and lifespan context. web_link_id (str): The ID of the web link to update. url (str): The new URL of the web link. parent_folder_id (str): The ID of the parent folder for the web link. name (str, optional): The new name of the web link. Defaults to None. description (str, optional): The new description of the web link. Defaults to None. Returns: dict: The response from the Box API after updating the web link. |
| box_web_link_delete_by_id_tool | Delete a Box web link by its ID. Args: ctx (Context): The context object containing the request and lifespan context. web_link_id (str): The ID of the web link to delete. Returns: dict: The response from the Box API after deleting the web link. |
| box_shared_link_file_get_tool | Get a shared link for a file. Args: ctx (Context): The context object containing the request and lifespan context. file_id (str): The ID of the file to get the shared link for. Returns: dict: The response from the Box API containing the shared link details. |
| box_shared_link_file_create_or_update_tool | Create or update a shared link for a file. Args: ctx (Context): The context object containing the request and lifespan context. file_id (str): The ID of the file to create or update the shared link for. access (str, optional): The access level for the shared link. Defaults to None. unshared_at (str, optional): The expiration date for the shared link. Defaults to None. password (str, optional): The password for the shared link. Defaults to None. permissions (dict, optional): The permissions for the shared link. Defaults to None. Returns: dict: The response from the Box API after creating or updating the shared link. |
| box_shared_link_file_remove_tool | Remove a shared link from a file. Args: ctx (Context): The context object containing the request and lifespan context. file_id (str): The ID of the file to remove the shared link from. Returns: dict: The response from the Box API after removing the shared link. |
| box_shared_link_file_find_by_shared_link_url_tool | Find a file by its shared link URL. Args: ctx (Context): The context object containing the request and lifespan context. shared_link_url (str): The shared link URL of the file to find. password (str, optional): The password for the shared link, if applicable. Defaults to None. Returns: dict: The response from the Box API containing the file details. |
| box_shared_link_folder_get_tool | Get a shared link for a folder. Args: ctx (Context): The context object containing the request and lifespan context. folder_id (str): The ID of the folder to get the shared link for. Returns: dict: The response from the Box API containing the shared link details. |
| box_shared_link_folder_create_or_update_tool | Create or update a shared link for a folder. Args: ctx (Context): The context object containing the request and lifespan context. folder_id (str): The ID of the folder to create or update the shared link for. access (str, optional): The access level for the shared link. Defaults to None. unshared_at (str, optional): The expiration date for the shared link. Defaults to None. password (str, optional): The password for the shared link. Defaults to None. permissions (dict, optional): The permissions for the shared link. Defaults to None. Returns: dict: The response from the Box API after creating or updating the shared link. |
| box_shared_link_folder_remove_tool | Remove a shared link from a folder. Args: ctx (Context): The context object containing the request and lifespan context. folder_id (str): The ID of the folder to remove the shared link from. Returns: dict: The response from the Box API after removing the shared link. |
| box_shared_link_folder_find_by_shared_link_url_tool | Find a folder by its shared link URL. Args: ctx (Context): The context object containing the request and lifespan context. shared_link_url (str): The shared link URL of the folder to find. password (str, optional): The password for the shared link, if applicable. Defaults to None. Returns: dict: The response from the Box API containing the folder details. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |