Skip to main content
Glama

CourtListener Legal Research MCP Server

by khizar-anjum
CONTRIBUTING.md•3.78 kB
# Contributing to CourtListener MCP Server Thank you for your interest in contributing to the CourtListener MCP Server! We welcome contributions from the community and are grateful for your support. ## How to Contribute ### 1. Fork the Repository - Navigate to the [CourtListener MCP repository](https://github.com/yourusername/courtlistener-mcp) - Click the "Fork" button in the top-right corner - Clone your fork locally: ```bash git clone https://github.com/YOUR-USERNAME/courtlistener-mcp.git cd courtlistener-mcp ``` ### 2. Set Up Your Development Environment ```bash # Install dependencies npm install # Set up your API key echo 'COURTLISTENER_API_KEY="your_api_key"' > .env # Generate court resources npm run generate-courts # Build the project npm run build # Run in development mode npm run dev ``` ### 3. Create a Feature Branch ```bash git checkout -b feature/your-feature-name # or git checkout -b fix/your-bug-fix ``` ### 4. Make Your Changes - Write clean, maintainable code - Follow the existing code style and conventions - Add or update tests as needed - Update documentation if you're changing functionality ### 5. Test Your Changes ```bash # Run in development mode to test npm run dev # Validate resources if you've made court data changes npm run validate-resources ``` ### 6. Commit Your Changes - Write clear, descriptive commit messages - Use conventional commit format when possible: ``` feat: Add new search functionality fix: Resolve issue with date parsing docs: Update API documentation ``` ### 7. Push to Your Fork ```bash git push origin feature/your-feature-name ``` ### 8. Open a Pull Request - Go to the original repository on GitHub - Click "New Pull Request" - Select your fork and branch - Provide a clear description of your changes: - What problem does this solve? - What changes did you make? - Any breaking changes? - Screenshots if applicable ### 9. Code Review - Wait for maintainers to review your PR - Respond to any feedback or requested changes - Once approved, your changes will be merged! ## Development Guidelines ### Code Style - Use TypeScript for all new code - Follow existing naming conventions - Keep functions focused and single-purpose - Add type definitions for all parameters and return values ### Court Data Updates If you're updating court data: ```bash # Update court resources npm run update-courts # Validate the generated resources npm run validate-resources ``` ### API Integration - Respect CourtListener API rate limits - Handle errors gracefully - Cache responses when appropriate - Follow CourtListener's API guidelines ### Documentation - Update README.md for user-facing changes - Add JSDoc comments for new functions - Update type definitions as needed - Include examples for new features ## Types of Contributions We welcome various types of contributions: - **Bug Fixes**: Found a bug? Submit a fix! - **New Features**: Add new tools or enhance existing ones - **Documentation**: Improve README, add examples, fix typos - **Court Data**: Update court resources and mappings - **Performance**: Optimize code for better performance - **Testing**: Add test coverage - **Accessibility**: Improve error messages and user experience ## Questions or Issues? - **Bug Reports**: Open an issue with reproduction steps - **Feature Requests**: Open an issue describing the feature - **Questions**: Start a discussion in the Issues section - **Security Issues**: Please email directly (do not open public issues) ## License By contributing, you agree that your contributions will be licensed under the MIT License. ## Acknowledgments Thank you for contributing to make legal research more accessible! Your efforts help democratize access to legal information.

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/khizar-anjum/courtlistener-mcp'

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