Thank you for your interest in contributing to the Solr MCP Server! This document provides guidelines for contributing to the project.
To avoid duplication, the environment setup, build/run/test workflows, and detailed developer guides live in the dev-docs folder:
If you're ready to contribute code, see Submitting Changes below.
We use Spotless for code formatting and style enforcement. CI enforces spotlessCheck on pull requests.
To keep this document concise, please see the Development Guide for all testing workflows and tips:
To install the project artifacts to your local Maven repository for testing or local development:
./gradlew publishToMavenLocal
This publishes the following artifacts to ~/.m2/repository/org/apache/solr/solr-mcp/{version}/:
solr-mcp-{version}.jar - Main application JARsolr-mcp-{version}-sources.jar - Source code for IDE navigationsolr-mcp-{version}-javadoc.jar - API documentationsolr-mcp-{version}.pom - Maven POM with dependenciesThis is useful when:
Create a feature branch
git checkout -b feature/your-feature-name
Make your changes
Format your code
./gradlew spotlessApply
Run tests
./gradlew build
Commit your changes
git add . git commit -m "feat: add your feature description"
Push to your fork
git push origin feature/your-feature-name
Create a Pull Request
We follow the Conventional Commits specification:
<type>(<scope>): <description> [optional body] [optional footer]
Types:
feat: New featurefix: Bug fixdocs: Documentation changesstyle: Code style changes (formatting, etc.)refactor: Code refactoringtest: Adding or updating testschore: Maintenance tasksExamples:
feat(search): add fuzzy search support fix(indexing): handle null values in CSV parser docs: update installation instructions test: add integration tests for collection service
For implementation details and examples, see the Development Guide:
Be respectful, inclusive, and professional. We're all here to build something great together.
By contributing, you agree that your contributions will be licensed under the Apache License 2.0.