# NVIDIA AI Q Toolkit MCP Configuration for Volume Canvas
# This configuration follows NVIDIA's AIQ Toolkit deployment patterns
server:
name: "hs-1.5-nvidia-volume-canvas-mcp"
version: "1.5.0"
description: "Hammerspace Volume Canvas MCP Server with NVIDIA AI Q Toolkit Integration"
# Server settings following NVIDIA patterns
host: "0.0.0.0"
port: 9901
path: "/sse"
# Transport configuration
transport:
type: "http"
protocol: "sse" # Server-Sent Events
timeout: 30
# Authentication
auth:
type: "none" # No authentication for now
token: ""
# Logging
logging:
level: "INFO"
format: "json"
file: "logs/hs_1_5_nvidia.log"
# Capabilities
capabilities:
- "volume_exploration"
- "file_management"
- "data_movement"
- "objective_management"
- "tag_management"
- "job_monitoring"
- "system_analysis"
- "debug_console"
# Function definitions for Volume Canvas features
functions:
# Volume Management Functions
list_volumes:
description: "List all storage volumes with categorization"
input_schema:
type: "object"
properties:
filter:
type: "string"
enum: ["all", "lss", "tier0", "tier1", "third_party", "production", "se-lab"]
default: "all"
storage_system:
type: "string"
enum: ["production", "se-lab"]
default: "production"
required: []
output_schema:
type: "object"
properties:
volumes:
type: "array"
items:
type: "object"
properties:
uuid: { type: "string" }
name: { type: "string" }
type: { type: "string" }
state: { type: "string" }
size_bytes: { type: "integer" }
used_bytes: { type: "integer" }
created: { type: "string" }
modified: { type: "string" }
list_shares:
description: "List all shares for a given volume"
input_schema:
type: "object"
properties:
volume_uuid:
type: "string"
description: "UUID of the volume to list shares for"
storage_system:
type: "string"
enum: ["production", "se-lab"]
default: "production"
required: ["volume_uuid"]
output_schema:
type: "object"
properties:
shares:
type: "array"
items:
type: "object"
properties:
uuid: { type: "string" }
name: { type: "string" }
path: { type: "string" }
file_count: { type: "integer" }
created: { type: "string" }
modified: { type: "string" }
# File Management Functions
list_files:
description: "List files in a specific path"
input_schema:
type: "object"
properties:
path:
type: "string"
default: "/"
limit:
type: "integer"
default: 100
minimum: 1
maximum: 1000
storage_system:
type: "string"
enum: ["production", "se-lab"]
default: "production"
required: ["path"]
output_schema:
type: "object"
properties:
files:
type: "array"
items:
type: "object"
properties:
name: { type: "string" }
path: { type: "string" }
size_bytes: { type: "integer" }
created: { type: "string" }
modified: { type: "string" }
share_uuid: { type: "string" }
volume_uuid: { type: "string" }
search_files:
description: "Search for files using various criteria"
input_schema:
type: "object"
properties:
query:
type: "string"
description: "Search query (supports regex)"
search_by_tags:
type: "boolean"
default: true
search_by_path:
type: "boolean"
default: true
case_sensitive:
type: "boolean"
default: false
storage_system:
type: "string"
enum: ["production", "se-lab"]
default: "production"
required: ["query"]
output_schema:
type: "object"
properties:
results:
type: "array"
items:
type: "object"
properties:
name: { type: "string" }
path: { type: "string" }
size_bytes: { type: "integer" }
tags: { type: "object" }
share_uuid: { type: "string" }
volume_uuid: { type: "string" }
# Data Movement Functions
copy_files:
description: "Copy files from source to target volume"
input_schema:
type: "object"
properties:
source_type:
type: "string"
enum: ["lss", "tier0", "tier1", "third_party"]
target_type:
type: "string"
enum: ["lss", "tier0", "tier1", "third_party"]
path:
type: "string"
default: "/modelstore"
recursive:
type: "boolean"
default: true
storage_system:
type: "string"
enum: ["production", "se-lab"]
default: "production"
required: ["source_type", "target_type", "path"]
output_schema:
type: "object"
properties:
success: { type: "boolean" }
job:
type: "object"
properties:
uuid: { type: "string" }
name: { type: "string" }
status: { type: "string" }
progress: { type: "number" }
created: { type: "string" }
clone_files:
description: "Clone files from source to target volume"
input_schema:
type: "object"
properties:
source_type:
type: "string"
enum: ["lss", "tier0", "tier1", "third_party"]
target_type:
type: "string"
enum: ["lss", "tier0", "tier1", "third_party"]
path:
type: "string"
default: "/modelstore"
storage_system:
type: "string"
enum: ["production", "se-lab"]
default: "production"
required: ["source_type", "target_type", "path"]
output_schema:
type: "object"
properties:
success: { type: "boolean" }
job:
type: "object"
properties:
uuid: { type: "string" }
name: { type: "string" }
status: { type: "string" }
progress: { type: "number" }
created: { type: "string" }
move_files:
description: "Move files from source to target volume"
input_schema:
type: "object"
properties:
source_type:
type: "string"
enum: ["lss", "tier0", "tier1", "third_party"]
target_type:
type: "string"
enum: ["lss", "tier0", "tier1", "third_party"]
path:
type: "string"
default: "/modelstore"
storage_system:
type: "string"
enum: ["production", "se-lab"]
default: "production"
required: ["source_type", "target_type", "path"]
output_schema:
type: "object"
properties:
success: { type: "boolean" }
job:
type: "object"
properties:
uuid: { type: "string" }
name: { type: "string" }
status: { type: "string" }
progress: { type: "number" }
created: { type: "string" }
# Objective Management Functions
place_on_tier:
description: "Create a place-on-tier objective"
input_schema:
type: "object"
properties:
volume_type:
type: "string"
enum: ["lss", "tier0", "tier1", "third_party"]
path:
type: "string"
default: "/modelstore"
tier_name:
type: "string"
default: "tier1"
storage_system:
type: "string"
enum: ["production", "se-lab"]
default: "production"
required: ["volume_type", "path", "tier_name"]
output_schema:
type: "object"
properties:
success: { type: "boolean" }
objective:
type: "object"
properties:
uuid: { type: "string" }
name: { type: "string" }
objective_type: { type: "string" }
state: { type: "string" }
created: { type: "string" }
exclude_from_tier:
description: "Create an exclude-from-tier objective"
input_schema:
type: "object"
properties:
volume_type:
type: "string"
enum: ["lss", "tier0", "tier1", "third_party"]
path:
type: "string"
default: "/modelstore"
tier_name:
type: "string"
default: "tier0"
storage_system:
type: "string"
enum: ["production", "se-lab"]
default: "production"
required: ["volume_type", "path", "tier_name"]
output_schema:
type: "object"
properties:
success: { type: "boolean" }
objective:
type: "object"
properties:
uuid: { type: "string" }
name: { type: "string" }
objective_type: { type: "string" }
state: { type: "string" }
created: { type: "string" }
# Job Management Functions
list_jobs:
description: "List all active data movement jobs"
input_schema:
type: "object"
properties:
storage_system:
type: "string"
enum: ["production", "se-lab"]
default: "production"
status_filter:
type: "string"
enum: ["all", "running", "completed", "failed", "pending"]
default: "all"
required: []
output_schema:
type: "object"
properties:
jobs:
type: "array"
items:
type: "object"
properties:
uuid: { type: "string" }
name: { type: "string" }
status: { type: "string" }
progress: { type: "number" }
created: { type: "string" }
started: { type: "string" }
completed: { type: "string" }
get_job_status:
description: "Get detailed status of a specific job"
input_schema:
type: "object"
properties:
job_uuid:
type: "string"
description: "UUID of the job to get status for"
storage_system:
type: "string"
enum: ["production", "se-lab"]
default: "production"
required: ["job_uuid"]
output_schema:
type: "object"
properties:
uuid: { type: "string" }
name: { type: "string" }
status: { type: "string" }
progress: { type: "number" }
created: { type: "string" }
started: { type: "string" }
completed: { type: "string" }
error_message: { type: "string" }
# Tag Management Functions
get_tags:
description: "Get tags for a specific file, folder, or share"
input_schema:
type: "object"
properties:
path:
type: "string"
description: "Path to the file, folder, or share"
storage_system:
type: "string"
enum: ["production", "se-lab"]
default: "production"
required: ["path"]
output_schema:
type: "object"
properties:
tags:
type: "object"
additionalProperties: { type: "string" }
path: { type: "string" }
set_tag:
description: "Set a tag on a file, folder, or share"
input_schema:
type: "object"
properties:
path:
type: "string"
description: "Path to the file, folder, or share"
tag_name:
type: "string"
description: "Name of the tag"
tag_value:
type: "string"
description: "Value of the tag"
storage_system:
type: "string"
enum: ["production", "se-lab"]
default: "production"
required: ["path", "tag_name", "tag_value"]
output_schema:
type: "object"
properties:
success: { type: "boolean" }
message: { type: "string" }
clear_all_tags:
description: "Clear all tags from a file, folder, or share"
input_schema:
type: "object"
properties:
path:
type: "string"
description: "Path to the file, folder, or share"
storage_system:
type: "string"
enum: ["production", "se-lab"]
default: "production"
required: ["path"]
output_schema:
type: "object"
properties:
success: { type: "boolean" }
message: { type: "string" }
# System Analysis Functions
get_system_status:
description: "Get overall system status and health"
input_schema:
type: "object"
properties:
storage_system:
type: "string"
enum: ["production", "se-lab"]
default: "production"
required: []
output_schema:
type: "object"
properties:
status: { type: "string" }
data:
type: "object"
properties:
summary:
type: "object"
properties:
total_nodes: { type: "integer" }
total_volumes: { type: "integer" }
total_shares: { type: "integer" }
total_files: { type: "integer" }
health: { type: "string" }
last_updated: { type: "string" }
analyze_volume_constraints:
description: "Analyze volume constraints and capacity"
input_schema:
type: "object"
properties:
volume_type:
type: "string"
enum: ["lss", "tier0", "tier1", "third_party"]
storage_system:
type: "string"
enum: ["production", "se-lab"]
default: "production"
required: ["volume_type"]
output_schema:
type: "object"
properties:
analysis:
type: "object"
properties:
capacity: { type: "object" }
durability: { type: "object" }
performance: { type: "object" }
constraints: { type: "array" }
# Debug and Diagnostic Functions
get_objective_debug_info:
description: "Get debug information for objectives"
input_schema:
type: "object"
properties:
objective_name:
type: "string"
description: "Name of the objective to debug"
storage_system:
type: "string"
enum: ["production", "se-lab"]
default: "production"
required: []
output_schema:
type: "object"
properties:
debug_info:
type: "object"
properties:
total_objectives: { type: "integer" }
successful: { type: "integer" }
failed: { type: "integer" }
in_progress: { type: "integer" }
failed_objectives: { type: "array" }
verify_data_integrity:
description: "Verify data integrity on a volume"
input_schema:
type: "object"
properties:
volume_type:
type: "string"
enum: ["lss", "tier0", "tier1", "third_party"]
path:
type: "string"
default: "/modelstore"
storage_system:
type: "string"
enum: ["production", "se-lab"]
default: "production"
required: ["volume_type", "path"]
output_schema:
type: "object"
properties:
success: { type: "boolean" }
result: { type: "object" }
integrity_status: { type: "string" }
# Workflow definitions
workflows:
volume_migration:
description: "Complete workflow for migrating data between volumes"
steps:
- "list_volumes"
- "list_files"
- "copy_files"
- "verify_data_integrity"
- "get_job_status"
objective_management:
description: "Workflow for managing storage objectives"
steps:
- "place_on_tier"
- "exclude_from_tier"
- "get_objective_debug_info"
system_analysis:
description: "Complete system analysis workflow"
steps:
- "get_system_status"
- "analyze_volume_constraints"
- "list_jobs"
- "get_objective_debug_info"