Skip to main content
Glama
miroslawfranek

Open-E JovianDSS REST API Documentation MCP Server

README.md
# Open-E JovianDSS REST API Documentation MCP Server

A Model Context Protocol (MCP) server that provides Claude Code with access to Open-E JovianDSS REST API documentation, enabling intelligent assistance with JovianDSS development and integration.

## ๐Ÿš€ Features

- **๐Ÿ“š Documentation Access**: Retrieve latest or trunk versions of JDSS REST API documentation
- **๐Ÿ” Smart Search**: Search within documentation for specific terms, endpoints, and concepts
- **๐Ÿ”— API Analysis**: Extract and analyze API endpoints, HTTP methods, and schemas
- **๐Ÿ“ฅ ZIP Downloads**: Access complete documentation packages for offline use
- **๐Ÿ†š Version Comparison**: Compare different versions of documentation
- **๐ŸŽฏ Global Installation**: Install once, use everywhere across all your projects

## ๐Ÿ“ฆ Installation

### Quick Install (Recommended)

```bash
# Install globally from GitHub
npm install -g https://github.com/miroslawfranek/JDSS-REST-Documentation-MCP.git

# Verify installation
jdss-rest-doc --help
```

### Manual Installation

```bash
# Clone repository
git clone https://github.com/miroslawfranek/JDSS-REST-Documentation-MCP.git
cd JDSS-REST-Documentation-MCP

# Install dependencies
npm install

# Make globally available
npm install -g .
```

### Using Installation Script

```bash
# Run the comprehensive installation script
./install.sh
```

## ๐Ÿ”ง Configuration

### Claude Code Integration

Add to your Claude Code MCP configuration:

```json
{
  "mcpServers": {
    "jdss-rest-documentation": {
      "command": "jdss-rest-doc-mcp",
      "env": {
        "NODE_ENV": "production"
      }
    }
  }
}
```

### Claude Desktop Integration

Add to Claude Desktop settings:

```json
{
  "mcpServers": {
    "jdss-rest-documentation": {
      "command": "node",
      "args": ["path/to/jdss-rest-doc-mcp/index.js"]
    }
  }
}
```

## ๐ŸŽฏ Usage

### Command Line Interface

```bash
# Start MCP server
jdss-rest-doc start

# Test documentation access
jdss-rest-doc test

# Explore and download documentation
jdss-rest-doc explore

# Show configuration information
jdss-rest-doc config

# View usage examples
jdss-rest-doc demo
```

### Claude Integration

Once configured, you can ask Claude:

- *"Get the latest JovianDSS REST API documentation"*
- *"Search for 'volume' in the JDSS documentation"*
- *"Analyze the API endpoints in the JovianDSS documentation"*
- *"Compare latest and trunk versions of JDSS docs"*
- *"Download the complete JDSS documentation as ZIP"*

## ๐Ÿ› ๏ธ Available MCP Tools

### 1. `get_edss_documentation`
Retrieve JDSS REST API documentation content.

**Parameters:**
- `version`: "latest" or "trunk" (default: "latest")
- `section`: Optional specific section to extract

**Example:**
```json
{
  "name": "get_edss_documentation",
  "arguments": {
    "version": "latest",
    "section": "authentication"
  }
}
```

### 2. `search_edss_documentation`
Search within the documentation for specific terms.

**Parameters:**
- `query`: Search term (required)
- `version`: "latest", "trunk", or "both" (default: "latest")

**Example:**
```json
{
  "name": "search_edss_documentation", 
  "arguments": {
    "query": "volume management",
    "version": "both"
  }
}
```

### 3. `analyze_edss_api_endpoints`
Extract and analyze API endpoints from documentation.

**Parameters:**
- `version`: "latest" or "trunk" (default: "latest") 
- `detailed`: Include detailed analysis (default: false)

### 4. `download_edss_documentation`
Get information about downloading documentation as ZIP.

**Parameters:**
- `download`: Return download information (default: true)

### 5. `compare_documentation_versions`
Compare different versions of the documentation.

**Parameters:**
- `focus`: "endpoints", "changes", "summary", or "all" (default: "summary")

## ๐Ÿ“‹ Documentation URLs

The MCP server accesses these Open-E JovianDSS documentation sources:

- **Latest**: `http://dh.lan:777/docs/EDSS/JEFFERSONVILLE/documentation/v4/`
- **Trunk**: `http://dh.lan:777/docs/EDSS/trunk/documentation/v4/`
- **ZIP Download**: `http://dh.lan:777/docs/EDSS/JEFFERSONVILLE/documentation/v4/get_doc.php?t=zip`

## ๐Ÿ—๏ธ Development

### Project Structure

```
jdss-rest-mcp/
โ”œโ”€โ”€ package.json              # NPM package configuration
โ”œโ”€โ”€ README.md                  # This documentation
โ”œโ”€โ”€ index.js                   # Main MCP server
โ”œโ”€โ”€ cli.js                     # Command-line interface
โ”œโ”€โ”€ install.sh                 # Installation script
โ”œโ”€โ”€ edss-doc-explorer.js       # Documentation analysis tool
โ””โ”€โ”€ examples/
    โ”œโ”€โ”€ claude-queries.md      # Example Claude interactions
    โ””โ”€โ”€ mcp-config.json        # MCP configuration examples
```

### Prerequisites

- **Node.js**: Version 18.0.0 or higher
- **npm**: Latest stable version
- **Network Access**: To Open-E documentation servers

### Local Development

```bash
# Clone repository
git clone https://github.com/miroslawfranek/JDSS-REST-Documentation-MCP.git
cd JDSS-REST-Documentation-MCP

# Install dependencies
npm install

# Run in development mode
npm run dev

# Test CLI functionality  
npm run test
```

## ๐Ÿงช Testing

### Test Documentation Access

```bash
# Test all documentation endpoints
jdss-rest-doc test

# Test with Node.js directly
node cli.js test
```

### Test MCP Server

```bash
# Start server and test with Claude
npm start

# Run exploration and analysis
npm run explore
```

## ๐Ÿ“– Documentation Structure

The JovianDSS REST API documentation typically includes:

- **Authentication**: API key management and login procedures
- **Volume Management**: Create, modify, and delete storage volumes
- **Pool Operations**: ZFS pool management and monitoring
- **System Information**: Hardware status and system configuration
- **User Management**: User accounts and permissions
- **Monitoring**: Performance metrics and health status
- **Backup & Replication**: Data protection features
- **Network Configuration**: iSCSI, NFS, and CIFS settings

## ๐Ÿ” Search Capabilities

The MCP server can find information about:

- **API Endpoints**: `/api/v4/volumes`, `/api/v4/pools`, etc.
- **HTTP Methods**: GET, POST, PUT, DELETE operations
- **Parameters**: Request/response schemas and data types
- **Authentication**: Token-based access and session management
- **Error Codes**: HTTP status codes and error handling
- **Medical/Clinical Terms**: Patient, assessment, score, examination
- **Storage Terms**: Volume, pool, dataset, snapshot, replication

## ๐Ÿค Contributing

1. Fork the repository
2. Create a feature branch: `git checkout -b feature-name`
3. Make your changes and test thoroughly
4. Commit with clear messages: `git commit -m "Add feature description"`
5. Push to your fork: `git push origin feature-name`
6. Submit a pull request

## ๐Ÿ“„ License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## ๐Ÿ™ Acknowledgments

- **Open-E, Inc.** - For JovianDSS and comprehensive REST API documentation
- **Anthropic** - For Claude and the Model Context Protocol framework
- **Professional Wiki** - For MCP server architecture inspiration

## ๐Ÿ“ž Support

- **Issues**: [GitHub Issues](https://github.com/miroslawfranek/JDSS-REST-Documentation-MCP/issues)
- **Documentation**: [Project Wiki](https://github.com/miroslawfranek/JDSS-REST-Documentation-MCP/wiki)
- **Open-E Support**: [Open-E Knowledge Base](https://www.open-e.com/support/)

---

**๐ŸŽฏ Ready to enhance your JovianDSS development experience with intelligent documentation assistance!**

TDQS

A3.5/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a distinct action on documentation: discovering, downloading, retrieving, searching, analyzing endpoints, and comparing versions. No two tools have overlapping purposes.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with underscores (e.g., discover_documentation_links, download_edss_documentation). No deviations or mixed conventions.

Tool Count5/5

7 tools is well-scoped for a documentation retrieval and analysis server. Each tool serves a clear need without unnecessary duplication.

Completeness4/5

Covers core documentation lifecycle: discovery, download, retrieval, search, analysis, and comparison. A minor gap is the absence of a tool for direct endpoint viewing, but search and analysis effectively address this.

Maintenance

ActivityInactive
ResponsivenessNo issues