Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
40c83b3
feat: integrate DSA BAR tools for disk file system management
Asimz4321 Sep 3, 2025
9ff7afd
feat: Enhanced BAR tools documentation and architecture
Asimz4321 Sep 3, 2025
6eb66af
Enhance BAR tools documentation with DSA architecture diagram
Asimz4321 Sep 4, 2025
ac80cfe
AWS S3 Backup Config Mgmt functions
anprasad2030 Sep 18, 2025
527c2de
minor cleanup for AWSS3 config mgmt functions
anprasad2030 Sep 18, 2025
9ecbe49
Merge pull request #1 from Asimz4321/dsa-aws-mgmt
anprasad2030 Sep 18, 2025
5b7201f
minor fixes in ManageAWSS3ConfigOps
anprasad2030 Sep 19, 2025
cdb08c4
Fix the description forAWSS3Configmgmt
anprasad2030 Sep 19, 2025
497a377
Merge pull request #2 from Asimz4321/dsa-aws-mgmt
anprasad2030 Sep 19, 2025
e1a03f9
Merge branch 'main' into feature/bar-tools-integration
Asimz4321 Sep 19, 2025
d42f8fd
Fixed tool description warnings by copying docstrings in make_tool_wr…
Asimz4321 Sep 20, 2025
fb449a3
Update BAR README to mark bar_manageMediaServer as implemented
Asimz4321 Sep 20, 2025
2436acc
Implement bar_manageTeradataSystem
Asimz4321 Sep 20, 2025
2b404b4
Complete bar_manageDiskFileTargetGroup implementation with update notes
Asimz4321 Sep 21, 2025
6abba9f
Implement comprehensive DSA job management operations
Asimz4321 Sep 25, 2025
55ccaf6
fix some error handling, minor issues in the list aws s3 config and a…
anprasad2030 Sep 25, 2025
b5c96b0
remove minor debug printf
anprasad2030 Sep 25, 2025
f96567d
Merge pull request #3 from Asimz4321/dsa-aws-mgmt
anprasad2030 Sep 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,8 @@ We are providing groupings of tools and associated helpful prompts to support al
- **DBA** tools, prompts and resources to facilitate your platform administration tasks:
- [DBA Tools](https://github.com/Teradata/teradata-mcp-server/blob/main/src/teradata_mcp_server/tools/dba/README.md)
- [Security Tools](https://github.com/Teradata/teradata-mcp-server/blob/main/src/teradata_mcp_server/tools/sec/README.md)
- **BAR** tools, prompts and resources for database backup and restore operations:
- [BAR Tools](src/teradata_mcp_server/tools/bar/README.md) integrate AI agents with Teradata DSA (Data Stream Architecture) for comprehensive backup management across multiple storage solutions including disk files, cloud storage (AWS S3, Azure Blob, Google Cloud), and enterprise systems (NetBackup, IBM Spectrum).

## Quick start with Claude Desktop (no installation)
> Prefer to use other tools? Check out our Quick Starts for [VS Code/Copilot](https://github.com/Teradata/teradata-mcp-server/blob/main/docs/server_guide/QUICK_START_VSCODE.md), [Open WebUI](https://github.com/Teradata/teradata-mcp-server/blob/main/docs/server_guide/QUICK_START_OPEN_WEBUI.md), or dive into [simple code examples](https://github.com/Teradata/teradata-mcp-server/blob/main/examples/README.md#client-applications)!
Expand Down
1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ dependencies = [
"python-dotenv>=1.0.0",
"PyYAML>=6.0.0",
"sqlalchemy>=2.0.0,<3.0.0",
"requests>=2.25.0",
]

[project.optional-dependencies]
Expand Down
1 change: 1 addition & 0 deletions src/teradata_mcp_server/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -243,6 +243,7 @@ def _exec(*args, **kwargs):

_exec.__name__ = getattr(func, "__name__", "wrapped_tool")
_exec.__signature__ = new_sig
_exec.__doc__ = func.__doc__ # Copy docstring from original function
if annotations:
_exec.__annotations__ = annotations
return _exec
Expand Down
12 changes: 11 additions & 1 deletion src/teradata_mcp_server/config/profiles.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,4 +39,14 @@ eda:
tool:
- "base_(?!(writeQuery|dynamicQuery)$).*"
- qlty_.*
- sec_userDbPermissions
- sec_userDbPermissions

bar:
tool:
- ^bar_*
- ^base_readQuery$
- ^base_databaseList$
prompt:
- ^bar_*
resource:
- ^bar_*
155 changes: 155 additions & 0 deletions src/teradata_mcp_server/tools/bar/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
# BAR (Backup and Restore) Tools

## AI Agent Integration with DSA Architecture

```mermaid
flowchart TD
%% AI Agent Layer
User[👤 User] --> LLM[🤖 AI Agent] --> Output[📄 Output]

%% MCP Integration
LLM --> MCP[🔌 MCP Server]
MCP --> API[🌐 DSA API]
API --> DSC[🎛️ DSC]

%% DSA Infrastructure
DSC --> DSMain[📊 DSMain]
DSC --> BarNC[📦 BarNC]

%% Data Flow
DB[(🗄️ Database)] <--> DSMain
DSMain <--> BarNC
BarNC --> Storage{💾 Storage}

%% Storage Options
Storage --> Disk[📁 Disk]
Storage --> Cloud[☁️ Cloud]
Storage --> Enterprise[🔒 Enterprise]

%% Styling
classDef primary fill:#e3f2fd,stroke:#1976d2
classDef secondary fill:#f3e5f5,stroke:#7b1fa2
classDef storage fill:#e8f5e8,stroke:#388e3c

class User,LLM,Output primary
class MCP,API,DSC secondary
class DSMain,BarNC,DB,Storage,Disk,Cloud,Enterprise storage
```

## Prerequisites

**DSA Infrastructure** must be properly configured and running before using BAR tools

### Environment Variables
The BAR tools require the following environment variables for DSA connection:

- `DSA_BASE_URL` - Base URL for DSA API (default: https://localhost:9090/)
- `DSA_USERNAME` - Username for DSA authentication (default: admin)
- `DSA_PASSWORD` - Password for DSA authentication (default: admin)
- `DSA_VERIFY_SSL` - Whether to verify SSL certificates (default: true)
- `DSA_CONNECTION_TIMEOUT` - Request timeout in seconds (default: 30)

### BAR Profile Configuration
The BAR profile is defined in `config/profiles.yml` and controls access to BAR-related tools and resources.

**Profile Configuration:**
```yaml
bar:
tool:
- ^bar_* # All BAR tools (bar_manageDsaDiskFileSystem, etc.)
- ^base_readQuery$ # Read-only database queries
- ^base_databaseList$ # Database listing
prompt:
- ^bar_* # BAR-specific prompts
resource:
- ^bar_* # BAR-specific resources
```

**What the BAR profile enables:**
- Access to all `bar_*` tools for backup and restore operations
- Basic database read operations for backup source identification
- Database listing capabilities for backup planning
- BAR-specific prompts and resources

**Usage:** Specify `--profile bar` when running MCP server to enable BAR-specific functionality.


## Available Tools

**Total Estimated Tools: 16** (5 ✅ Developed, 11 🚧 Planned)

### Storage Configuration Tools

#### bar_manageDsaDiskFileSystem ✅
**Status**: Developed
Unified tool for managing DSA disk file system configurations for backup storage.

#### bar_manageAwsS3 🚧
**Status**: Work-In-Progress
Tool for managing AWS S3 bucket configurations for backup storage.

#### bar_manageAzureBlob 🚧
**Status**: Planned
Tool for managing Azure Blob Storage configurations for backup storage.

#### bar_manageGoogleCloud 🚧
**Status**: Planned
Tool for managing Google Cloud Storage configurations for backup storage.

#### bar_manageNetBackup 🚧
**Status**: Planned
Tool for managing NetBackup configurations for enterprise backup storage.

#### bar_manageIbmSpectrum 🚧
**Status**: Planned
Tool for managing IBM Spectrum Protect configurations for backup storage.

### Infrastructure Management Tools

#### bar_manageMediaServer ✅
**Status**: Implemented
Tool for managing media server configurations including list, get, add, delete, and consumer management operations.

#### bar_manageTeradataSystem ✅
**Status**: Implemented
Tool for managing Teradata system configurations and consumers in DSA. Supports listing systems, getting system details, configuring new systems, enabling/deleting systems, and managing system consumers.

### Target Group Management Tools

#### bar_manageDiskFileTargetGroup ✅
**Status**: Implemented
Tool for managing disk file target group configurations with comprehensive management of backup target groups including create, list, get, enable, disable, and delete operations.

#### bar_manageAwsS3TargetGroup 🚧
**Status**: Planned
Tool for managing media server configurations with AWS S3 storage solutions.

#### bar_manageAzureBlobTargetGroup 🚧
**Status**: Planned
Tool for managing media server configurations with Azure Blob storage solutions.

#### bar_manageGoogleCloudTargetGroup 🚧
**Status**: Planned
Tool for managing media server configurations with Google Cloud storage solutions.

#### bar_manageNetBackupTargetGroup 🚧
**Status**: Planned
Tool for managing media server configurations with NetBackup storage solutions.

#### bar_manageIbmSpectrumTargetGroup 🚧
**Status**: Planned
Tool for managing media server configurations with IBM Spectrum storage solutions.

### Operations Management Tools

#### bar_manageJob ✅
**Status**: Implemented
Comprehensive tool for managing backup and restore job lifecycle including creation, updates, retrieval, retirement, deletion, execution, and status monitoring. Supports all DSA job operations through REST API endpoints.

#### bar_manageSaveSets 🚧
**Status**: Planned
Tool for managing backup files/objects (save sets) created by backup operations.

---

[← Return to Main README](../../../../README.md)
2 changes: 2 additions & 0 deletions src/teradata_mcp_server/tools/bar/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from .bar_resources import *
from .bar_tools import *
9 changes: 9 additions & 0 deletions src/teradata_mcp_server/tools/bar/bar_objects.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# BAR (Backup and Restore) Objects Configuration
# This file contains object definitions for BAR tools, prompts, and resources

# Note: The main BAR tools are implemented in bar_tools.py as they require
# complex HTTP API interactions with DSA systems that cannot be represented
# as simple SQL queries.

# Future BAR-related prompts and simple tools can be defined here
# following the standard YAML object format.
11 changes: 11 additions & 0 deletions src/teradata_mcp_server/tools/bar/bar_resources.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
"""
BAR (Backup and Restore) Resources for Teradata DSA MCP Server
Provides resources and guidance for DSA backup operations
"""

import logging

logger = logging.getLogger("teradata_mcp_server")

# Resources will be added here in the future
# For now, this module provides the basic structure
Loading