Server Configuration
Describes the environment variables required to run the server.
Name | Required | Description | Default |
---|---|---|---|
No arguments |
Schema
Prompts
Interactive templates invoked by user choice
Name | Description |
---|---|
No prompts |
Resources
Contextual data attached and managed by the client
Name | Description |
---|---|
No resources |
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 Box AI about a single file. This tool allows users to query Box AI with a specific prompt, leveraging the content of a single file stored in Box. The AI processes the file and generates a response based on the provided prompt. Args: ctx (Context): The context object containing the request and lifespan context. file_id (str): The ID of the file to be analyzed by the AI. prompt (str): The prompt or question to ask the AI. ai_agent_id (Optional[str]): The ID of the AI agent to use for processing. |
box_ai_ask_file_multi_tool | Ask Box AI about multiple files. This tool allows users to query Box AI with a specific prompt, leveraging the content of multiple files stored in Box. The AI processes the files and generates a response based on the provided prompt. Args: ctx (Context): The context object containing the request and lifespan context. file_ids (List[str]): A list of IDs of the files to be analyzed by the AI. prompt (str): The prompt or question to ask the AI. ai_agent_id (Optional[str]): The ID of the AI agent to use for processing. |
box_ai_ask_hub_tool | Ask Box AI about a specific hub. This tool allows users to query Box AI with a specific prompt, leveraging the content of a hub in Box. The AI processes the hub and generates a response based on the provided prompt. Args: ctx (Context): The context object containing the request and lifespan context. hubs_id (str): The ID of the hub to be analyzed by the AI. prompt (str): The prompt or question to ask the AI. ai_agent_id (Optional[str]): The ID of the AI agent to use for processing. Returns: dict: The response from the AI, containing the answer to the prompt. |
box_ai_extract_freeform_tool | Extract data from files in Box using AI with a freeform prompt. Args: ctx (Context): The context object containing the request and lifespan context. file_ids (List[str]): The IDs of the files to read. prompt (str): The freeform prompt to guide the AI extraction. ai_agent_id (Optional[str]): The ID of the AI agent to use for processing. Returns: dict: The extracted data in a json string format. |
box_ai_extract_structured_using_fields_tool | Extract structured data from files in Box using AI with specified fields. This tool allows users to extract structured data from files by specifying the fields they are interested in. The AI processes the files and extracts the relevant information based on the provided fields. 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"}, ], }, ] Returns: dict: The extracted structured data in a json string format. |
box_ai_extract_structured_using_template_tool | Extract structured data from files in Box using AI with a specified template. This tool allows users to extract structured data from files by using a predefined template. The AI processes the files and extracts the relevant information based on the provided template. 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 files in Box using AI with specified fields and enhanced processing. This tool allows users to extract structured data from files by specifying the fields they are interested in, with enhanced processing capabilities. 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. 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_template_tool | Extract structured data from files in Box using AI with a specified template and enhanced processing. This tool allows users to extract structured data from files by using a predefined template, with enhanced processing capabilities. 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. Returns: dict: The extracted structured data in a json string format. |
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_read_tool | Read the text content of a file in Box. Args: file_id (str): The ID of the file to read. return: str: The text content of the file. |
box_upload_file_from_path_tool | Upload a file to Box from a filesystem path. Args: file_path (str): Path on the server filesystem to the file to upload. folder_id (str): The ID of the destination folder. Defaults to root ("0"). new_file_name (str): Optional new name to give the file in Box. If empty, uses the original filename. return: str: Information about the uploaded file (ID and name). |
box_upload_file_from_content_tool | Upload content as a file to Box using the toolkit. 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. folder_id (str): The ID of the destination folder. Defaults to root ("0"). is_base64 (bool): Whether the content is base64 encoded. Defaults to False. |
box_download_file_tool | Download a file from Box and return its content as a string. Supports text files (returns content directly) and images (returns base64-encoded). Other file types will return an error message. Optionally saves the file 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. return: str: 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_list_folder_content_by_folder_id | List the content of a folder in Box by its ID. Args: folder_id (str): The ID of the folder to list the content of. is_recursive (bool): Whether to list the content recursively. return: dict: The content of the folder in a json string format, including the "id", "name", "type", and "description". |
box_manage_folder_tool | Manage Box folders - create, delete, or update. Args: action (str): The action to perform: "create", "delete", or "update" folder_id (str | None): The ID of the folder (required for delete and update) name (str | None): The name for the folder (required for create, optional for update) parent_id (str | None): The ID of the parent folder (required for create, optional for update) Root folder is "0" or 0. description (str): Description for the folder (optional for update) recursive (bool): Whether to delete recursively (optional for delete) return: str: Result of the operation |
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 instance on a file. Args: ctx (Context): The context object containing the request and lifespan context. template_key (str): The key of the metadata template. file_id (str): The ID of the file to set the metadata on. metadata (dict): The metadata to set. 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 a metadata instance on 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 metadata from. template_key (str): The key of the metadata template. Returns: dict: The metadata instance associated with the file. |
box_metadata_delete_instance_on_file_tool | Delete a metadata instance on a 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_metadata_update_instance_on_file_tool | Update a metadata instance on a 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_template_create_tool | Create a metadata template. 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"} ] } ] } Returns: dict: The created metadata template. |
mcp_server_info | Returns information about the MCP server. |