opensearch-mcp-server 2.0.6__tar.gz → 2.0.8__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. opensearch_mcp_server-2.0.8/.github/workflows/pypi-publish.yaml +63 -0
  2. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/.gitignore +1 -0
  3. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/PKG-INFO +35 -1
  4. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/README.md +34 -0
  5. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/pyproject.toml +1 -1
  6. opensearch_mcp_server-2.0.8/src/version.py +1 -0
  7. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/uv.lock +1 -1
  8. opensearch_mcp_server-2.0.6/.github/workflows/pypi-publish.yaml +0 -51
  9. opensearch_mcp_server-2.0.6/smithery.yaml +0 -25
  10. opensearch_mcp_server-2.0.6/src/version.py +0 -1
  11. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/.env.example +0 -0
  12. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/.github/workflows/release.yml +0 -0
  13. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/.python-version +0 -0
  14. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/CONTRIBUTING.md +0 -0
  15. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/Dockerfile +0 -0
  16. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/LICENSE +0 -0
  17. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/Makefile +0 -0
  18. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/cliff.toml +0 -0
  19. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/docker-compose-elasticsearch.yml +0 -0
  20. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/docker-compose-opensearch.yml +0 -0
  21. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/mcp_client/python-sdk-anthropic/.gitignore +0 -0
  22. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/mcp_client/python-sdk-anthropic/__init__.py +0 -0
  23. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/mcp_client/python-sdk-anthropic/client.py +0 -0
  24. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/mcp_client/python-sdk-anthropic/config.py +0 -0
  25. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/mcp_client/spring-ai/README.md +0 -0
  26. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/mcp_client/spring-ai/build.gradle +0 -0
  27. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/mcp_client/spring-ai/gradle/wrapper/gradle-wrapper.jar +0 -0
  28. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/mcp_client/spring-ai/gradle/wrapper/gradle-wrapper.properties +0 -0
  29. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/mcp_client/spring-ai/gradle.properties +0 -0
  30. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/mcp_client/spring-ai/gradlew +0 -0
  31. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/mcp_client/spring-ai/gradlew.bat +0 -0
  32. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/mcp_client/spring-ai/settings.gradle +0 -0
  33. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/mcp_client/spring-ai/src/main/java/spring/ai/mcp/spring_ai_mcp/Application.java +0 -0
  34. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/mcp_client/spring-ai/src/main/resources/application.yml +0 -0
  35. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/mcp_client/spring-ai/src/main/resources/mcp-servers-config.json +0 -0
  36. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/mcp_client/spring-ai/src/test/java/spring/ai/mcp/spring_ai_mcp/SpringAiMcpApplicationTests.java +0 -0
  37. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/src/__init__.py +0 -0
  38. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/src/clients/__init__.py +0 -0
  39. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/src/clients/base.py +0 -0
  40. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/src/clients/common/__init__.py +0 -0
  41. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/src/clients/common/alias.py +0 -0
  42. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/src/clients/common/client.py +0 -0
  43. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/src/clients/common/cluster.py +0 -0
  44. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/src/clients/common/document.py +0 -0
  45. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/src/clients/common/general.py +0 -0
  46. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/src/clients/common/index.py +0 -0
  47. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/src/clients/exceptions.py +0 -0
  48. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/src/server.py +0 -0
  49. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/src/tools/__init__.py +0 -0
  50. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/src/tools/alias.py +0 -0
  51. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/src/tools/cluster.py +0 -0
  52. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/src/tools/document.py +0 -0
  53. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/src/tools/general.py +0 -0
  54. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/src/tools/index.py +0 -0
  55. {opensearch_mcp_server-2.0.6 → opensearch_mcp_server-2.0.8}/src/tools/register.py +0 -0
@@ -0,0 +1,63 @@
1
+ # This workflow will upload Python Packages using uv when a release is created
2
+ # It builds and publishes multiple packages for different Elasticsearch versions
3
+
4
+ name: PyPI Publish
5
+
6
+ on:
7
+ workflow_run:
8
+ workflows: ["Release"]
9
+ types:
10
+ - completed
11
+
12
+ env:
13
+ UV_PUBLISH_TOKEN: '${{ secrets.PYPI_API_TOKEN }}'
14
+
15
+ jobs:
16
+ deploy:
17
+ runs-on: ubuntu-latest
18
+ if: ${{ github.event.workflow_run.conclusion == 'success' }}
19
+ strategy:
20
+ matrix:
21
+ variant:
22
+ - name: "elasticsearch-mcp-server-es7"
23
+ elasticsearch_version: "7.13.0"
24
+ - name: "elasticsearch-mcp-server"
25
+ elasticsearch_version: "8.17.2"
26
+ - name: "elasticsearch-mcp-server-es9"
27
+ elasticsearch_version: "9.0.0"
28
+ - name: "opensearch-mcp-server"
29
+ elasticsearch_version: "8.17.2"
30
+ steps:
31
+ - uses: actions/checkout@v2
32
+
33
+ - name: Set up Python
34
+ uses: actions/setup-python@v2
35
+ with:
36
+ python-version: '3.10.x'
37
+
38
+ - name: Install dependencies
39
+ run: |
40
+ python -m pip install uv
41
+ uv sync
42
+
43
+ - name: Modify pyproject.toml for ${{ matrix.variant.name }}
44
+ run: |
45
+ # Update package name
46
+ sed -i 's/^name = .*$/name = "${{ matrix.variant.name }}"/' pyproject.toml
47
+
48
+ # Update elasticsearch version
49
+ sed -i 's/elasticsearch==.*/elasticsearch==${{ matrix.variant.elasticsearch_version }}",/' pyproject.toml
50
+
51
+ # Update script name to match package name (only for non-opensearch packages)
52
+ if [[ "${{ matrix.variant.name }}" != "opensearch-mcp-server" ]]; then
53
+ sed -i 's/^elasticsearch-mcp-server = /"${{ matrix.variant.name }}" = /' pyproject.toml
54
+ fi
55
+
56
+ - name: Build ${{ matrix.variant.name }} package
57
+ run: uv build
58
+
59
+ - name: Publish ${{ matrix.variant.name }} package
60
+ run: uv publish
61
+
62
+ - name: Clean dist directory
63
+ run: rm -rf dist/*
@@ -1,6 +1,7 @@
1
1
  # IDE
2
2
  .idea
3
3
  .vscode
4
+ .kiro
4
5
 
5
6
  # Python
6
7
  .venv
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: opensearch-mcp-server
3
- Version: 2.0.6
3
+ Version: 2.0.8
4
4
  Summary: MCP Server for interacting with Elasticsearch and OpenSearch
5
5
  License: Apache License
6
6
  Version 2.0, January 2004
@@ -375,6 +375,23 @@ Using `uv` requires cloning the repository locally and specifying the path to th
375
375
 
376
376
  ## SSE
377
377
 
378
+ ### Option 1: Using uvx
379
+
380
+ ```bash
381
+ # export environment variables
382
+ export ELASTICSEARCH_HOSTS="https://localhost:9200"
383
+ export ELASTICSEARCH_USERNAME="elastic"
384
+ export ELASTICSEARCH_PASSWORD="test123"
385
+
386
+ # By default, the SSE MCP server will serve on http://127.0.0.1:8000/sse
387
+ uvx elasticsearch-mcp-server --transport sse
388
+
389
+ # The host, port, and path can be specified using the --host, --port, and --path options
390
+ uvx elasticsearch-mcp-server --transport sse --host 0.0.0.0 --port 8000 --path /sse
391
+ ```
392
+
393
+ ### Option 2: Using uv
394
+
378
395
  ```bash
379
396
  # By default, the SSE MCP server will serve on http://127.0.0.1:8000/sse
380
397
  uv run src/server.py elasticsearch-mcp-server --transport sse
@@ -385,6 +402,23 @@ uv run src/server.py elasticsearch-mcp-server --transport sse --host 0.0.0.0 --p
385
402
 
386
403
  ## Streamable HTTP
387
404
 
405
+ ### Option 1: Using uvx
406
+
407
+ ```bash
408
+ # export environment variables
409
+ export ELASTICSEARCH_HOSTS="https://localhost:9200"
410
+ export ELASTICSEARCH_USERNAME="elastic"
411
+ export ELASTICSEARCH_PASSWORD="test123"
412
+
413
+ # By default, the Streamable HTTP MCP server will serve on http://127.0.0.1:8000/mcp
414
+ uvx elasticsearch-mcp-server --transport streamable-http
415
+
416
+ # The host, port, and path can be specified using the --host, --port, and --path options
417
+ uvx elasticsearch-mcp-server --transport streamable-http --host 0.0.0.0 --port 8000 --path /mcp
418
+ ```
419
+
420
+ ### Option 2: Using uv
421
+
388
422
  ```bash
389
423
  # By default, the Streamable HTTP MCP server will serve on http://127.0.0.1:8000/mcp
390
424
  uv run src/server.py elasticsearch-mcp-server --transport streamable-http
@@ -158,6 +158,23 @@ Using `uv` requires cloning the repository locally and specifying the path to th
158
158
 
159
159
  ## SSE
160
160
 
161
+ ### Option 1: Using uvx
162
+
163
+ ```bash
164
+ # export environment variables
165
+ export ELASTICSEARCH_HOSTS="https://localhost:9200"
166
+ export ELASTICSEARCH_USERNAME="elastic"
167
+ export ELASTICSEARCH_PASSWORD="test123"
168
+
169
+ # By default, the SSE MCP server will serve on http://127.0.0.1:8000/sse
170
+ uvx elasticsearch-mcp-server --transport sse
171
+
172
+ # The host, port, and path can be specified using the --host, --port, and --path options
173
+ uvx elasticsearch-mcp-server --transport sse --host 0.0.0.0 --port 8000 --path /sse
174
+ ```
175
+
176
+ ### Option 2: Using uv
177
+
161
178
  ```bash
162
179
  # By default, the SSE MCP server will serve on http://127.0.0.1:8000/sse
163
180
  uv run src/server.py elasticsearch-mcp-server --transport sse
@@ -168,6 +185,23 @@ uv run src/server.py elasticsearch-mcp-server --transport sse --host 0.0.0.0 --p
168
185
 
169
186
  ## Streamable HTTP
170
187
 
188
+ ### Option 1: Using uvx
189
+
190
+ ```bash
191
+ # export environment variables
192
+ export ELASTICSEARCH_HOSTS="https://localhost:9200"
193
+ export ELASTICSEARCH_USERNAME="elastic"
194
+ export ELASTICSEARCH_PASSWORD="test123"
195
+
196
+ # By default, the Streamable HTTP MCP server will serve on http://127.0.0.1:8000/mcp
197
+ uvx elasticsearch-mcp-server --transport streamable-http
198
+
199
+ # The host, port, and path can be specified using the --host, --port, and --path options
200
+ uvx elasticsearch-mcp-server --transport streamable-http --host 0.0.0.0 --port 8000 --path /mcp
201
+ ```
202
+
203
+ ### Option 2: Using uv
204
+
171
205
  ```bash
172
206
  # By default, the Streamable HTTP MCP server will serve on http://127.0.0.1:8000/mcp
173
207
  uv run src/server.py elasticsearch-mcp-server --transport streamable-http
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "opensearch-mcp-server"
3
- version = "2.0.6"
3
+ version = "2.0.8"
4
4
  description = "MCP Server for interacting with Elasticsearch and OpenSearch"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -0,0 +1 @@
1
+ __version__ = "2.0.8"
@@ -287,7 +287,7 @@ wheels = [
287
287
 
288
288
  [[package]]
289
289
  name = "elasticsearch-mcp-server"
290
- version = "2.0.6"
290
+ version = "2.0.8"
291
291
  source = { editable = "." }
292
292
  dependencies = [
293
293
  { name = "anthropic" },
@@ -1,51 +0,0 @@
1
- # This workflow will upload Python Packages using uv when a release is created
2
- # It builds and publishes two separate packages: elasticsearch-mcp-server and opensearch-mcp-server
3
-
4
- name: PyPI Publish
5
-
6
- on:
7
- workflow_run:
8
- workflows: ["Release"]
9
- types:
10
- - completed
11
-
12
- env:
13
- UV_PUBLISH_TOKEN: '${{ secrets.PYPI_API_TOKEN }}'
14
-
15
- jobs:
16
- deploy:
17
- runs-on: ubuntu-latest
18
- if: ${{ github.event.workflow_run.conclusion == 'success' }}
19
- steps:
20
- - uses: actions/checkout@v2
21
-
22
- - name: Set up Python
23
- uses: actions/setup-python@v2
24
- with:
25
- python-version: '3.10.x'
26
-
27
- - name: Install dependencies
28
- run: |
29
- python -m pip install uv
30
- uv sync
31
-
32
- # First build and publish elasticsearch-mcp-server
33
- - name: Build elasticsearch-mcp-server package
34
- run: uv build
35
-
36
- - name: Publish elasticsearch-mcp-server package
37
- run: uv publish
38
-
39
- # Clean up dist directory
40
- - name: Clean dist directory
41
- run: rm -rf dist/*
42
-
43
- # Then build and publish opensearch-mcp-server
44
- - name: Build opensearch-mcp-server package
45
- run: |
46
- # Change package name to opensearch-mcp-server
47
- sed -i 's/^name = .*$/name = "opensearch-mcp-server"/' pyproject.toml
48
- uv build
49
-
50
- - name: Publish opensearch-mcp-server package
51
- run: uv publish
@@ -1,25 +0,0 @@
1
- # Smithery configuration file: https://smithery.ai/docs/config#smitheryyaml
2
-
3
- startCommand:
4
- type: stdio
5
- configSchema:
6
- # JSON Schema defining the configuration options for the MCP.
7
- type: object
8
- required:
9
- - elasticsearchHosts
10
- - elasticsearchUsername
11
- - elasticsearchPassword
12
- properties:
13
- elasticsearchHosts:
14
- type: string
15
- description: The host URL of the Elasticsearch cluster.
16
- elasticsearchUsername:
17
- type: string
18
- description: The username for Elasticsearch authentication.
19
- elasticsearchPassword:
20
- type: string
21
- description: The password for Elasticsearch authentication.
22
- commandFunction:
23
- # A function that produces the CLI command to start the MCP on stdio.
24
- |-
25
- (config) => ({ command: 'elasticsearch-mcp-server', env: { ELASTICSEARCH_HOSTS: config.elasticsearchHosts, ELASTICSEARCH_USERNAME: config.elasticsearchUsername, ELASTICSEARCH_PASSWORD: config.elasticsearchPassword } })
@@ -1 +0,0 @@
1
- __version__ = "2.0.6"