This is an automated email from the ASF dual-hosted git repository.
epugh pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/solr-mcp.git
The following commit(s) were added to refs/heads/main by this push:
new f7786b5 remove unneeded files (#36)
f7786b5 is described below
commit f7786b5eb5e9d36754557fd0d551df3446302e51
Author: Eric Pugh <[email protected]>
AuthorDate: Wed Jan 7 11:24:36 2026 -0500
remove unneeded files (#36)
---
arconia-cli.log | 0
solr-mcp-tutorial.html | 817 -------------------------------------------------
2 files changed, 817 deletions(-)
diff --git a/arconia-cli.log b/arconia-cli.log
deleted file mode 100644
index e69de29..0000000
diff --git a/solr-mcp-tutorial.html b/solr-mcp-tutorial.html
deleted file mode 100644
index cea07d4..0000000
--- a/solr-mcp-tutorial.html
+++ /dev/null
@@ -1,817 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <meta content="width=device-width, initial-scale=1.0" name="viewport">
- <title>Solr MCP Server - Usage Tutorial</title>
- <style>
- /* Apache Solr Documentation Style Guide Colors:
- * Primary: #d9411e (Solr Orange-Red)
- * Text: #333333 (Dark Gray)
- * Background: #ffffff (White)
- * Light Gray: #f5f5f5
- * Border: #dddddd
- */
-
- body {
- font-family: "Source Sans Pro", "Helvetica Neue", Arial,
sans-serif;
- font-size: 16px;
- line-height: 1.7;
- max-width: 1200px;
- margin: 0 auto;
- padding: 40px 20px;
- color: #333333;
- background-color: #ffffff;
- }
-
- h1 {
- font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
- font-size: 2.5em;
- font-weight: 600;
- color: #d9411e;
- border-bottom: 3px solid #d9411e;
- padding-bottom: 12px;
- margin-top: 0;
- margin-bottom: 30px;
- }
-
- h2 {
- font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
- font-size: 1.8em;
- font-weight: 600;
- color: #d9411e;
- margin-top: 40px;
- margin-bottom: 20px;
- border-bottom: 1px solid #dddddd;
- padding-bottom: 8px;
- }
-
- h3 {
- font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
- font-size: 1.3em;
- font-weight: 600;
- color: #333333;
- margin-top: 25px;
- margin-bottom: 15px;
- }
-
- h4 {
- font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
- font-size: 1.1em;
- font-weight: 600;
- color: #555555;
- margin-top: 20px;
- margin-bottom: 12px;
- }
-
- p {
- margin-bottom: 15px;
- }
-
- ul, ol {
- margin-bottom: 15px;
- padding-left: 30px;
- }
-
- li {
- margin-bottom: 8px;
- }
-
- a {
- color: #d9411e;
- text-decoration: none;
- }
-
- a:hover {
- text-decoration: underline;
- }
-
- code {
- background-color: #f5f5f5;
- padding: 2px 6px;
- border-radius: 3px;
- font-family: "Source Code Pro", "Monaco", "Courier New", monospace;
- font-size: 0.9em;
- color: #c7254e;
- border: 1px solid #e1e1e8;
- }
-
- pre {
- background-color: #f5f5f5;
- padding: 16px;
- border-radius: 4px;
- overflow-x: auto;
- border: 1px solid #dddddd;
- border-left: 4px solid #d9411e;
- margin: 20px 0;
- }
-
- pre code {
- background-color: transparent;
- padding: 0;
- border: none;
- color: #333333;
- }
-
- .info-box {
- background-color: #e3f2fd;
- border-left: 5px solid #2196f3;
- padding: 15px 20px;
- margin: 20px 0;
- border-radius: 4px;
- }
-
- .info-box strong {
- color: #1976d2;
- }
-
- .warning-box {
- background-color: #fff8e1;
- border-left: 5px solid #ff9800;
- padding: 15px 20px;
- margin: 20px 0;
- border-radius: 4px;
- }
-
- .warning-box strong {
- color: #f57c00;
- }
-
- .success-box {
- background-color: #e8f5e9;
- border-left: 5px solid #4caf50;
- padding: 15px 20px;
- margin: 20px 0;
- border-radius: 4px;
- }
-
- .success-box strong {
- color: #388e3c;
- }
-
- table {
- width: 100%;
- border-collapse: collapse;
- margin: 20px 0;
- border: 1px solid #dddddd;
- }
-
- th, td {
- border: 1px solid #dddddd;
- padding: 12px 15px;
- text-align: left;
- }
-
- th {
- background-color: #d9411e;
- color: #ffffff;
- font-weight: 600;
- font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
- }
-
- tr:nth-child(even) {
- background-color: #fafafa;
- }
-
- tr:hover {
- background-color: #f5f5f5;
- }
-
- .toc {
- background-color: #fafafa;
- padding: 25px;
- border: 1px solid #dddddd;
- border-radius: 4px;
- margin: 30px 0;
- }
-
- .toc h2 {
- margin-top: 0;
- border-bottom: none;
- font-size: 1.4em;
- }
-
- .toc ul {
- list-style-type: none;
- padding-left: 0;
- margin-top: 15px;
- }
-
- .toc li {
- margin: 10px 0;
- padding-left: 20px;
- position: relative;
- }
-
- .toc li::before {
- content: "▸";
- position: absolute;
- left: 0;
- color: #d9411e;
- }
-
- .toc a {
- color: #d9411e;
- text-decoration: none;
- font-weight: 500;
- }
-
- .toc a:hover {
- text-decoration: underline;
- }
-
- hr {
- border: none;
- border-top: 1px solid #dddddd;
- margin: 40px 0;
- }
- </style>
-</head>
-<body>
-<h1>Solr MCP Server - Usage Tutorial</h1>
-
-<p>The Solr MCP (Model Context Protocol) Server enables AI assistants like
Claude to interact with Apache Solr through a
- standardized protocol. This guide provides comprehensive instructions for
setting up, configuring, and using the
- Solr MCP Server.</p>
-
-<div class="toc">
- <h2>Table of Contents</h2>
- <ul>
- <li><a href="#overview">Overview</a></li>
- <li><a href="#prerequisites">Prerequisites</a></li>
- <li><a href="#integration">Integration with MCP Clients</a></li>
- <li><a href="#available-tools">Available MCP Tools</a></li>
- <li><a href="#usage-examples">Usage Examples</a></li>
- <li><a href="#troubleshooting">Troubleshooting</a></li>
- <li><a href="#advanced">Advanced Topics</a></li>
- </ul>
-</div>
-
-<h2 id="overview">Overview</h2>
-
-<p>The Solr MCP Server is a Spring AI-based implementation that provides AI
assistants with tools to interact with
- Apache Solr. It supports both STDIO and HTTP transport modes, enabling
flexible deployment options.</p>
-
-<h3>What's Inside</h3>
-<ul>
- <li><strong>🔍 Search</strong> - Search Solr collections with filtering,
faceting, and pagination</li>
- <li><strong>📝 Indexing</strong> - Index documents in JSON, CSV, and XML
formats</li>
- <li><strong>📊 Collection Management</strong> - List collections and view
statistics</li>
- <li><strong>🔧 Schema Inspection</strong> - Retrieve schema information</li>
- <li><strong>📡 Transport Options</strong> - STDIO (Claude Desktop) and HTTP
(MCP Inspector)</li>
- <li><strong>🐳 Docker Support</strong> - Pre-built images with Jib</li>
-</ul>
-
-<div class="info-box">
- <strong>Model Context Protocol (MCP)</strong><br>
- MCP is an open protocol that standardizes how applications provide context
to LLMs. The Solr MCP Server implements
- this protocol to make Solr's capabilities accessible to AI assistants.
-</div>
-
-<h2 id="prerequisites">Prerequisites</h2>
-
-<ul>
- <li><strong>Apache Solr</strong> - A running Solr instance (default:
<code>http://localhost:8983/solr/</code>)</li>
- <li><strong>Docker</strong> (Recommended) - For running the MCP server</li>
- <li><strong>Java 21+</strong> (Alternative) - For running from JAR
file</li>
- <li><strong>MCP Client</strong> - Claude Desktop, Cline, Zed, or any
MCP-compatible client</li>
-</ul>
-
-<div class="success-box">
- <strong>Quick Start with Sample Data:</strong> The repository includes a
Docker Compose file to start Solr with
- pre-populated collections (books, films, techproducts). Run: <code>docker
compose up -d</code>
-</div>
-
-<h2 id="integration">Integration with MCP Clients</h2>
-
-<p>The Solr MCP Server can be integrated with any MCP-compatible client. Both
<strong>STDIO mode</strong> and <strong>HTTP
- mode</strong> are fully supported.</p>
-
-<h3>STDIO Mode</h3>
-
-<p>STDIO mode uses standard input/output for communication. This is the
default mode and works with Claude Desktop,
- GitHub Copilot, VSCode extensions, and other MCP clients.</p>
-
-<h4>Claude Desktop</h4>
-
-<p>Edit your configuration file:</p>
-<ul>
- <li><strong>macOS:</strong> <code>~/Library/Application
Support/Claude/claude_desktop_config.json</code></li>
- <li><strong>Windows:</strong>
<code>%APPDATA%\Claude\claude_desktop_config.json</code></li>
-</ul>
-
-<p><strong>Using Docker:</strong></p>
-<pre><code>{
- "mcpServers": {
- "solr-mcp": {
- "command": "docker",
- "args": ["run", "-i", "--rm", "ghcr.io/apache/solr-mcp:latest"],
- "env": {
- "SOLR_URL": "http://localhost:8983/solr/"
- }
- }
- }
-}</code></pre>
-
-<p><strong>Using JAR:</strong></p>
-<pre><code>{
- "mcpServers": {
- "solr-mcp": {
- "command": "java",
- "args": ["-jar", "/absolute/path/to/solr-mcp-0.0.1-SNAPSHOT.jar"],
- "env": {
- "SOLR_URL": "http://localhost:8983/solr/"
- }
- }
- }
-}</code></pre>
-
-<h4>GitHub Copilot & VSCode Extensions (Cline, Continue)</h4>
-
-<p>These clients use the same configuration format.</p>
-
-<p><strong>GitHub Copilot:</strong> Add to VS Code settings
(<code>settings.json</code>)</p>
-<p><strong>Cline:</strong> Add to Cline MCP settings</p>
-<p><strong>Continue:</strong> Add to <code>~/.continue/config.json</code></p>
-
-<p><strong>Configuration (Docker):</strong></p>
-<pre><code>{
- "mcpServers": {
- "solr-mcp": {
- "command": "docker",
- "args": ["run", "-i", "--rm", "ghcr.io/apache/solr-mcp:latest"],
- "env": {
- "SOLR_URL": "http://localhost:8983/solr/"
- }
- }
- }
-}</code></pre>
-
-<p><strong>Configuration (JAR):</strong></p>
-<pre><code>{
- "mcpServers": {
- "solr-mcp": {
- "command": "java",
- "args": ["-jar", "/absolute/path/to/solr-mcp-0.0.1-SNAPSHOT.jar"],
- "env": {
- "SOLR_URL": "http://localhost:8983/solr/"
- }
- }
- }
-}</code></pre>
-
-<div class="info-box">
- <strong>Note:</strong> Continue uses a slightly different format with an
array. Wrap the above configuration in:
- <code>{"mcpServers": [...]}</code>
-</div>
-
-<h4>JetBrains IDEs</h4>
-
-<p>JetBrains IDEs (IntelliJ IDEA, PyCharm, WebStorm, etc.) support MCP through
AI Assistant settings.</p>
-
-<p>Navigate to <strong>Settings → Tools → AI Assistant → Model Context
Protocol</strong> and add:</p>
-<pre><code>{
- "servers": {
- "solr-mcp": {
- "command": "docker",
- "args": ["run", "-i", "--rm", "ghcr.io/apache/solr-mcp:latest"],
- "env": {
- "SOLR_URL": "http://localhost:8983/solr/"
- }
- }
- }
-}</code></pre>
-
-<p>Alternatively, edit the MCP configuration file directly:</p>
-<ul>
- <li><strong>macOS:</strong> <code>~/Library/Application
Support/JetBrains/[IDE]/mcp_config.json</code></li>
- <li><strong>Windows:</strong>
<code>%APPDATA%\JetBrains\[IDE]\mcp_config.json</code></li>
- <li><strong>Linux:</strong>
<code>~/.config/JetBrains/[IDE]/mcp_config.json</code></li>
-</ul>
-
-<h4>MCP Inspector (STDIO)</h4>
-
-<p>The <a href="https://github.com/modelcontextprotocol/inspector">MCP
Inspector</a> is an official tool for testing and
- debugging MCP servers.</p>
-
-<p>For testing with STDIO transport:</p>
-<pre><code># Start the server
-docker run -i --rm ghcr.io/apache/solr-mcp:latest
-
-# Or using JAR
-java -jar build/libs/solr-mcp-0.0.1-SNAPSHOT.jar
-
-# In another terminal, connect with MCP Inspector
-npx @modelcontextprotocol/inspector</code></pre>
-
-<div class="warning-box">
- <strong>Important:</strong> After adding or modifying MCP server
configurations, completely restart your client
- application (quit and reopen) for changes to take effect.
-</div>
-
-<h3>HTTP Mode</h3>
-
-<p>HTTP mode uses a streamable HTTP transport. This is useful for debugging
with MCP Inspector or when your client
- doesn't support STDIO.</p>
-
-<h4>Starting the Server in HTTP Mode</h4>
-
-<p><strong>Using Docker:</strong></p>
-<pre><code>docker run -d --name solr-mcp \
- -p 8080:8080 \
- -e PROFILES=http \
- -e SOLR_URL=http://localhost:8983/solr/ \
- ghcr.io/apache/solr-mcp:latest</code></pre>
-
-<p><strong>Using JAR:</strong></p>
-<pre><code>PROFILES=http java -jar
build/libs/solr-mcp-0.0.1-SNAPSHOT.jar</code></pre>
-
-<h4>Client Configuration for HTTP Mode</h4>
-
-<p>All clients use the same configuration format for HTTP mode:</p>
-
-<p><strong>Claude Desktop, GitHub Copilot, Cline, Continue:</strong></p>
-<pre><code>{
- "mcpServers": {
- "solr-mcp": {
- "url": "http://localhost:8080/mcp"
- }
- }
-}</code></pre>
-
-<p><strong>JetBrains IDEs:</strong></p>
-<pre><code>{
- "servers": {
- "solr-mcp": {
- "url": "http://localhost:8080/mcp"
- }
- }
-}</code></pre>
-
-<p><strong>MCP Inspector (HTTP):</strong></p>
-<pre><code>npx @modelcontextprotocol/inspector
http://localhost:8080/mcp</code></pre>
-
-<div class="info-box">
- <strong>Tip:</strong> Use HTTP mode with <a
href="https://github.com/modelcontextprotocol/inspector">MCP
- Inspector</a> for an interactive web interface to test all available tools
during development.
-</div>
-
-<h3>Environment Variables</h3>
-
-<table>
- <thead>
- <tr>
- <th>Variable</th>
- <th>Description</th>
- <th>Default</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>SOLR_URL</code></td>
- <td>URL of the Solr instance</td>
- <td><code>http://localhost:8983/solr/</code></td>
- </tr>
- <tr>
- <td><code>PROFILES</code></td>
- <td>Transport mode (empty=STDIO, <code>http</code>=HTTP)</td>
- <td>(empty - STDIO mode)</td>
- </tr>
- </tbody>
-</table>
-
-<h3>Docker Network Configuration</h3>
-
-<div class="warning-box">
- <strong>Connecting to Solr from Docker:</strong>
- <ul>
- <li><strong>macOS/Windows:</strong> Use
<code>host.docker.internal</code> instead of <code>localhost</code></li>
- <li><strong>Linux:</strong> Add <code>--network host</code> to docker
run command</li>
- <li><strong>Alternative:</strong> Link containers using Docker
networks</li>
- </ul>
-</div>
-
-<h3>Verifying Integration</h3>
-
-<p><strong>Claude Desktop:</strong> Look for the 🔌 icon in the bottom-right
corner. Click it to see "solr-mcp" with 6
- available tools.</p>
-
-<p><strong>Other Clients:</strong> Check your client's tools/context servers
panel to confirm the connection and see
- available tools.</p>
-
-<h2 id="available-tools">Available MCP Tools</h2>
-
-<p>The Solr MCP Server provides six tools accessible to AI assistants:</p>
-
-<h3>1. Search</h3>
-<p>Search Solr collections with advanced query options.</p>
-
-<table>
- <thead>
- <tr>
- <th>Parameter</th>
- <th>Type</th>
- <th>Description</th>
- <th>Required</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>collection</code></td>
- <td>String</td>
- <td>Solr collection to query</td>
- <td>Yes</td>
- </tr>
- <tr>
- <td><code>query</code></td>
- <td>String</td>
- <td>Solr query (defaults to <code>*:*</code>)</td>
- <td>No</td>
- </tr>
- <tr>
- <td><code>filterQueries</code></td>
- <td>Array</td>
- <td>Filter queries (fq parameter)</td>
- <td>No</td>
- </tr>
- <tr>
- <td><code>facetFields</code></td>
- <td>Array</td>
- <td>Fields to facet on</td>
- <td>No</td>
- </tr>
- <tr>
- <td><code>sortClauses</code></td>
- <td>Array</td>
- <td>Sorting criteria</td>
- <td>No</td>
- </tr>
- <tr>
- <td><code>start</code></td>
- <td>Integer</td>
- <td>Starting offset for pagination</td>
- <td>No</td>
- </tr>
- <tr>
- <td><code>rows</code></td>
- <td>Integer</td>
- <td>Number of rows to return</td>
- <td>No</td>
- </tr>
- </tbody>
-</table>
-
-<div class="info-box">
- <strong>Dynamic Fields:</strong> Solr uses dynamic field suffixes:
- <ul>
- <li><code>_s</code> - String field (exact matching)</li>
- <li><code>_i</code> - Integer field</li>
- <li><code>_l</code> - Long field</li>
- <li><code>_f</code> - Float field</li>
- <li><code>_d</code> - Double field</li>
- <li><code>_dt</code> - Date field</li>
- <li><code>_b</code> - Boolean field</li>
- <li><code>_t</code> - Text field (tokenized)</li>
- </ul>
-</div>
-
-<h3>2. index_json_documents</h3>
-<p>Index documents from a JSON string.</p>
-<pre><code>{
- "collection": "myCollection",
- "json": "[{\"id\":\"1\",\"title\":\"Example\"}]"
-}</code></pre>
-
-<h3>3. index_csv_documents</h3>
-<p>Index documents from a CSV string.</p>
-<pre><code>{
- "collection": "myCollection",
- "csv": "id,title\n1,Example\n2,Another"
-}</code></pre>
-
-<h3>4. index_xml_documents</h3>
-<p>Index documents from an XML string.</p>
-<pre><code>{
- "collection": "myCollection",
- "xml": "<docs><doc><field
name=\"id\">1</field></doc></docs>"
-}</code></pre>
-
-<h3>5. listCollections</h3>
-<p>List all available Solr collections. No parameters required.</p>
-
-<h3>6. getCollectionStats</h3>
-<p>Retrieve statistics and metrics for a collection.</p>
-<pre><code>{
- "collection": "books"
-}</code></pre>
-
-<h3>7. checkHealth</h3>
-<p>Check the health status of a collection.</p>
-<pre><code>{
- "collection": "books"
-}</code></pre>
-
-<h3>8. getSchema</h3>
-<p>Retrieve schema information for a collection.</p>
-<pre><code>{
- "collection": "books"
-}</code></pre>
-
-<h2 id="usage-examples">Usage Examples</h2>
-
-<h3>Example 1: Basic Search</h3>
-<p><strong>User:</strong> "Search for books about science in the books
collection"</p>
-<p><strong>AI Assistant uses:</strong></p>
-<pre><code>Search({
- "collection": "books",
- "query": "science"
-})</code></pre>
-
-<h3>Example 2: Filtered Search with Facets</h3>
-<p><strong>User:</strong> "Show me fantasy books with facets by author"</p>
-<p><strong>AI Assistant uses:</strong></p>
-<pre><code>Search({
- "collection": "books",
- "query": "*:*",
- "filterQueries": ["genre_s:fantasy"],
- "facetFields": ["author"],
- "rows": 10
-})</code></pre>
-
-<h3>Example 3: Sorting and Pagination</h3>
-<p><strong>User:</strong> "Show me the newest films, sorted by year
descending, page 2"</p>
-<p><strong>AI Assistant uses:</strong></p>
-<pre><code>Search({
- "collection": "films",
- "query": "*:*",
- "sortClauses": [{"field": "initial_release_date", "order": "desc"}],
- "start": 10,
- "rows": 10
-})</code></pre>
-
-<h3>Example 4: Indexing Documents</h3>
-<p><strong>User:</strong> "Add a new book to the collection"</p>
-<p><strong>AI Assistant uses:</strong></p>
-<pre><code>index_json_documents({
- "collection": "books",
- "json": "[{
- \"id\": \"new-book-1\",
- \"name\": [\"Introduction to Solr\"],
- \"author\": [\"Jane Developer\"],
- \"genre_s\": \"technical\",
- \"price\": [29.99],
- \"inStock\": [true]
- }]"
-})</code></pre>
-
-<h3>Example 5: Collection Analysis</h3>
-<p><strong>User:</strong> "What collections are available and show me stats
for books"</p>
-<p><strong>AI Assistant uses:</strong></p>
-<pre><code>listCollections()
-
-getCollectionStats({
- "collection": "books"
-})</code></pre>
-
-<h2 id="troubleshooting">Troubleshooting</h2>
-
-<h3>Connection Issues</h3>
-
-<div class="warning-box">
- <strong>Problem:</strong> "Cannot connect to Solr"<br>
- <strong>Solutions:</strong>
- <ul>
- <li>Verify Solr is running: <code>curl
http://localhost:8983/solr/</code></li>
- <li>Check <code>SOLR_URL</code> environment variable</li>
- <li>For Docker on Linux, use <code>--network host</code></li>
- <li>For Docker on macOS/Windows, use <code>host.docker.internal</code>
instead of <code>localhost</code></li>
- </ul>
-</div>
-
-<h3>MCP Client Issues</h3>
-
-<div class="warning-box">
- <strong>Problem:</strong> "Server not showing in client"<br>
- <strong>Solutions:</strong>
- <ul>
- <li>Verify JSON configuration syntax (use a JSON validator)</li>
- <li>Use absolute paths for JAR files</li>
- <li>Completely restart the client application (quit, don't just close
window)</li>
- <li>Check client logs for error messages</li>
- </ul>
-</div>
-
-<h3>Docker Issues</h3>
-
-<div class="warning-box">
- <strong>Problem:</strong> "Container cannot access Solr"<br>
- <strong>Solutions:</strong>
- <ul>
- <li>On macOS/Windows: Set
<code>SOLR_URL=http://host.docker.internal:8983/solr/</code></li>
- <li>On Linux: Add <code>--network host</code> to docker run
command</li>
- <li>Alternative: Create a Docker network and connect both
containers</li>
- </ul>
-</div>
-
-<h3>Common Query Patterns</h3>
-
-<div class="info-box">
- <strong>Query Examples:</strong>
- <ul>
- <li>All documents: <code>*:*</code></li>
- <li>Exact match: <code>field:"exact phrase"</code></li>
- <li>Wildcards: <code>field:test*</code></li>
- <li>Range: <code>price:[10 TO 20]</code></li>
- <li>Boolean: <code>field1:value1 AND field2:value2</code></li>
- </ul>
-</div>
-
-<h2 id="advanced">Advanced Topics</h2>
-
-<h3>Building from Source</h3>
-
-<pre><code># Clone the repository
-git clone https://github.com/apache/solr-mcp.git
-cd solr-mcp
-
-# Build with Gradle
-./gradlew build
-
-# Run tests
-./gradlew test
-
-# Build Docker image locally
-./gradlew jibDockerBuild</code></pre>
-
-<h3>Custom Solr Connection</h3>
-
-<p>Connect to a remote Solr instance:</p>
-<pre><code>{
- "mcpServers": {
- "solr-mcp": {
- "command": "docker",
- "args": ["run", "-i", "--rm", "ghcr.io/apache/solr-mcp:latest"],
- "env": {
- "SOLR_URL": "https://remote-solr.example.com:8983/solr/"
- }
- }
- }
-}</code></pre>
-
-<div class="warning-box">
- <strong>Note:</strong> The current version supports basic Solr
connections. Authentication support is planned for
- future releases.
-</div>
-
-<h3>Performance Optimization</h3>
-
-<ul>
- <li><strong>Large Result Sets:</strong> Use pagination (<code>start</code>
and <code>rows</code>)</li>
- <li><strong>Faceting:</strong> Limit facet fields to essential ones</li>
- <li><strong>Filtering:</strong> Use filter queries (<code>fq</code>) for
better caching</li>
- <li><strong>Field Selection:</strong> Request only needed fields with
<code>fl</code> parameter</li>
-</ul>
-
-<h3>Security Best Practices</h3>
-
-<ul>
- <li>Do not expose Solr directly to the internet</li>
- <li>Use firewall rules to restrict access</li>
- <li>Consider using Solr's built-in authentication when available</li>
- <li>Run the MCP server with minimal required permissions</li>
- <li>Keep Solr and MCP server versions up to date</li>
-</ul>
-
-<h2>Additional Resources</h2>
-
-<ul>
- <li><strong>Documentation:</strong>
- <ul>
- <li>Architecture: docs/ARCHITECTURE.md</li>
- <li>Development: docs/DEVELOPMENT.md</li>
- <li>Deployment: docs/DEPLOYMENT.md</li>
- <li>Troubleshooting: docs/TROUBLESHOOTING.md</li>
- </ul>
- </li>
- <li><strong>Community:</strong>
- <ul>
- <li>Issues: <a
href="https://github.com/apache/solr-mcp/issues">GitHub Issues</a></li>
- </ul>
- </li>
- <li><strong>Related:</strong>
- <ul>
- <li>Apache Solr: <a
href="https://solr.apache.org/">https://solr.apache.org/</a></li>
- <li>Model Context Protocol: <a
href="https://modelcontextprotocol.io/">https://modelcontextprotocol.io/</a>
- </li>
- <li>Spring AI: <a
href="https://spring.io/projects/spring-ai">https://spring.io/projects/spring-ai</a></li>
- </ul>
- </li>
-</ul>
-
-<hr>
-
-<p><em>This guide was created for Solr MCP Server version 0.0.1-SNAPSHOT. Last
updated: November 2025.</em></p>
-
-<p><strong>License:</strong> Apache License 2.0</p>
-</body>
-</html>
\ No newline at end of file