Token导航 LogoToken导航TokenDH.com
Hammerspace Storage Management MCP Server logo
运维云端stdio官方级别未说明来源级核验

Hammerspace Storage Management MCP Server

MCP Server

MCP 1.5是一个生产就绪的Hammerspace存储管理解决方案,提供自然语言界面、自动文件摄取和全面监控功能,适用于大规模数据存储和AI工作负载管理。

工具数

10

提示词数

0

GitHub Stars

0

资源数

0
多格式支持PythonClaudeClaudeCursorWindsurf

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

mbloomhammerspace

提供方

mbloomhammerspace

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python3 -m venv venv

详细介绍

MCP 1.5-带人工智能的高级Hammerspace存储管理

用于Hammerspace存储管理的生产就绪模型上下文协议(MCP)服务器,具有自然语言界面、自动文件摄取和全面监控功能。

🚀 快速开始

先决条件

  • Python 3.8或更高版本
  • Linux系统(建议使用Ubuntu 20.04+)
  • Hammerspace存储集群(已安装HSTK CLI)
  • Anthropic API键(用于自然语言用户界面)
  • NVIDIA API密钥(可选,用于AI功能)
  • Kubernetes集群(用于自动文件摄取)
  • Milvus矢量数据库(用于文档嵌入)

安装

  1. 克隆存储库:
   git clone https://github.com/mbloomhammerspace/mcp-1.5.git
   cd mcp-1.5
  1. 创建虚拟环境:
   python3 -m venv venv
   source venv/bin/activate
   pip install -r requirements.txt
  1. 配置环境变量:
   cp .env.example .env
   nano .env

设置以下内容:

   # Hammerspace Configuration
   HS_ANVIL=10.200.120.90

   # Anthropic API (for Web UI)
   ANTHROPIC_API_KEY=your_anthropic_key_here

   # NVIDIA API (optional)
   NVIDIA_API_KEY=your_nvidia_key_here
  1. 用一个命令启动所有服务:
   ./start_all_services.sh start

访问Web UI: http://localhost:5000

📋 特性

🤖 自然语言接口

  • 基于Web的用户界面 由Claude AI提供技术支持 http://localhost:5000
  • 直接MCP集成 适用于所有Hammerspace运营
  • 实时调试日志查看器/debug
  • 文件摄取监视器仪表板/monitor
  • 以行动为导向的应对措施 -执行命令,报告结果

📁 高级文件摄取系统

  • 多格式支持 -BMP、DOCX、HTML、JPEG、JSON、MD、PDF、PNG、PPTX、SH、TIFF、TXT、MP3
  • 实时文件监控 -NFS 4.2挂载上的基于轮询的检测
  • 基于文件夹的处理 -新文件夹触发对所有支持文件的批处理
  • Kubernetes作业部署 -使用ConfigMaps自动接收文件作业
  • Milvus矢量数据库集成 -自动嵌入生成和存储
  • 智能集合命名 -以文件夹或顺序编号命名的集合
  • 基于标签的分层管理 -嵌入文件的自动tier0升级
  • 事件流 -摄入管道的实时监测

📊 综合监控UI

  • 实时事件流 -观看实时摄入的文件
  • 事件过滤 -按事件类型、文件模式或时间戳过滤
  • 吐司通知 -新文件到达时收到通知
  • 状态仪表板 -监控服务运行状况、文件计数、CPU使用率
  • 交互式用户界面 -用于跟踪摄入管道的美观、现代的界面
  • 多业务监控 -跟踪所有MCP服务器和服务

🔧 持久服务管理

  • 统一启动脚本 -用一个命令启动所有服务
  • 屏幕会话持久性 -服务在SSH断开连接后仍能正常运行
  • 自动重启功能 -服务崩溃时会自动重新启动
  • 系统集成 -启动时可选择自动启动
  • 综合录井 -所有服务的详细日志
  • 健康监测 -实时服务状态和端口监控

API终点

  • /api/monitor/status -获取监视器服务状态
  • /api/monitor/events -使用过滤器查询摄取事件
  • /api/monitor/events/stream -服务器发送实时更新事件
  • /api/chat -自然语言聊天界面
  • /api/tools -列出可用的MCP工具
  • /api/logs/stream -实时流式传输调试日志

核心MCP工具

所有工具使用 真正的HSTK CLI命令 (无模拟数据):

  • tag_directory_recursive -递归标记文件和目录
  • check_tagged_files_alignment -检查标记的文件是否与其目标对齐
  • apply_objective_to_path -应用Hammerspace目标(例如,“第0层位置”、“体积位置”)
  • remove_objective_from_path -从路径中删除目标
  • list_objectives_for_path -列出应用于路径的所有目标
  • ingest_new_files -按ctime/mtime查找新文件,标记它们并将其放置在第1层
  • refresh_mounts -刷新NFS装载以解析过时的文件句柄

高级功能

  • 自动文件监控 -使用MD5哈希和MIME类型自动标记新文件的轮询服务
  • 自动恢复陈旧文件句柄 -检测并自动刷新装载
  • 共享相对路径支持 -使用 /modelstore/dir 而不是 /mnt/se-lab/modelstore/dir
  • 多层支持 -第0层(高性能)和第1层(默认存储)
  • 基于标签的工作流 -标记文件并将其作为集合进行管理
  • 智能配料 -如果流量较小,则立即对文件事件(15秒)或进程进行分组

🆕 高级文件摄取工作流

运作原理

  1. 文件检测:文件监视器每5秒轮询NFS装载的新文件
  2. 标记:新文件会自动标记为:

- user.ingestid= -MD5哈希用于重复数据删除 - user.mimeid= -用于分类的MIME类型 - user.embedding -需要嵌入的文件标签

  1. 多格式处理:所有支持的文件类型都会触发Kubernetes摄取作业
  2. 馆藏管理:文件被组织到Milvus集合中:

- 基于文件夹:以文件夹命名的集合(例如。, cold_0011) - 顺序的:命名的集合 intel_1, intel_2等等。

  1. 层级管理:标记为嵌入的文件会自动升级到tier0
  2. 嵌入生成:文件被处理为向量嵌入
  3. 存储:存储在Milvus中用于语义搜索的嵌入
  4. 级别降级:嵌入后,文件将移回默认层

文件夹处理

当检测到新文件夹时:

  • 文件夹中所有支持的文件都作为批处理
  • 创建一个以文件夹命名的Milvus集合
  • 集合名称被净化(例如。, cold-0011cold_0011)
  • 文件夹中的所有文件都上传到同一个集合中
  • 文件被标记为 embedding 并升级为tier0进行处理
  • 嵌入后,删除tier0目标

配置

文件监视器支持:

  • 轮询间隔:营业时间为5秒(快速),追溯时间为30秒
  • 追溯标记:可配置的时间窗口(默认:禁用测试)
  • 路径监视:监视器 /mnt/anvil/hub/ 默认情况下
  • 文件过滤:处理所有支持的文件类型(BMP、DOCX、HTML、JPEG、JSON、MD、PDF、PNG、PPTX、SH、TIFF、TXT、MP3)
  • 递归文件夹标记:标记整个文件夹层次结构,以提高40倍的性能

Kubernetes集成

  • 作业模板:用途 k8s-templates/ingest.yaml 用于PDF处理
  • ConfigMaps:通过Kubernetes ConfigMaps传递给作业的文件列表
  • PVC集成:用途 hammerspace-hub-pvc 用于持久存储
  • 路径映射:从映射的容器路径 /mnt/anvil/hub//data/

🎯 用法

示例命令(Web UI)

在自然语言界面中尝试以下操作:

Tag all files in /modelstore/nvidia-test-thurs as modelsetid=my-demo
Promote all modelsetid=my-demo tagged files to tier0
Check alignment status of files tagged with modelsetid=my-demo
Remove the Place-on-tier0 objective from /modelstore/nvidia-test-thurs
List all objectives for /modelstore/incoming-models
Refresh Hammerspace mounts

🆕 文件摄取命令

Start the file monitor daemon
Check file monitor status
View recent file ingestion events
Stop the file monitor

直接使用MCP服务器

添加到您的MCP客户端配置中(例如,Cursor IDE):

{
  "mcpServers": {
    "hammerspace": {
      "command": "python",
      "args": ["/home/mike/mcp-1.5/src/aiq_hstk_mcp_server.py"],
      "env": {
        "PYTHONPATH": "/home/mike/mcp-1.5"
      }
    }
  }
}

可用的MCP工具

标签管理

  • tag_directory_recursive -递归标记目录中的所有文件
  {
    "path": "/mnt/se-lab/modelstore/my-models",
    "tag_name": "user.modelsetid",
    "tag_value": "my-tag-value"
  }
  • check_tagged_files_alignment -查找并检查标记文件的对齐情况
  {
    "tag_name": "user.modelsetid",
    "tag_value": "my-tag-value",
    "share_path": "/mnt/se-lab/modelstore/"
  }

层级管理

  • apply_objective_to_path -应用分层促销等目标
  {
    "objective_name": "Place-on-tier0",
    "path": "/mnt/se-lab/modelstore/my-models"
  }
  • remove_objective_from_path -删除目标
  {
    "objective_name": "Place-on-tier0",
    "path": "/mnt/se-lab/modelstore/my-models"
  }

文件摄入

  • ingest_new_files -查找新文件,标记它们,并将其放置在第1层
  {
    "path": "/mnt/se-lab/modelstore/",
    "tag_name": "user.modelsetid",
    "tag_value": "new-batch",
    "age_minutes": 60
  }

系统工具

  • refresh_mounts -刷新NFS装载以解析过时的文件句柄
  {
    "mount_type": "all"
  }

文件监控和摄入

  • start_inotify_monitor -启动自动文件监控服务
  {}

监控所有Hammerspace共享,自动标记新文件:

- user.ingestid= -MD5哈希用于重复数据删除 - user.mimeid= -用于分类的MIME类型

事件每15秒进行一次批处理,如果交通流量很小,则立即处理。

  • get_file_monitor_status -获取监视器状态
  {}

返回:运行状态、监视的路径、挂起的事件、标记的文件、CPU使用率

  • get_file_ingest_events -查询文件摄取/标记事件
  {
    "limit": 100,
    "event_type": "NEW_FILE",
    "file_pattern": ".pdf",
    "since_timestamp": "2025-10-09T20:00:00"
  }

返回最近的文件摄取事件以及完整的元数据,包括:

- 事件类型(NEW_FILE或RETROACTIVE_TAG) - 文件路径和名称 - MD5哈希(摄入) - MIME类型(mimeid) - 文件大小和时间戳

使用案例:

- 跟踪已摄入的文件 - 基于文件事件构建自动化工作流 - 监测摄入管道 - 审计文件处理

  • stop_inotify_monitor -停止监控服务
  {}
  • list_objectives_for_path -列出路径的所有目标
  {
    "path": "/mnt/se-lab/modelstore/my-models"
  }

🔧 建筑

组件

  1. MCP服务器 (src/aiq_hstk_mcp_server.py)

- 实施MCP协议 - 执行Hammerspace HSTK CLI命令 - 处理过时文件句柄的自动重试 - 使用真实的HSTK操作(无模拟数据)

  1. Web用户界面 (web_ui/app.py)

- 基于Flask的自然语言界面 - 用于NL理解的人-克劳德整合 - 用于工具执行的MCP客户端 - 实时调试日志流

  1. 🆕 文件监控 (src/file_monitor.py)

- NFS 4.2挂载的基于轮询的文件检测 - 使用MD5和MIME类型自动标记 - 基于文件夹的批处理 - 用于PDF摄取的Kubernetes作业部署 - Milvus收藏管理

  1. 🆕 文件监视器守护程序 (src/file_monitor_daemon.py)

- 用于运行文件监视器的独立守护进程 - 用于持续监控的后台服务 - 日志记录和错误处理

  1. 装载刷新脚本 (refresh_mounts.sh)

- 卸载和重新装载Hammerspace NFS共享 - 解决过时的文件句柄错误 - 支持选择性装载刷新

数据流

User Input (NL) → Claude AI → MCP Tool Selection → HSTK CLI → Hammerspace
                     ↓
                 MCP Server
                     ↓
              Real Operations

🆕 文件摄取数据流

New File/Folder → File Monitor → Tagging → Kubernetes Job → PDF Processing → Milvus Collection
                     ↓
                 Event Logging → Web UI Dashboard → Real-time Monitoring

🧪 测试

Web UI测试

cd tests
./test_web_ui_curl.sh
python test_web_ui.py

单指令测试

cd tests
./test_single_question.sh "Tag all files in /modelstore/test as modelsetid=test123"

🆕 文件摄入测试

# Start file monitor daemon
python3 src/file_monitor_daemon.py

# Check monitor status
curl http://localhost:5000/api/monitor/status

# View ingestion events
curl http://localhost:5000/api/monitor/events

# Test with new files
cp test.pdf /mnt/anvil/hub/

🛠️ 服务管理

统一服务管理

# Start all services with one command
./start_all_services.sh start

# Check service status
./start_all_services.sh status

# Stop all services
./start_all_services.sh stop

# Restart all services
./start_all_services.sh restart

个性化服务管理

# View logs for specific services
./start_all_services.sh logs web-ui
./start_all_services.sh logs file-monitor
./start_all_services.sh logs hammerspace-mcp
./start_all_services.sh logs milvus-mcp

# Attach to service screen sessions
./start_all_services.sh attach web-ui
./start_all_services.sh attach file-monitor

# Clean up old logs
./start_all_services.sh cleanup

服务URL

一旦启动,服务可在以下网址获得:

  • Web用户界面: http://localhost:5000
  • Web用户界面(局域网): http://10.0.0.236:5000
  • Hammerspace MCP:基于stdio(无HTTP端点)
  • Milvus MCP: http://localhost:9902/sse(如果Milvus正在跑步)
  • Kubernetes MCP: http://localhost:9903/sse(未实施)

查看日志

# Web UI logs
tail -f logs/web_ui.log

# MCP Server logs
tail -f logs/aiq_hstk_mcp.log

# File monitor logs
tail -f logs/retroactive_fully_disabled.log

# Real-time streaming (in browser)
# Visit http://localhost:5000/debug

🐛 故障排除

过时的文件句柄错误

当出现过时的文件句柄时,MCP服务器会自动检测并重试操作。如果问题仍然存在:

# Manual mount refresh
./refresh_mounts.sh

# Or via Web UI
"Refresh Hammerspace mounts"

标签操作不起作用

  1. 确保您的目标是已装载的目录
  2. 验证HSTK CLI是否可访问: /home/mike/hs-mcp-1.0/.venv/bin/hs --version
  3. 检查支架: mount | grep hammerspace

🆕 文件摄入问题

  1. 未检测到文件:检查文件监视器是否正在运行
   ps aux | grep file_monitor_daemon
  1. Kubernetes作业失败:检查吊舱状态
   kubectl get pods -l app=pdf-ingest
   kubectl logs -l app=pdf-ingest
  1. Milvus收藏空:检查摄取服务日志
   kubectl logs -l app=ingestor-server
  1. NFS装载问题:验证安装点
   mount | grep anvil
   ls -la /mnt/anvil/hub/

常见标签格式

Hammerspace中的标签使用以下格式: namespace.key=value

示例:

  • user.modelsetid=my-demo
  • user.project=gtc-2025
  • user.tier=critical

📚 文档

🚀 快速开始

🏗️ 架构和API

🔗 集成指南

📖 功能指南

🧪 测试指南

🔒 生产部署

安全考虑

  • 在反向代理(nginx、Apache)后面运行Web UI
  • 使用HTTPS进行生产部署
  • 通过身份验证限制访问
  • 审查和限制MCP工具权限

性能调整

  • 调整 max_files_to_check 对于大型文件系统(默认值:500)
  • 使用特定 share_path 限制搜索范围的参数
  • 监控日志文件以发现性能问题

📞 支持

有关支持和问题:

  • 在中创建问题
  • 查看文档 docs/ 文件夹
  • 查看上面的故障排除部分

🎉 最新动态

🆕 2025年10月23日-高级服务管理+多格式支持

  • :统一服务管理脚本(start_all_services.sh)适用于所有MCP服务
  • :屏幕会话持久性-服务在SSH断开连接后仍然存在
  • :崩溃服务的自动重启功能
  • :系统集成,启动时自动启动
  • :多格式文件支持(BMP、DOCX、HTML、JPEG、JSON、MD、PDF、PNG、PPTX、SH、TIFF、TXT、MP3)
  • :基于标记的层管理,具有自动的tier0升级/降级功能
  • :递归文件夹标记,性能提高40倍
  • :增强的事件过滤和监控UI
  • :全面的健康监测和港口冲突解决
  • 固定的:日志和CLI输出中的Unicode处理
  • 固定的:NFS重试机制的定时问题
  • 固定的:使用回退方法的Hammerspace CLI标签操作
  • 固定的:单个文件与文件夹级标记优化

🆕 2025年10月16日-自动文件摄取+Kubernetes+MCP

  • :与Kubernetes集成的完整自动文件摄取系统
  • :NFS 4.2挂载的基于轮询的文件监控(不支持inotify)
  • :基于文件夹的批处理-新文件夹触发集合创建
  • :用于PDF嵌入的Milvus矢量数据库集成
  • :使用ConfigMaps进行Kubernetes作业部署以进行文件处理
  • :智能集合命名(基于文件夹和顺序)
  • :实时事件流和监控仪表板
  • :用于连续操作的独立文件监视器守护进程
  • 固定的:仅轮询方法的NFS兼容性问题
  • 固定的:Kubernetes PVC集成和路径映射
  • 固定的:Milvus集合命名约定(下划线与连字符)
  • 固定的:容器环境中的文件路径处理
  • 固定的:作业完成跟踪和错误处理
  • 固定的:追溯标记时间窗口配置
  • 固定的:线程和异步操作协调

2025年10月9日-文件摄入事件系统和监控UI

  • :通过代理事件消费 get_file_ingest_events MCP工具
  • :实时监控仪表板位于 /monitor 通过实时事件流媒体
  • :用于事件查询和监视的API终结点
  • 固定的:重复文件处理-文件现在只标记一次
  • 固定的:内存跟踪可防止重复标记相同的文件
  • ✅ 重复数据删除验证工具: check_duplicates.shfind-dup.sh
  • ✅ 完整事件元数据:时间戳、文件路径、MD5哈希、MIME类型、文件大小
  • ✅ 事件过滤:按类型、文件模式或时间戳
  • ✅ Toast新文件到达通知
  • ✅ 带有MD5/MIME标记的自动文件监控服务

以前的更新

  • ✅ 添加了对过时文件句柄错误的自动装载刷新
  • ✅ 日志中已抑制的Anthropic API弃用警告
  • ✅ 在所有聊天消息中添加了复制按钮
  • ✅ 修复了部分对齐状态检测
  • ✅ 基于Web的自然语言控制台与Claude AI

______________________________________________________________________

MCP 1.5 -具有自然语言界面和自动文件摄取的生产就绪Hammerspace存储管理。

目录标签

目录标签

多格式支持PythonClaude存储管理本地部署自然语言处理文件自动化AI集成Kubernetes集成

支持客户端

ClaudeCursorWindsurf

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

10

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononelocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP