使用说明

项目简介

本项目是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在连接 LLM 客户端和 Pure Storage FlashBlade 存储阵列。通过此服务器,LLM 应用可以调用预定义的工具,实时查询和获取 FlashBlade 存储阵列的各项信息,从而实现上下文感知和增强的存储管理能力。

主要功能点

  • 工具化数据访问: 提供了可被 LLM 客户端调用的工具,用于访问 Pure Storage FlashBlade 阵列的数据。
  • 灵活命令执行: 支持通过 'pure-fb' 工具执行 FlashBlade 阵列的各种 SDK 命令,实现灵活的数据检索。
  • 预定义信息获取: 内置 'get-array-full' 工具,一键获取阵列的全面信息,包括容量、性能等关键指标。
  • MCP 协议标准: 遵循 MCP 协议规范,确保与兼容 MCP 协议的 LLM 客户端无缝集成。

安装步骤

本服务器假定运行在 Python 环境中,并已安装必要的依赖库(如 'pypureclient' 和 'mcp')。对于 Claude Desktop 用户,可以按照以下步骤配置:

  1. 编辑配置文件: 打开 Claude Desktop 的配置文件 'claude_desktop_config.json'。

    • MacOS: '~/Library/Application\ Support/Claude/claude_desktop_config.json'
    • Windows: '%APPDATA%/Claude/claude_desktop_config.json'
  2. 添加服务器配置: 在 'mcpServers' 字段下,添加 'puremcpserver' 的配置信息。

服务器配置

在 'claude_desktop_config.json' 文件中,添加或修改 'mcpServers' 部分,加入以下 JSON 配置:

{
  "mcpServers": {
    "puremcpserver": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/pure-mcp-server",  // 请替换为 pure-mcp-server 仓库在您本地文件系统中的**绝对路径**
        "run",
        "pure-mcp-server"
      ]
    }
  }
}

配置参数说明:

  • 'server name': 'puremcpserver' (服务器名称,用于在 Claude Desktop 中标识和引用)
  • 'command': 'uv' (启动服务器的命令,这里假定使用 'uv' 运行 Python 项目。如果使用其他方式,请替换为相应的命令,例如 'python')
  • 'args': 命令参数列表:
    • '--directory': '/path/to/pure-mcp-server' (重要: 请将 '/path/to/pure-mcp-server' 替换为 pure-mcp-server 仓库在您本地文件系统中的绝对路径。例如:'/Users/yourusername/Documents/pure-model-context-protocol/src')
    • 'run': 指示 'uv' 运行项目
    • 'pure-mcp-server': 服务器入口点,对应 'src/pure-mcp-server/init.py' 中定义的 'main' 函数。

基本使用方法

配置完成后,当 Claude Desktop (或其他 MCP 客户端) 启动时,'puremcpserver' 将作为 MCP 服务器运行。

LLM 应用可以通过 MCP 协议与 'puremcpserver' 通信,调用以下工具获取 FlashBlade 信息:

  • 'pure-fb' 工具: 用于执行 FlashBlade SDK 的任意命令。

    • 调用时需要提供 'host' (FlashBlade 管理地址), 'api_token' (API 令牌), 'command' (SDK 命令名称) 和可选的 'parameters' (命令参数)。
    • 例如,可以调用 'get_arrays' 命令获取阵列基本信息。
  • 'get-array-full' 工具: 用于获取阵列的全面信息,包括基本信息、容量使用情况和近7天的性能数据。

    • 调用时需要提供 'host' (FlashBlade 管理地址) 和 'api_token' (API 令牌)。

LLM 应用可以根据工具的 'inputSchema' 构建请求参数,并解析服务器返回的 JSON 格式响应,从而获取所需的 FlashBlade 阵列信息。

注意: 请确保您已安装 'uv' (如果使用 'uv' 命令), 'pypureclient', 'mcp' 等必要的 Python 库,并已配置正确的 FlashBlade 管理地址和 API 令牌。

信息

分类

数据库与文件