Skip to main content
Glama
thoraxe

OpenShift LightSpeed MCP Server

by thoraxe
README.md
# OpenShift LightSpeed MCP Server

A Model Context Protocol (MCP) server that integrates OpenShift LightSpeed capabilities with Claude Code, enabling AI-powered OpenShift assistance and troubleshooting.

## Overview

This MCP server provides Claude Code with access to OpenShift LightSpeed, allowing users to get expert OpenShift guidance, troubleshooting help, and best practices directly within their development workflow.

## Features

- **OpenShift Expertise**: Get answers to OpenShift-related questions and troubleshooting guidance
- **Seamless Integration**: Works directly within Claude Code for enhanced development experience
- **Configurable**: Flexible configuration for different OpenShift LightSpeed deployments
- **Error Handling**: Robust error handling and timeout management

## Installation

### Prerequisites

- Python 3.12+
- [uv](https://docs.astral.sh/uv/) package manager
- Access to an OpenShift LightSpeed API endpoint

### Setup

1. **Clone and install dependencies:**
   ```bash
   cd ols-mcp
   uv sync
   ```

2. **Configure environment:**
   ```bash
   cp .env.example .env
   # Edit .env with your OLS API configuration
   ```

3. **Test the server:**
   ```bash
   uv run python -m ols_mcp.server
   ```

## Configuration

### Environment Variables

Configure the server using environment variables or a `.env` file:

| Variable | Description | Default |
|----------|-------------|---------|
| `OLS_API_URL` | OpenShift LightSpeed API endpoint | `http://localhost:8080` |
| `OLS_API_TOKEN` | Bearer token for authentication | *None* (required for most deployments) |
| `OLS_TIMEOUT` | Request timeout in seconds | `30.0` |
| `OLS_VERIFY_SSL` | SSL certificate verification | `true` |

### Example `.env` file:
```bash
OLS_API_URL=https://your-ols-instance.com
OLS_API_TOKEN=your-bearer-token-here
OLS_TIMEOUT=30.0
OLS_VERIFY_SSL=true
```

## Claude Code Integration

To use this MCP server with Claude Code, add it to your Claude Code configuration:

### Configuration File Location

- **Linux/macOS**: `~/.config/claude-code/config.json`
- **Windows**: `%APPDATA%\claude-code\config.json`

### Configuration Example

Add the following to your `config.json`:

```json
{
  "mcpServers": {
    "openshift-lightspeed": {
      "command": "uv",
      "args": ["run", "python", "-m", "ols_mcp.server"],
      "cwd": "/path/to/your/ols-mcp",
      "env": {
        "OLS_API_URL": "https://your-ols-instance.com",
        "OLS_API_TOKEN": "your-token-here",
        "OLS_TIMEOUT": "30.0",
        "OLS_VERIFY_SSL": "true"
      }
    }
  }
}
```

**Important**: Update the `cwd` path to point to your actual `ols-mcp` directory.

### Verification

1. Restart Claude Code after adding the configuration
2. The `openshift-lightspeed` tool should now be available
3. Test with OpenShift-related questions

## Usage Examples

Once integrated with Claude Code, you can ask questions like:

- "Help me troubleshoot a pod that's failing to start"
- "How do I scale a deployment in OpenShift?"
- "My application is getting 503 errors, what should I check?"
- "Show me how to create a route for my service"
- "What's the best way to configure resource limits?"

Claude Code will automatically use the OpenShift LightSpeed MCP server to provide expert OpenShift guidance.

## Development

### Project Structure

```
ols-mcp/
├── pyproject.toml              # uv project configuration
├── .env.example               # Environment configuration template
├── src/ols_mcp/
│   ├── __init__.py
│   ├── models.py              # Pydantic models for requests/responses
│   ├── client.py              # HTTP client for OLS API communication
│   └── server.py              # MCP server implementation
└── README.md                  # This file
```

### Available Tools

The server provides the following MCP tool:

- **`openshift-lightspeed`**: Submit queries to OpenShift LightSpeed and receive expert guidance

### Error Handling

The server includes comprehensive error handling for:
- Network connectivity issues
- API authentication failures
- Timeout scenarios
- Invalid responses
- SSL certificate problems

## Troubleshooting

### Common Issues

1. **Connection Refused**: Check that `OLS_API_URL` is correct and the service is running
2. **Authentication Errors**: Verify your `OLS_API_TOKEN` is valid and has proper permissions
3. **SSL Errors**: For self-signed certificates, set `OLS_VERIFY_SSL=false`
4. **Timeout Issues**: Increase `OLS_TIMEOUT` for slower networks

### Debug Mode

Run the server with debug logging:
```bash
DEBUG=1 uv run python -m ols_mcp.server
```

## Contributing

This project uses:
- [uv](https://docs.astral.sh/uv/) for dependency management
- [Pydantic](https://docs.pydantic.dev/) for data validation
- [httpx](https://www.python-httpx.org/) for HTTP client functionality
- [MCP SDK](https://modelcontextprotocol.io/) for protocol implementation

## License

This project is part of the OpenShift ecosystem and follows Red Hat's open source practices.

TDQS

B3.3/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusion or overlap, making disambiguation perfect.

Naming Consistency5/5

A single tool name cannot be inconsistent; it follows its own pattern, so consistency is perfect.

Tool Count2/5

One tool is too few for a server presumably handling OpenShift and Kubernetes queries; the scope feels thin and limiting for agents.

Completeness1/5

Only a generic query tool exists, with no support for specific operations (e.g., listing, creating, updating resources), so the surface is severely incomplete.

Maintenance

ActivityInactive
ResponsivenessNo issues