Follow these steps to run an MCP Box agent and connect a chatbot toolkit in the cloud using Meshagent Rooms.

Required Environment Variables

Set the following environment variables before starting the service:

  • BOX_CLIENT_ID: Your Box application client ID
  • BOX_CLIENT_SECRET: Your Box application client secret

Steps

  1. Install Meshagent and Tool Support

    pip install "meshagent[all]"
    
  2. Sign up and Authenticate

  3. Launch the MCP Box Server as an Agent

    meshagent service test --room=test --role=agent --image=meshagent/mcp-box:latest \
      --env MESHAGENT_PORT=8001 \
      --env BOX_CLIENT_ID=your_client_id \
      --env BOX_CLIENT_SECRET=your_client_secret \
      --port="num=8001 path=/webhook liveness=/ type=meshagent.callable" \
      --name=mcp-box-service
    
    • This command will start a Meshagent room with the MCP server available as an agent.
      Note: Rooms automatically close if they go inactive.
  4. Start a Chatbot with the Box Toolkit

    meshagent chatbot join --room=test --agent-name=sample --name=sample --toolkit=mcp-box
    
    • Starts a chatbot in the Meshagent room that can use the Box toolkit.
    • You can use multiple toolkits in the same room with the same agent.
    • The command output will provide a link to the room so you can interact with the agent and tools directly.

Tools Available

Tool Summary

Tools provided by this ServerShort Description
box_ai_extract_dataExtract data from a single file in Box using AI.
box_ask_ai_toolAsk box ai about a file in Box.
box_ask_ai_tool_multi_fileUse Box AI to analyze and respond to a prompt based on the content of multiple files.
box_authorize_app_toolAuthorize the Box application.
box_docgen_create_batch_toolGenerate documents from a Box Doc Gen template using a local JSON file.
box_docgen_get_job_toolFetch a single DocGen job by its ID.
box_docgen_list_jobs_by_batch_toolList all DocGen jobs that belong to a particular batch.
box_docgen_list_jobs_toolList all DocGen jobs for the current user (paginated).
box_docgen_template_create_toolMark a file as a Box Doc Gen template.
box_docgen_template_delete_toolUnmark a file as a Box Doc Gen template.
box_docgen_template_get_by_id_toolRetrieve details of a specific Box Doc Gen template.
box_docgen_template_list_jobs_toolList all Doc Gen jobs that used a specific template.
box_docgen_template_list_tags_toolList all tags on a Box Doc Gen template.
box_docgen_template_list_toolList all Box Doc Gen templates accessible to the user.
box_download_file_toolDownload a file from Box and return its content as a string.
box_hubs_ask_ai_toolAsk box ai about a hub in Box.
box_list_folder_content_by_folder_idList the content of a folder in Box by its ID.
box_manage_folder_toolManage Box folders - create, delete, or update.
box_read_toolRead the text content of a file in Box.
box_search_folder_by_nameLocate a folder in Box by its name.
box_search_toolSearch for files in Box with the given query.
box_upload_file_from_content_toolUpload content as a file to Box using the toolkit.
box_upload_file_from_path_toolUpload a file to Box from a filesystem path.
box_who_am_iGet the current user’s information.

Tools Details

Tool: box_ai_extract_data

Extract data from a single file in Box using AI.

ParameterTypeDescription
fieldsstring
file_idstring

Tool: box_ask_ai_tool

Ask box ai about a file in Box.

ParameterTypeDescription
file_idstring
promptstring

Tool: box_ask_ai_tool_multi_file

Use Box AI to analyze and respond to a prompt based on the content of multiple files.

  • Allows users to query Box AI with a prompt, leveraging the content of multiple files in Box. The AI processes the files and generates a response. | Parameter | Type | Description | |-----------|--------|-------------| | file_ids | array | | | prompt | string | |

Tool: box_authorize_app_tool

Authorize the Box application.

  • Start the Box app authorization process.
  • Returns: str - Message.

Tool: box_docgen_create_batch_tool

Generate documents from a Box Doc Gen template using a local JSON file.

ParameterTypeDescription
destination_folder_idstring
file_idstring
user_input_file_pathstring
output_typestringoptional

Tool: box_docgen_get_job_tool

Fetch a single DocGen job by its ID.

ParameterTypeDescription
job_idstring

Tool: box_docgen_list_jobs_by_batch_tool

List all DocGen jobs that belong to a particular batch.

ParameterTypeDescription
batch_idstring
limitstringoptional
markerstringoptional

Tool: box_docgen_list_jobs_tool

List all DocGen jobs for the current user (paginated).

ParameterTypeDescription
limitstringoptional
markerstringoptional

Tool: box_docgen_template_create_tool

Mark a file as a Box Doc Gen template.

ParameterTypeDescription
file_idstring

Tool: box_docgen_template_delete_tool

Unmark a file as a Box Doc Gen template.

ParameterTypeDescription
template_idstring

Tool: box_docgen_template_get_by_id_tool

Retrieve details of a specific Box Doc Gen template.

ParameterTypeDescription
template_idstring

Tool: box_docgen_template_list_jobs_tool

List all Doc Gen jobs that used a specific template.

ParameterTypeDescription
template_idstring
limitstringoptional
markerstringoptional

Tool: box_docgen_template_list_tags_tool

List all tags on a Box Doc Gen template.

ParameterTypeDescription
template_idstring
limitstringoptional
markerstringoptional
template_version_idstringoptional

Tool: box_docgen_template_list_tool

List all Box Doc Gen templates accessible to the user.

ParameterTypeDescription
limitstringoptional
markerstringoptional

Tool: 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.
  • Optionally saves the file locally.
ParameterTypeDescription
file_idstring
save_filebooleanoptional
save_pathstringoptional

Tool: box_hubs_ask_ai_tool

Ask box ai about a hub in Box.

  • Requires the hub ID.
ParameterTypeDescription
hubs_idstring
promptstring

Tool: box_list_folder_content_by_folder_id

List the content of a folder in Box by its ID.

ParameterTypeDescription
folder_idstring
is_recursivebooleanoptional

Tool: box_manage_folder_tool

Manage Box folders - create, delete, or update.

ParameterTypeDescription
actionstring
descriptionstringoptional
folder_idstringoptional
namestringoptional
parent_idstringoptional
recursivebooleanoptional

Tool: box_read_tool

Read the text content of a file in Box.

ParameterTypeDescription
file_idstring

Tool: box_search_folder_by_name

Locate a folder in Box by its name.

ParameterTypeDescription
folder_namestring

Tool: box_search_tool

Search for files in Box with the given query.

ParameterTypeDescription
querystring
ancestor_folder_idsstringoptional
file_extensionsstringoptional
where_to_look_for_querystringoptional

Tool: box_upload_file_from_content_tool

Upload content as a file to Box using the toolkit.

ParameterTypeDescription
contentstring
file_namestring
folder_idstringoptional
is_base64booleanoptional

Tool: box_upload_file_from_path_tool

Upload a file to Box from a filesystem path.

ParameterTypeDescription
file_pathstring
folder_idstringoptional
new_file_namestringoptional

Tool: box_who_am_i

Get the current user’s information.

  • Also useful to check the connection status.
  • Returns: str – The current user’s information.

Meshagent & Box MCP Resources

For more details on the Model Context Protocol, visit Anthropic’s MCP announcement.
Why run MCP Servers with Docker? Read more here.