Skip to main content
Glama

RescueTime MCP Server

by ebowman
CONTRIBUTING.md5.02 kB
# Contributing to RescueTime MCP Server Thank you for your interest in contributing to the RescueTime MCP Server! This document outlines the process for contributing to this project. ## Code of Conduct This project adheres to a code of conduct that we expect all contributors to follow. Please be respectful and constructive in all interactions. ## Getting Started ### Prerequisites - Python 3.9 or higher - Git - A RescueTime account with API access ### Development Setup 1. Fork the repository on GitHub 2. Clone your fork locally: ```bash git clone https://github.com/your-username/rescuetime-mcp.git cd rescuetime-mcp ``` 3. Create a virtual environment: ```bash python -m venv venv source venv/bin/activate # On Windows: venv\\Scripts\\activate ``` 4. Install development dependencies: ```bash pip install -e ".[dev]" ``` 5. Set up pre-commit hooks: ```bash pre-commit install ``` 6. Copy the environment template: ```bash cp .env.example .env # Edit .env and add your RescueTime API key ``` ## Development Workflow ### Making Changes 1. Create a new branch for your feature or bug fix: ```bash git checkout -b feature/your-feature-name ``` 2. Make your changes, following our coding standards: - Write clean, readable code - Add type hints to all functions - Follow PEP 8 style guidelines - Write comprehensive docstrings 3. Add tests for new functionality: - Unit tests in `tests/test_*.py` - Integration tests if applicable - Ensure all tests pass 4. Run the development checks: ```bash # Format code black src tests isort src tests # Lint code ruff check src tests # Type checking mypy src # Run tests pytest ``` ### Testing We maintain a comprehensive test suite. Please ensure: - All tests pass: `pytest` - Code coverage remains high: `pytest --cov=rescuetime_mcp` - New features include appropriate tests - Integration tests pass (requires real API key) ### Submitting Changes 1. Commit your changes with a clear, descriptive message: ```bash git commit -m "feat: add new feature description" ``` 2. Push to your fork: ```bash git push origin feature/your-feature-name ``` 3. Create a Pull Request on GitHub with: - Clear title and description - Reference to any related issues - Summary of changes made - Test results ## Coding Standards ### Python Style - Follow PEP 8 - Use type hints for all function parameters and return values - Maximum line length: 88 characters (Black formatting) - Use meaningful variable and function names ### Code Quality Tools We use these tools to maintain code quality: - **Black**: Code formatting - **isort**: Import sorting - **ruff**: Fast linting - **mypy**: Static type checking - **pytest**: Testing framework - **pre-commit**: Git hooks for quality checks ### Documentation - Write clear docstrings for all public functions and classes - Follow Google-style docstring format - Update README.md if adding new features - Include type information in docstrings ### Commit Messages Follow conventional commit format: - `feat:` for new features - `fix:` for bug fixes - `docs:` for documentation changes - `test:` for test additions or changes - `refactor:` for code refactoring - `style:` for formatting changes - `chore:` for maintenance tasks ## Types of Contributions ### Bug Reports When reporting bugs, please include: - Python version - Operating system - Steps to reproduce - Expected vs actual behavior - Error messages or stack traces - Minimal code example if applicable ### Feature Requests For new features: - Describe the use case and problem you're solving - Explain why this would be valuable to other users - Consider implementation complexity - Be open to discussion and feedback ### Documentation Improvements Documentation contributions are always welcome: - Fix typos or unclear explanations - Add examples for complex features - Improve API documentation - Update installation or setup instructions ## API Integration Guidelines When working with RescueTime API integration: - Follow RescueTime API documentation and rate limits - Handle errors gracefully with appropriate exceptions - Use appropriate HTTP status codes - Maintain backwards compatibility when possible - Add proper logging for debugging ## Release Process Releases are managed by maintainers. The process includes: 1. Version bump in `pyproject.toml` and `__init__.py` 2. Update CHANGELOG.md 3. Create GitHub release 4. Publish to PyPI ## Getting Help - Create an issue for bug reports or feature requests - Use GitHub Discussions for questions - Check existing issues before creating new ones - Be patient and respectful when asking for help ## Recognition Contributors are recognized in: - GitHub contributors list - Release notes for significant contributions - Special mentions for major features or fixes Thank you for contributing to RescueTime MCP Server!

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/ebowman/rescuetime-mcp'

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