Skip to main content
Glama

MCP Server Box

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Schema

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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 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"}, ], }, ]

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 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"} ] } ] }

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.

mcp_server_info

Returns information about the MCP server.

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