Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
BOX_CLIENT_IDNoYour Box API client ID
BOX_SUBJECT_IDNoYour user ID or enterprise ID for CCG authentication
BOX_REDIRECT_URLNoRedirect URL for OAuth authenticationhttp://localhost:8000/callback
BOX_SUBJECT_TYPENoSubject type for CCG authentication (user or enterprise)
BOX_CLIENT_SECRETNoYour Box API client secret

Tools

Functions exposed to the LLM to take actions

NameDescription
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:

  • Single file analysis: "What are the key terms of this contract?"

  • Multiple files analysis: "Compare the pricing across these three proposals and summarize differences"

  • Complex questions: "Based on these financial documents, what are the main risk factors?"

  • Summarization: "Provide a 3-paragraph summary of the main points across these meeting notes"

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:

  • Single file: Extract custom fields from one document (e.g., extract "contract_value" and "signing_date" from a contract)

  • Multiple files: Combine data from multiple sources into one data instance (e.g., extract "total_project_cost" from both a proposal and budget document)

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:

  • Single file: Extract metadata from one receipt, invoice, or document

  • Multiple files: Combine data from multiple sources into one metadata instance (e.g., extract customer info from both a contract PDF and a supporting letter)

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:

  • Uses advanced AI models (e.g., Google Gemini) for improved accuracy

  • Better handling of complex document layouts and image quality

  • More robust extraction for handwritten or low-quality scans

  • Improved understanding of complex field relationships

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:

  • Single file: Extract custom fields from one document

  • Multiple files: Combine data from multiple sources into one data instance (e.g., extract patient info from medical records, lab results, and prescription images)

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:

  • Uses advanced AI models (e.g., Google Gemini) for improved accuracy

  • Better handling of complex document layouts and image quality

  • More robust extraction for handwritten or low-quality scans

Use cases:

  • Single file: Extract metadata from one receipt, invoice, or document

  • Multiple files: Combine data from multiple sources into one metadata instance (e.g., extract project info from a proposal PDF, budget spreadsheet, and timeline image)

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/box-community/mcp-server-box'

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