README
🚀 MCP Server Box
MCP Server Box 是一个 Python 项目,它与 Box API 集成,可执行各类操作,如文件搜索、文本提取、基于 AI 的查询和数据提取。该项目借助 box-sdk-gen 库,提供了一系列工具,能交互式地处理 Box 文件和文件夹。模型上下文协议(MCP)作为一个框架,可标准化模型与多种数据源和服务之间的交互方式。在此项目中,MCP 用于促进与 Box API 的无缝集成,实现对 Box 文件和文件夹的高效且可扩展的操作。MCP Server Box 项目旨在提供一个强大且灵活的解决方案,用于运用高级 AI 和机器学习技术管理和处理 Box 数据。
✨ 主要特性
- 与 Box API 集成,实现文件搜索、文本提取等多种操作。
- 利用 MCP 框架,促进与 Box API 的无缝集成。
- 提供一系列工具,可交互式处理 Box 文件和文件夹。
📦 安装指南
先决条件
- Python 3.13 或更高版本
- Box API 凭据(客户端 ID、客户端秘密等)
安装步骤
- 克隆仓库:
git clone https://github.com/box-community/mcp-server-box.git cd mcp-server-box - 如果尚未安装,请安装
uv:- MacOS+Linux
curl -LsSf https://astral.sh/uv/install.sh | sh- Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" - 创建并设置我们的项目:
- MacOS+Linux
# 创建虚拟环境并激活它 uv venv source .venv/bin/activate # 锁定依赖项 uv lock- Windows
# 创建虚拟环境并激活它 uv venv .venv\Scripts\activate # 锁定依赖项 uv lock - 在项目根目录中创建一个
.env文件,并添加您的 Box API 凭据:BOX_CLIENT_ID=your_client_id BOX_CLIENT_SECRET=your_client_secret
💻 使用示例
运行 MCP 服务器
要启动 MCP 服务器,请运行以下命令:
uv --directory /path-to-the-project/mcp-server-box run src/mcp_server_box.py
使用 Claude 作为客户端
- 编辑您的
claude_desktop_config.json 文件
code ~/Library/Application\ Support/Claude/cla
📚 详细文档
实现的工具
box_who_am_i
- 功能:获取当前用户信息并检查连接状态。
- 返回:用户信息字符串
box_authorize_app_tool
- 功能:启动 Box 应用授权过程。
- 返回:授权状态消息
box_search_tool
- 功能:在 Box 中搜索文件。
- 参数:
query(str):搜索查询file_extensions(List[str], 可选):过滤的文件扩展名where_to_look_for_query(List[str], 可选):搜索位置(NAME, DESCRIPTION, FILE_CONTENT, COMMENTS, TAG)ancestor_folder_ids(List[str], 可选):在哪个文件夹内搜索
- 返回:搜索结果
box_read_tool
- 功能:读取 Box 文件的文本内容。
- 参数:
file_id(str):要读取的文件 ID
- 返回:文件内容
box_ask_ai_tool
- 功能:向 Box AI 关于一个文件提问。
- 参数:
file_id(str):文件 IDprompt(str):提问给 AI 的问题
- 返回:AI 回应
box_search_folder_by_name
- 功能:通过名称定位文件夹。
- 参数:
folder_name(str):文件夹名称
- 返回:文件夹 ID
box_ai_extract_data
- 功能:使用 AI 从文件中提取数据。
- 参数:
file_id(str):文件 IDfields(str):要提取的字段
- 返回:JSON 格式的提取数据
box_list_folder_content_by_folder_id
- 功能:列出文件夹内容。
- 参数:
folder_id(str):文件夹 IDis_recursive(bool):是否递归列出
- 返回:JSON 格式文件夹内容,包含 id、名称、类型和描述
Scan to join WeChat group