Skip to main content
Glama

Philips Hue MCP Server

by ThomasRohde
CONTRIBUTING.md4.06 kB
# Contributing to Hue MCP Server Thank you for your interest in contributing to the Philips Hue MCP Server! This document provides guidelines and instructions for contributing. ## Development Setup 1. **Fork and clone the repository:** ```bash git clone https://github.com/ThomasRohde/hue-mcp.git cd hue-mcp ``` 2. **Set up your development environment:** Using uv (recommended): ```bash uv sync # Activate virtual environment (optional, uv run handles this automatically) source .venv/bin/activate # On Windows: .venv\Scripts\activate ``` Or using pip: ```bash python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate pip install -e ".[dev]" ``` 3. **Set up your Hue bridge:** - Ensure your Hue bridge is on your local network - Press the link button when prompted during first run ## Development Workflow 1. **Create a new branch:** ```bash git checkout -b feature/your-feature-name ``` 2. **Make your changes:** - Write clear, concise code - Follow the existing code style - Add docstrings to all functions and classes - Use type hints for all function parameters and return values 3. **Test your changes:** ```bash # Test with MCP Inspector uv run mcp dev hue_server.py # Run tests uv run pytest ``` 4. **Check code quality:** ```bash # Format with ruff uv run ruff check --fix hue_server.py # Type check with mypy uv run mypy hue_server.py ``` ## Code Style Guidelines - **Python Version:** Target Python 3.10+ for maximum compatibility - **Type Hints:** Use modern Python type hints (e.g., `list[int]` instead of `List[int]`) - **Docstrings:** Use Google-style docstrings with Args, Returns, and Examples sections - **Line Length:** Keep lines under 100 characters - **Imports:** Group imports in the following order: 1. Standard library 2. Third-party packages 3. Local modules - **Error Handling:** Provide informative error messages ## Testing - Write tests for new features and bug fixes - Ensure all tests pass before submitting a PR - Include both unit tests and integration tests where appropriate ## Documentation - Update the README.md if you add new features - Add docstrings to all new functions and classes - Include usage examples for new tools or resources ## Pull Request Process 1. **Update documentation:** Ensure README and docstrings are up-to-date 2. **Run tests:** Make sure all tests pass 3. **Update CHANGELOG:** Add your changes to the unreleased section 4. **Create PR:** Submit a pull request with a clear title and description 5. **Address feedback:** Respond to review comments promptly ## Pull Request Guidelines - **Title:** Use a clear, descriptive title - **Description:** Explain what changes you made and why - **Reference Issues:** Link to any related issues - **Keep it focused:** One feature or fix per PR - **Small commits:** Make small, logical commits with clear messages ## Bug Reports When reporting bugs, please include: - **Description:** Clear description of the bug - **Steps to Reproduce:** Step-by-step instructions - **Expected Behavior:** What you expected to happen - **Actual Behavior:** What actually happened - **Environment:** Python version, OS, Hue bridge model - **Logs:** Relevant error messages or logs ## Feature Requests When requesting features, please include: - **Use Case:** Why you need this feature - **Proposed Solution:** How you envision it working - **Alternatives:** Other solutions you've considered - **Examples:** Similar features in other tools ## Code of Conduct - Be respectful and inclusive - Welcome newcomers and help them get started - Focus on constructive feedback - Assume good intentions ## Questions? If you have questions about contributing, feel free to: - Open an issue for discussion - Reach out to the maintainers - Check existing issues and PRs for similar questions ## License By contributing, you agree that your contributions will be licensed under the MIT License.

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ThomasRohde/hue-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server