使用说明
项目简介
UNS-MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 客户端提供与 Unstructured API 交互的桥梁。它通过 MCP 协议标准化的方式,将 Unstructured API 的各项功能封装成易于 LLM 调用的工具,例如管理数据源、数据目的地和工作流。
主要功能点
- 资源管理 (Resources): 通过 Unstructured API 管理和操作各种数据连接器,包括 Sources(数据源)和 Destinations(数据目的地)。
- 支持 Sources:
- 列出、获取详细信息、创建、更新和删除 S3 和 Azure 数据源连接器。
- 支持 Destinations:
- 列出、获取详细信息、创建、更新和删除 S3 和 Weaviate 数据目的地连接器。
- 支持 Sources:
- 工具注册和执行 (Tools): 提供丰富的工具集,允许 LLM 客户端通过 MCP 协议调用 Unstructured API 的功能。
- Sources 工具:
- 'list_sources': 列出可用数据源
- 'get_source_info': 获取数据源详细信息
- 'create_s3_source': 创建 S3 数据源
- 'update_s3_source': 更新 S3 数据源
- 'delete_s3_source': 删除 S3 数据源
- 'create_azure_source': 创建 Azure 数据源
- 'update_azure_source': 更新 Azure 数据源
- 'delete_azure_source': 删除 Azure 数据源
- Destinations 工具:
- 'list_destinations': 列出可用数据目的地
- 'get_destination_info': 获取数据目的地详细信息
- 'create_s3_destination': 创建 S3 数据目的地
- 'update_s3_destination': 更新 S3 数据目的地
- 'delete_s3_destination': 删除 S3 数据目的地
- 'create_weaviate_destination': 创建 Weaviate 数据目的地
- 'update_weaviate_destination': 更新 Weaviate 数据目的地
- 'delete_weaviate_destination': 删除 Weaviate 数据目的地
- Workflows 工具:
- 'list_workflows': 列出工作流
- 'get_workflow_info': 获取工作流详细信息
- 'create_workflow': 创建工作流
- 'run_workflow': 运行工作流
- 'update_workflow': 更新工作流
- 'delete_workflow': 删除工作流
- Sources 工具:
- 环境配置: 通过 '.env' 文件管理 Unstructured API 密钥等敏感信息。
安装步骤
-
安装依赖: 打开终端,导航到仓库根目录,执行以下命令安装项目依赖:
uv add "mcp[cli]" uv pip install --upgrade unstructured-client python-dotenv或者使用 'uv sync' 命令。
-
配置 Unstructured API 密钥:
- 在仓库根目录下创建 '.env' 文件。
- 在 '.env' 文件中添加你的 Unstructured API 密钥,例如:
请替换 'YOUR_API_KEY' 为你从 Unstructured 平台 获取的个人 API 密钥。UNSTRUCTURED_API_KEY="YOUR_API_KEY"
服务器配置
对于需要 MCP 服务器配置的 LLM 客户端(如 Claude Desktop),你需要提供服务器的启动命令和参数。以下是 UNS-MCP Server 的 Claude Desktop 配置文件示例 'claude_desktop_config.json' 内容:
{ "mcpServers": { "UNS_MCP": { "command": "ABSOLUTE/PATH/TO/.local/bin/uv", "args": [ "--directory", "ABSOLUTE/PATH/TO/UNS-MCP", "run", "server.py" ], "disabled": false } } }
配置参数说明:
- '"UNS_MCP"': MCP 服务器的名称,可以自定义。
- '"command"': 启动 MCP 服务器的命令,这里使用 'uv' 运行器,你需要将其替换为 'uv' 可执行文件的绝对路径,通常在 '~/.local/bin/uv'。
- '"args"': 传递给 'uv' 命令的参数列表:
- '"--directory"': 指定工作目录为 UNS-MCP 仓库的绝对路径。
- '"run"': 'uv' 命令的子命令,用于运行 Python 脚本。
- '"server.py"': MCP 服务器的入口脚本。
- '"disabled"': 设置为 'false' 表示启用该 MCP 服务器。
请务必将 'ABSOLUTE/PATH/TO/.local/bin/uv' 和 'ABSOLUTE/PATH/TO/UNS-MCP' 替换为你实际的绝对路径。
基本使用方法
-
启动服务器: 在终端中,导航到仓库根目录,执行以下命令启动 MCP 服务器:
mcp run server.py或者
uv run server.py你也可以使用调试模式启动服务器,以便进行开发和测试:
mcp dev server.py -
客户端连接和使用: 配置好 LLM 客户端后,客户端将通过 MCP 协议与服务器建立连接,并可以调用服务器提供的工具。例如,在 Claude Desktop 中,你可以通过自然语言指令调用 'list_sources' 工具来列出可用的数据源。
-
使用示例客户端 (minimal_client): 仓库提供了一个简单的 Python 客户端 'minimal_client/run.py' 用于测试服务器功能。 启动客户端的命令如下:
uv run python minimal_client/run.py server.py运行后,客户端会连接到服务器,并进入交互式查询模式,你可以输入自然语言查询,客户端会调用相应的工具并返回结果。
信息
分类
数据库与文件