opensearch-mcp-server 2.0.0__tar.gz → 2.0.1__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 (71) hide show
  1. {opensearch_mcp_server-2.0.0 → opensearch_mcp_server-2.0.1}/.env.example +2 -0
  2. opensearch_mcp_server-2.0.1/CONTRIBUTING.md +76 -0
  3. {opensearch_mcp_server-2.0.0 → opensearch_mcp_server-2.0.1}/PKG-INFO +5 -5
  4. {opensearch_mcp_server-2.0.0 → opensearch_mcp_server-2.0.1}/README.md +4 -4
  5. {opensearch_mcp_server-2.0.0 → opensearch_mcp_server-2.0.1}/docker-compose-elasticsearch.yml +5 -5
  6. opensearch_mcp_server-2.0.1/mcp_client/spring-ai/.gradle/8.13/checksums/checksums.lock +0 -0
  7. opensearch_mcp_server-2.0.1/mcp_client/spring-ai/.gradle/8.13/checksums/md5-checksums.bin +0 -0
  8. opensearch_mcp_server-2.0.1/mcp_client/spring-ai/.gradle/8.13/checksums/sha1-checksums.bin +0 -0
  9. opensearch_mcp_server-2.0.1/mcp_client/spring-ai/.gradle/8.13/executionHistory/executionHistory.bin +0 -0
  10. opensearch_mcp_server-2.0.1/mcp_client/spring-ai/.gradle/8.13/executionHistory/executionHistory.lock +0 -0
  11. opensearch_mcp_server-2.0.1/mcp_client/spring-ai/.gradle/8.13/fileChanges/last-build.bin +0 -0
  12. opensearch_mcp_server-2.0.1/mcp_client/spring-ai/.gradle/8.13/fileHashes/fileHashes.bin +0 -0
  13. opensearch_mcp_server-2.0.1/mcp_client/spring-ai/.gradle/8.13/fileHashes/fileHashes.lock +0 -0
  14. opensearch_mcp_server-2.0.1/mcp_client/spring-ai/.gradle/8.13/fileHashes/resourceHashesCache.bin +0 -0
  15. opensearch_mcp_server-2.0.1/mcp_client/spring-ai/.gradle/8.13/gc.properties +0 -0
  16. opensearch_mcp_server-2.0.1/mcp_client/spring-ai/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  17. opensearch_mcp_server-2.0.1/mcp_client/spring-ai/.gradle/buildOutputCleanup/cache.properties +2 -0
  18. opensearch_mcp_server-2.0.1/mcp_client/spring-ai/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  19. opensearch_mcp_server-2.0.1/mcp_client/spring-ai/.gradle/file-system.probe +0 -0
  20. opensearch_mcp_server-2.0.1/mcp_client/spring-ai/.gradle/vcs-1/gc.properties +0 -0
  21. opensearch_mcp_server-2.0.1/mcp_client/spring-ai/README.md +54 -0
  22. opensearch_mcp_server-2.0.1/mcp_client/spring-ai/build/classes/java/main/spring/ai/mcp/spring_ai_mcp/Application.class +0 -0
  23. opensearch_mcp_server-2.0.1/mcp_client/spring-ai/build/reports/problems/problems-report.html +663 -0
  24. opensearch_mcp_server-2.0.1/mcp_client/spring-ai/build/resolvedMainClassName +1 -0
  25. opensearch_mcp_server-2.0.1/mcp_client/spring-ai/build/resources/main/application.yml +16 -0
  26. opensearch_mcp_server-2.0.1/mcp_client/spring-ai/build/resources/main/mcp-servers-config.json +18 -0
  27. opensearch_mcp_server-2.0.1/mcp_client/spring-ai/build/tmp/compileJava/previous-compilation-data.bin +0 -0
  28. opensearch_mcp_server-2.0.1/mcp_client/spring-ai/build.gradle +44 -0
  29. opensearch_mcp_server-2.0.1/mcp_client/spring-ai/gradle/wrapper/gradle-wrapper.jar +0 -0
  30. opensearch_mcp_server-2.0.1/mcp_client/spring-ai/gradle/wrapper/gradle-wrapper.properties +7 -0
  31. opensearch_mcp_server-2.0.1/mcp_client/spring-ai/gradle.properties +1 -0
  32. opensearch_mcp_server-2.0.1/mcp_client/spring-ai/gradlew +251 -0
  33. opensearch_mcp_server-2.0.1/mcp_client/spring-ai/gradlew.bat +94 -0
  34. opensearch_mcp_server-2.0.1/mcp_client/spring-ai/settings.gradle +1 -0
  35. opensearch_mcp_server-2.0.1/mcp_client/spring-ai/src/main/java/spring/ai/mcp/spring_ai_mcp/Application.java +48 -0
  36. opensearch_mcp_server-2.0.1/mcp_client/spring-ai/src/main/resources/application.yml +16 -0
  37. opensearch_mcp_server-2.0.1/mcp_client/spring-ai/src/main/resources/mcp-servers-config.json +15 -0
  38. opensearch_mcp_server-2.0.1/mcp_client/spring-ai/src/test/java/spring/ai/mcp/spring_ai_mcp/SpringAiMcpApplicationTests.java +13 -0
  39. {opensearch_mcp_server-2.0.0 → opensearch_mcp_server-2.0.1}/pyproject.toml +1 -1
  40. {opensearch_mcp_server-2.0.0 → opensearch_mcp_server-2.0.1}/uv.lock +298 -298
  41. {opensearch_mcp_server-2.0.0 → opensearch_mcp_server-2.0.1}/.github/workflows/pypi-publish.yaml +0 -0
  42. {opensearch_mcp_server-2.0.0 → opensearch_mcp_server-2.0.1}/.github/workflows/release.yml +0 -0
  43. {opensearch_mcp_server-2.0.0 → opensearch_mcp_server-2.0.1}/.gitignore +0 -0
  44. {opensearch_mcp_server-2.0.0 → opensearch_mcp_server-2.0.1}/.python-version +0 -0
  45. {opensearch_mcp_server-2.0.0 → opensearch_mcp_server-2.0.1}/Dockerfile +0 -0
  46. {opensearch_mcp_server-2.0.0 → opensearch_mcp_server-2.0.1}/LICENSE +0 -0
  47. {opensearch_mcp_server-2.0.0 → opensearch_mcp_server-2.0.1}/Makefile +0 -0
  48. {opensearch_mcp_server-2.0.0 → opensearch_mcp_server-2.0.1}/cliff.toml +0 -0
  49. {opensearch_mcp_server-2.0.0 → opensearch_mcp_server-2.0.1}/docker-compose-opensearch.yml +0 -0
  50. {opensearch_mcp_server-2.0.0/mcp_client → opensearch_mcp_server-2.0.1/mcp_client/python-sdk-anthropic}/.gitignore +0 -0
  51. {opensearch_mcp_server-2.0.0/mcp_client → opensearch_mcp_server-2.0.1/mcp_client/python-sdk-anthropic}/__init__.py +0 -0
  52. {opensearch_mcp_server-2.0.0/mcp_client → opensearch_mcp_server-2.0.1/mcp_client/python-sdk-anthropic}/client.py +0 -0
  53. {opensearch_mcp_server-2.0.0/mcp_client → opensearch_mcp_server-2.0.1/mcp_client/python-sdk-anthropic}/config.py +0 -0
  54. {opensearch_mcp_server-2.0.0 → opensearch_mcp_server-2.0.1}/smithery.yaml +0 -0
  55. {opensearch_mcp_server-2.0.0 → opensearch_mcp_server-2.0.1}/src/__init__.py +0 -0
  56. {opensearch_mcp_server-2.0.0 → opensearch_mcp_server-2.0.1}/src/clients/__init__.py +0 -0
  57. {opensearch_mcp_server-2.0.0 → opensearch_mcp_server-2.0.1}/src/clients/base.py +0 -0
  58. {opensearch_mcp_server-2.0.0 → opensearch_mcp_server-2.0.1}/src/clients/common/__init__.py +0 -0
  59. {opensearch_mcp_server-2.0.0 → opensearch_mcp_server-2.0.1}/src/clients/common/alias.py +0 -0
  60. {opensearch_mcp_server-2.0.0 → opensearch_mcp_server-2.0.1}/src/clients/common/client.py +0 -0
  61. {opensearch_mcp_server-2.0.0 → opensearch_mcp_server-2.0.1}/src/clients/common/cluster.py +0 -0
  62. {opensearch_mcp_server-2.0.0 → opensearch_mcp_server-2.0.1}/src/clients/common/document.py +0 -0
  63. {opensearch_mcp_server-2.0.0 → opensearch_mcp_server-2.0.1}/src/clients/common/index.py +0 -0
  64. {opensearch_mcp_server-2.0.0 → opensearch_mcp_server-2.0.1}/src/clients/exceptions.py +0 -0
  65. {opensearch_mcp_server-2.0.0 → opensearch_mcp_server-2.0.1}/src/server.py +0 -0
  66. {opensearch_mcp_server-2.0.0 → opensearch_mcp_server-2.0.1}/src/tools/__init__.py +0 -0
  67. {opensearch_mcp_server-2.0.0 → opensearch_mcp_server-2.0.1}/src/tools/alias.py +0 -0
  68. {opensearch_mcp_server-2.0.0 → opensearch_mcp_server-2.0.1}/src/tools/cluster.py +0 -0
  69. {opensearch_mcp_server-2.0.0 → opensearch_mcp_server-2.0.1}/src/tools/document.py +0 -0
  70. {opensearch_mcp_server-2.0.0 → opensearch_mcp_server-2.0.1}/src/tools/index.py +0 -0
  71. {opensearch_mcp_server-2.0.0 → opensearch_mcp_server-2.0.1}/src/tools/register.py +0 -0
@@ -2,8 +2,10 @@
2
2
  ELASTICSEARCH_HOSTS=https://localhost:9200
3
3
  ELASTICSEARCH_USERNAME=elastic
4
4
  ELASTICSEARCH_PASSWORD=test123
5
+ ELASTICSEARCH_VERIFY_CERTS=false
5
6
 
6
7
  # OpenSearch connection settings
7
8
  OPENSEARCH_HOSTS=https://localhost:9200
8
9
  OPENSEARCH_USERNAME=admin
9
10
  OPENSEARCH_PASSWORD=admin
11
+ OPENSEARCH_VERIFY_CERTS=false
@@ -0,0 +1,76 @@
1
+ # Contributing to Elasticsearch/OpenSearch MCP Server
2
+
3
+ Thank you for your interest in contributing to the Elasticsearch/OpenSearch MCP Server! All kinds of contributions are welcome.
4
+
5
+ ## Bug reports
6
+
7
+ If you think you've found a bug in the Elasticsearch/OpenSearch MCP Server, we welcome your report. It's very helpful if you can provide steps to reproduce the bug, as it makes it easier to identify and fix the issue.
8
+
9
+ ## Feature requests
10
+
11
+ If you find yourself wishing for a feature that doesn't exist in the Elasticsearch/OpenSearch MCP Server, you are probably not alone. Don't be hesitate to open an issue which describes the feature you would like to see, why you need it, and how it should work.
12
+
13
+ ## Pull requests
14
+
15
+ If you have a fix or a new feature, we welcome your pull requests. You can follow the following steps:
16
+
17
+ 1. Fork your own copy of the repository to your GitHub account by clicking on
18
+ `Fork` button on [elasticsearch-mcp-server's GitHub repository](https://github.com/cr7258/elasticsearch-mcp-server).
19
+ 2. Clone the forked repository on your local setup.
20
+
21
+ ```bash
22
+ git clone https://github.com/$user/elasticsearch-mcp-server
23
+ ```
24
+
25
+ Add a remote upstream to track upstream `elasticsearch-mcp-server` repository.
26
+
27
+ ```bash
28
+ git remote add upstream https://github.com/cr7258/elasticsearch-mcp-server
29
+ ```
30
+
31
+ 3. Create a topic branch.
32
+
33
+ ```bash
34
+ git checkout -b <branch-name>
35
+ ```
36
+
37
+ 4. Make changes and commit it locally.
38
+
39
+ ```bash
40
+ git add <modifiedFile>
41
+ git commit
42
+ ```
43
+
44
+ Commit message could help reviewers better understand what is the purpose of submitted PR. It could help accelerate the code review procedure as well. We encourage contributors to use **EXPLICIT** commit message rather than ambiguous message. In general, we advocate the following commit message type:
45
+ - Features: commit message start with `feat`, For example: "feat: add user authentication module"
46
+ - Bug Fixes: commit message start with `fix`, For example: "fix: resolve null pointer exception in user service"
47
+ - Documentation, commit message start with `doc`, For example: "doc: update API documentation for user endpoints"
48
+ - Performance: commit message start with `perf`, For example: "perf: improve the performance of user service"
49
+ - Refactor: commit message start with `refactor`, For example: "refactor: refactor user service to improve code readability"
50
+ - Test: commit message start with `test`, For example: "test: add unit test for user service"
51
+ - Chore: commit message start with `chore`, For example: "chore: update dependencies in pom.xml"
52
+ - Style: commit message start with `style`, For example: "style: format the code in user service"
53
+ - Revert: commit message start with `revert`, For example: "revert: revert the changes in user service"
54
+
55
+ 5. Push local branch to your forked repository.
56
+
57
+ ```bash
58
+ git push
59
+ ```
60
+
61
+ 6. Create a Pull request on GitHub.
62
+ Visit your fork at `https://github.com/$user/elasticsearch-mcp-server` and click
63
+ `Compare & Pull Request` button next to your `<branch-name>`.
64
+
65
+
66
+ ## Keeping branch in sync with upstream
67
+
68
+ Click `Sync fork` button on your forked repository to keep your forked repository in sync with the upstream repository.
69
+
70
+ If you have already created a branch and want to keep it in sync with the upstream repository, follow the below steps:
71
+
72
+ ```bash
73
+ git checkout <branch-name>
74
+ git fetch upstream
75
+ git rebase upstream/main
76
+ ```
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: opensearch-mcp-server
3
- Version: 2.0.0
3
+ Version: 2.0.1
4
4
  Summary: MCP Server for interacting with Elasticsearch and OpenSearch
5
5
  License: Apache License
6
6
  Version 2.0, January 2004
@@ -302,7 +302,7 @@ Using `uvx` will automatically install the package from PyPI, no need to clone t
302
302
  "elasticsearch-mcp-server"
303
303
  ],
304
304
  "env": {
305
- "ELASTICSEARCH_HOST": "https://localhost:9200",
305
+ "ELASTICSEARCH_HOSTS": "https://localhost:9200",
306
306
  "ELASTICSEARCH_USERNAME": "elastic",
307
307
  "ELASTICSEARCH_PASSWORD": "test123"
308
308
  }
@@ -319,7 +319,7 @@ Using `uvx` will automatically install the package from PyPI, no need to clone t
319
319
  "opensearch-mcp-server"
320
320
  ],
321
321
  "env": {
322
- "OPENSEARCH_HOST": "https://localhost:9200",
322
+ "OPENSEARCH_HOSTS": "https://localhost:9200",
323
323
  "OPENSEARCH_USERNAME": "admin",
324
324
  "OPENSEARCH_PASSWORD": "admin"
325
325
  }
@@ -345,7 +345,7 @@ Using `uv` requires cloning the repository locally and specifying the path to th
345
345
  "elasticsearch-mcp-server"
346
346
  ],
347
347
  "env": {
348
- "ELASTICSEARCH_HOST": "https://localhost:9200",
348
+ "ELASTICSEARCH_HOSTS": "https://localhost:9200",
349
349
  "ELASTICSEARCH_USERNAME": "elastic",
350
350
  "ELASTICSEARCH_PASSWORD": "test123"
351
351
  }
@@ -365,7 +365,7 @@ Using `uv` requires cloning the repository locally and specifying the path to th
365
365
  "opensearch-mcp-server"
366
366
  ],
367
367
  "env": {
368
- "OPENSEARCH_HOST": "https://localhost:9200",
368
+ "OPENSEARCH_HOSTS": "https://localhost:9200",
369
369
  "OPENSEARCH_USERNAME": "admin",
370
370
  "OPENSEARCH_PASSWORD": "admin"
371
371
  }
@@ -85,7 +85,7 @@ Using `uvx` will automatically install the package from PyPI, no need to clone t
85
85
  "elasticsearch-mcp-server"
86
86
  ],
87
87
  "env": {
88
- "ELASTICSEARCH_HOST": "https://localhost:9200",
88
+ "ELASTICSEARCH_HOSTS": "https://localhost:9200",
89
89
  "ELASTICSEARCH_USERNAME": "elastic",
90
90
  "ELASTICSEARCH_PASSWORD": "test123"
91
91
  }
@@ -102,7 +102,7 @@ Using `uvx` will automatically install the package from PyPI, no need to clone t
102
102
  "opensearch-mcp-server"
103
103
  ],
104
104
  "env": {
105
- "OPENSEARCH_HOST": "https://localhost:9200",
105
+ "OPENSEARCH_HOSTS": "https://localhost:9200",
106
106
  "OPENSEARCH_USERNAME": "admin",
107
107
  "OPENSEARCH_PASSWORD": "admin"
108
108
  }
@@ -128,7 +128,7 @@ Using `uv` requires cloning the repository locally and specifying the path to th
128
128
  "elasticsearch-mcp-server"
129
129
  ],
130
130
  "env": {
131
- "ELASTICSEARCH_HOST": "https://localhost:9200",
131
+ "ELASTICSEARCH_HOSTS": "https://localhost:9200",
132
132
  "ELASTICSEARCH_USERNAME": "elastic",
133
133
  "ELASTICSEARCH_PASSWORD": "test123"
134
134
  }
@@ -148,7 +148,7 @@ Using `uv` requires cloning the repository locally and specifying the path to th
148
148
  "opensearch-mcp-server"
149
149
  ],
150
150
  "env": {
151
- "OPENSEARCH_HOST": "https://localhost:9200",
151
+ "OPENSEARCH_HOSTS": "https://localhost:9200",
152
152
  "OPENSEARCH_USERNAME": "admin",
153
153
  "OPENSEARCH_PASSWORD": "admin"
154
154
  }
@@ -1,6 +1,6 @@
1
1
  services:
2
2
  setup:
3
- image: docker.elastic.co/elasticsearch/elasticsearch:8.6.1
3
+ image: docker.elastic.co/elasticsearch/elasticsearch:8.17.2
4
4
  volumes:
5
5
  - certs:/usr/share/elasticsearch/config/certs
6
6
  user: "0"
@@ -61,7 +61,7 @@ services:
61
61
  depends_on:
62
62
  setup:
63
63
  condition: service_healthy
64
- image: docker.elastic.co/elasticsearch/elasticsearch:8.6.1
64
+ image: docker.elastic.co/elasticsearch/elasticsearch:8.17.2
65
65
  volumes:
66
66
  - certs:/usr/share/elasticsearch/config/certs
67
67
  - esdata01:/usr/share/elasticsearch/data
@@ -106,7 +106,7 @@ services:
106
106
  es02:
107
107
  depends_on:
108
108
  - es01
109
- image: docker.elastic.co/elasticsearch/elasticsearch:8.6.1
109
+ image: docker.elastic.co/elasticsearch/elasticsearch:8.17.2
110
110
  volumes:
111
111
  - certs:/usr/share/elasticsearch/config/certs
112
112
  - esdata02:/usr/share/elasticsearch/data
@@ -148,7 +148,7 @@ services:
148
148
  es03:
149
149
  depends_on:
150
150
  - es02
151
- image: docker.elastic.co/elasticsearch/elasticsearch:8.6.1
151
+ image: docker.elastic.co/elasticsearch/elasticsearch:8.17.2
152
152
  volumes:
153
153
  - certs:/usr/share/elasticsearch/config/certs
154
154
  - esdata03:/usr/share/elasticsearch/data
@@ -195,7 +195,7 @@ services:
195
195
  condition: service_healthy
196
196
  es03:
197
197
  condition: service_healthy
198
- image: docker.elastic.co/kibana/kibana:8.6.1
198
+ image: docker.elastic.co/kibana/kibana:8.17.2
199
199
  volumes:
200
200
  - certs:/usr/share/kibana/config/certs
201
201
  - kibanadata:/usr/share/kibana/data
@@ -0,0 +1,2 @@
1
+ #Tue Apr 22 12:36:29 CST 2025
2
+ gradle.version=8.13
@@ -0,0 +1,54 @@
1
+ ## Start MCP Client
2
+
3
+ ```bash
4
+ export OPENAI_API_KEY=<your-openai-api-key>
5
+ export OPENAI_BASE_URL=<your-openai-base-url>
6
+ ./gradlew bootRun
7
+ ```
8
+
9
+ ## Ask Questions
10
+
11
+ ```bash
12
+ USER: List the indices in the cluster.
13
+ ASSISTANT: Here are the indices currently present in the cluster:
14
+
15
+ 1. `.internal.alerts-default.alerts-default-000001`
16
+ 2. `.internal.alerts-observability.threshold.alerts-default-000001`
17
+ 3. `.internal.alerts-ml.anomaly-detection-health.alerts-default-000001`
18
+ 4. `.internal.alerts-observability.metrics.alerts-default-000001`
19
+ 5. `.internal.alerts-stack.alerts-default-000001`
20
+ 6. `.internal.alerts-security.alerts-default-000001`
21
+ 7. `.internal.alerts-observability.slo.alerts-default-000001`
22
+ 8. `.internal.alerts-ml.anomaly-detection.alerts-default-000001`
23
+ 9. `.internal.alerts-transform.health.alerts-default-000001`
24
+ 10. `student`
25
+ 11. `.internal.alerts-observability.logs.alerts-default-000001`
26
+ 12. `.internal.alerts-observability.uptime.alerts-default-000001`
27
+ 13. `.internal.alerts-observability.apm.alerts-default-000001`
28
+
29
+ If you need more information about any specific index, feel free to ask!
30
+
31
+ USER: Get student index's mapping.
32
+ ASSISTANT: The mapping for the `student` index is as follows:
33
+
34
+ - **Mappings:**
35
+ - **Properties:**
36
+ - **age:** Type is `long`
37
+ - **major:** Type is `text` with a sub-field `keyword` of type `keyword`, and `ignore_above` set to 256.
38
+ - **name:** Type is `text` with a sub-field `keyword` of type `keyword`, and `ignore_above` set to 256.
39
+
40
+ - **Settings:**
41
+ - **Index:**
42
+ - Routing:
43
+ - Allocation:
44
+ - Include:
45
+ - `_tier_preference`: `data_content`
46
+ - Number of shards: `1`
47
+ - Provided name: `student`
48
+ - Creation date: `1745300793755`
49
+ - Number of replicas: `1`
50
+ - UUID: `RIsbajmcSwKr8DGFjL0sMQ`
51
+ - Version created: `8521000`
52
+
53
+ If you need further details or have any other questions, feel free to ask!
54
+ ```