epugh commented on code in PR #49:
URL: https://github.com/apache/solr-mcp/pull/49#discussion_r2834484283
##########
AGENTS.md:
##########
@@ -73,6 +73,27 @@ Spring Boot Buildpacks output logs to stdout, breaking MCP's
STDIO protocol. Jib
- **Integration tests** (`*IntegrationTest.java`, `*DirectTest.java`): Real
Solr via Testcontainers
- **Docker tests** (`containerization/`): Tagged `@Tag("docker-integration")`,
run separately
+### Solr Version Compatibility Testing
+
+The Solr Docker image used in tests is configurable via the `solr.test.image`
system property (default: `solr:9.9-slim`):
+
+```bash
+./gradlew test -Dsolr.test.image=solr:8.11-slim # Solr 8.11
+./gradlew test -Dsolr.test.image=solr:9.4-slim # Solr 9.4
+./gradlew test -Dsolr.test.image=solr:9.9-slim # Solr 9.9 (default)
+```
+
+**Tested compatible versions:** 8.11, 9.4, 9.9
+
+### Solr 10 Compatibility Notes
+
+Solr 10 introduces breaking changes that will require updates to this project:
Review Comment:
Glad to see you getting ahead of the curve. I wonder if you created these
as issues in Github, maybe other folks could contribute?
##########
src/test/java/org/apache/solr/mcp/server/TestcontainersConfiguration.java:
##########
@@ -27,9 +27,12 @@ public class TestcontainersConfiguration {
private static final int SOLR_PORT = 8983;
+ static final String DEFAULT_SOLR_IMAGE = "solr:9.9-slim";
Review Comment:
likewise, seems like we are setting this in `build.gradle.kts`
##########
build.gradle.kts:
##########
@@ -153,6 +153,8 @@ tasks.withType<Test> {
excludeTags("docker-integration")
}
}
+ // Forward solr.test.image system property to test JVMs for Solr version
compatibility testing
+ systemProperty("solr.test.image", System.getProperty("solr.test.image",
"solr:9.9-slim"))
Review Comment:
do we need this? Or is this critical to getting it in? Also, I wonder, if
we would want to set this HERE as the default, and then we do NOT need a
default in `private static final String SOLR_IMAGE =
System.getProperty("solr.test.image", "solr:9.9-slim");`. Specifying the
default in multiple places means when we update the default, more chance of
missing it ;-)
##########
README.md:
##########
@@ -178,6 +178,87 @@ Then add to your `claude_desktop_config.json`:
More configuration options: docs/DEPLOYMENT.md#docker-images-with-jib
+### Claude Code
+
+Add Solr MCP to [Claude Code](https://docs.anthropic.com/en/docs/claude-code)
using the CLI or by adding a `.mcp.json` file to your project root.
+
+**STDIO mode (default)**
+
+Using Docker (CLI):
+```bash
+claude mcp add --transport stdio solr-mcp -- docker run -i --rm
ghcr.io/apache/solr-mcp:latest
+```
+
+Using JAR (CLI):
+```bash
+claude mcp add --transport stdio --env SOLR_URL=http://localhost:8983/solr/
solr-mcp -- java -jar /absolute/path/to/solr-mcp-1.0.0-SNAPSHOT.jar
Review Comment:
i got lucky, and took out the `--env` and since I am on the defaults it
worked. This was using the "main" version of solr-mcp.
##########
README.md:
##########
@@ -178,6 +178,87 @@ Then add to your `claude_desktop_config.json`:
More configuration options: docs/DEPLOYMENT.md#docker-images-with-jib
+### Claude Code
+
+Add Solr MCP to [Claude Code](https://docs.anthropic.com/en/docs/claude-code)
using the CLI or by adding a `.mcp.json` file to your project root.
+
+**STDIO mode (default)**
+
+Using Docker (CLI):
+```bash
+claude mcp add --transport stdio solr-mcp -- docker run -i --rm
ghcr.io/apache/solr-mcp:latest
+```
+
+Using JAR (CLI):
+```bash
+claude mcp add --transport stdio --env SOLR_URL=http://localhost:8983/solr/
solr-mcp -- java -jar /absolute/path/to/solr-mcp-1.0.0-SNAPSHOT.jar
Review Comment:
--env didn't work for me...
```
Invalid environment variable format: solr-mcp, environment variables should
be added as: -e KEY1=value1 -e KEY2=value2
```
##########
README.md:
##########
@@ -178,6 +178,87 @@ Then add to your `claude_desktop_config.json`:
More configuration options: docs/DEPLOYMENT.md#docker-images-with-jib
+### Claude Code
+
+Add Solr MCP to [Claude Code](https://docs.anthropic.com/en/docs/claude-code)
using the CLI or by adding a `.mcp.json` file to your project root.
+
+**STDIO mode (default)**
+
+Using Docker (CLI):
+```bash
+claude mcp add --transport stdio solr-mcp -- docker run -i --rm
ghcr.io/apache/solr-mcp:latest
+```
+
+Using JAR (CLI):
+```bash
+claude mcp add --transport stdio --env SOLR_URL=http://localhost:8983/solr/
solr-mcp -- java -jar /absolute/path/to/solr-mcp-1.0.0-SNAPSHOT.jar
Review Comment:
This may be a claude thing!
##########
AGENTS.md:
##########
@@ -73,6 +73,27 @@ Spring Boot Buildpacks output logs to stdout, breaking MCP's
STDIO protocol. Jib
- **Integration tests** (`*IntegrationTest.java`, `*DirectTest.java`): Real
Solr via Testcontainers
- **Docker tests** (`containerization/`): Tagged `@Tag("docker-integration")`,
run separately
+### Solr Version Compatibility Testing
+
+The Solr Docker image used in tests is configurable via the `solr.test.image`
system property (default: `solr:9.9-slim`):
+
+```bash
+./gradlew test -Dsolr.test.image=solr:8.11-slim # Solr 8.11
+./gradlew test -Dsolr.test.image=solr:9.4-slim # Solr 9.4
+./gradlew test -Dsolr.test.image=solr:9.9-slim # Solr 9.9 (default)
+```
+
+**Tested compatible versions:** 8.11, 9.4, 9.9
+
+### Solr 10 Compatibility Notes
+
+Solr 10 introduces breaking changes that will require updates to this project:
+
+- **MBeans removal:** `SolrInfoMBeanHandler` is removed.
`CollectionService.getCollectionStats()` uses `/admin/mbeans` for cache and
handler metrics — this will need to migrate to the `/admin/metrics` endpoint or
OpenTelemetry.
+- **Metrics migration:** Dropwizard metrics replaced by OpenTelemetry. All
metric names switch to snake_case. JMX, Prometheus exporter, SLF4J, and
Graphite reporters are removed.
+- **SolrJ base URL:** SolrClient now only accepts root URLs (e.g.,
`http://host:8983/solr`). This project already uses root URLs with per-request
collection names, so **no change needed** here.
Review Comment:
i do notice that sometimes we talk about "cores" when we are really
referencing "collections" in the conversation with the agent and the tools.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]