# MCP Opsbeacon Server An MCP (Model Context Protocol) server implementation for Opsbeacon operations. This server allows you to interact with the Opsbeacon API through Claude, providing tools for listing commands and connections. ## Features - List available Opsbeacon commands - List available Opsbeacon connections - Authentication via bearer token - Error handling and logging - Returns structured JSON responses ## Prerequisites - Python 3.10 or higher - Access to Opsbeacon API - Valid bearer token ## Installation 1. Clone the repository: ```bash git clone [repository-url] cd mcp-opsbeacon-server ``` 2. Install the package: ```bash pip install -e . ``` ## Configuration There are three ways to provide your Opsbeacon configuration: ### Option 1: Using with Claude Desktop If you want to use the MCP server with Claude, add the required configuration to Claude Desktop's config file: ```json { "mcpServers": { "opsbeacon": { "command": "python", "args": [ "-m", "mcp_opsbeacon_server" ], "env": { "OPSBEACON_TOKEN": "your-bearer-token-here", "OPSBEACON_BASE_URL": "your-base-url-here" } } } } ``` ### Option 2: Using Environment Variables You can set the required environment variables directly: ```bash export OPSBEACON_TOKEN="your-bearer-token-here" export OPSBEACON_BASE_URL="your-base-url-here" ``` ### Option 3: Using .env File (Recommended for Development) Create a `.env` file in the project root directory. You can use the provided template: ```bash cp .env.example .env ``` Then edit the `.env` file with your actual values: ``` OPSBEACON_TOKEN=your-bearer-token-here OPSBEACON_BASE_URL=your-base-url-here # Optional, defaults to https://api.console.opsbeacon.com ``` The `.env` file is ignored by git to prevent committing sensitive information. ## Base URL Configuration The `OPSBEACON_BASE_URL` configuration is optional. If not specified, the server will use the default URL: ``` https://api.console.opsbeacon.com ``` You can override this default by setting the `OPSBEACON_BASE_URL` through any of the configuration methods described above. ### Configuration Precedence You can use any of these options simultaneously. When multiple options are used, the precedence is: 1. Environment variables 2. .env file 3. Claude config 4. Default base URL ## Testing To test the server functionality, ensure you have configured the required variables using any of the methods above (the .env file is recommended for development), then run: ```bash python test_server.py ``` ## Usage ### Available Tools 1. `list_commands` - Lists all available Opsbeacon commands - No additional parameters required - Returns command details in JSON format 2. `list_connections` - Lists all available Opsbeacon connections - No additional parameters required - Returns connection details in JSON format ### Example Usage with Claude ``` Human: List all available Opsbeacon commands. Claude: Let me help you list the available commands using the Opsbeacon MCP server. ``` ## Error Handling Common error cases: 1. `OPSBEACON_TOKEN environment variable is not set`: Make sure the token is properly configured in claude_desktop_config.json 2. `Error listing commands/connections`: Check your network connection and token validity 3. `Connection refused`: Make sure the Opsbeacon API is accessible ## Development To add new features or modify existing ones: 1. Make your changes 2. Run the test script to verify functionality 3. Update documentation as needed