使用说明
项目简介
本项目是一个基于 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 用户,可以按照以下步骤配置:
-
编辑配置文件: 打开 Claude Desktop 的配置文件 'claude_desktop_config.json'。
- MacOS: '~/Library/Application\ Support/Claude/claude_desktop_config.json'
- Windows: '%APPDATA%/Claude/claude_desktop_config.json'
-
添加服务器配置: 在 '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 令牌。
信息
分类
数据库与文件