使用说明

项目简介

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 数据目的地连接器。
  • 工具注册和执行 (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': 删除工作流
  • 环境配置: 通过 '.env' 文件管理 Unstructured API 密钥等敏感信息。

安装步骤

  1. 安装依赖: 打开终端,导航到仓库根目录,执行以下命令安装项目依赖:

    uv add "mcp[cli]"
    uv pip install --upgrade unstructured-client python-dotenv

    或者使用 'uv sync' 命令。

  2. 配置 Unstructured API 密钥:

    • 在仓库根目录下创建 '.env' 文件。
    • 在 '.env' 文件中添加你的 Unstructured API 密钥,例如:
      UNSTRUCTURED_API_KEY="YOUR_API_KEY"
      请替换 'YOUR_API_KEY' 为你从 Unstructured 平台 获取的个人 API 密钥。

服务器配置

对于需要 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' 替换为你实际的绝对路径。

基本使用方法

  1. 启动服务器: 在终端中,导航到仓库根目录,执行以下命令启动 MCP 服务器:

    mcp run server.py

    或者

    uv run server.py

    你也可以使用调试模式启动服务器,以便进行开发和测试:

    mcp dev server.py
  2. 客户端连接和使用: 配置好 LLM 客户端后,客户端将通过 MCP 协议与服务器建立连接,并可以调用服务器提供的工具。例如,在 Claude Desktop 中,你可以通过自然语言指令调用 'list_sources' 工具来列出可用的数据源。

  3. 使用示例客户端 (minimal_client): 仓库提供了一个简单的 Python 客户端 'minimal_client/run.py' 用于测试服务器功能。 启动客户端的命令如下:

    uv run python minimal_client/run.py server.py

    运行后,客户端会连接到服务器,并进入交互式查询模式,你可以输入自然语言查询,客户端会调用相应的工具并返回结果。

信息

分类

数据库与文件