opensearch-mcp-server 2.0.5__tar.gz → 2.0.6__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 (54) hide show
  1. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/PKG-INFO +5 -5
  2. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/README.md +4 -4
  3. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/pyproject.toml +1 -1
  4. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/src/server.py +55 -21
  5. opensearch_mcp_server-2.0.6/src/version.py +1 -0
  6. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/uv.lock +1 -1
  7. opensearch_mcp_server-2.0.5/src/version.py +0 -1
  8. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/.env.example +0 -0
  9. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/.github/workflows/pypi-publish.yaml +0 -0
  10. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/.github/workflows/release.yml +0 -0
  11. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/.gitignore +0 -0
  12. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/.python-version +0 -0
  13. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/CONTRIBUTING.md +0 -0
  14. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/Dockerfile +0 -0
  15. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/LICENSE +0 -0
  16. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/Makefile +0 -0
  17. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/cliff.toml +0 -0
  18. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/docker-compose-elasticsearch.yml +0 -0
  19. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/docker-compose-opensearch.yml +0 -0
  20. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/mcp_client/python-sdk-anthropic/.gitignore +0 -0
  21. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/mcp_client/python-sdk-anthropic/__init__.py +0 -0
  22. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/mcp_client/python-sdk-anthropic/client.py +0 -0
  23. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/mcp_client/python-sdk-anthropic/config.py +0 -0
  24. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/mcp_client/spring-ai/README.md +0 -0
  25. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/mcp_client/spring-ai/build.gradle +0 -0
  26. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/mcp_client/spring-ai/gradle/wrapper/gradle-wrapper.jar +0 -0
  27. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/mcp_client/spring-ai/gradle/wrapper/gradle-wrapper.properties +0 -0
  28. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/mcp_client/spring-ai/gradle.properties +0 -0
  29. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/mcp_client/spring-ai/gradlew +0 -0
  30. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/mcp_client/spring-ai/gradlew.bat +0 -0
  31. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/mcp_client/spring-ai/settings.gradle +0 -0
  32. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/mcp_client/spring-ai/src/main/java/spring/ai/mcp/spring_ai_mcp/Application.java +0 -0
  33. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/mcp_client/spring-ai/src/main/resources/application.yml +0 -0
  34. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/mcp_client/spring-ai/src/main/resources/mcp-servers-config.json +0 -0
  35. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/mcp_client/spring-ai/src/test/java/spring/ai/mcp/spring_ai_mcp/SpringAiMcpApplicationTests.java +0 -0
  36. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/smithery.yaml +0 -0
  37. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/src/__init__.py +0 -0
  38. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/src/clients/__init__.py +0 -0
  39. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/src/clients/base.py +0 -0
  40. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/src/clients/common/__init__.py +0 -0
  41. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/src/clients/common/alias.py +0 -0
  42. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/src/clients/common/client.py +0 -0
  43. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/src/clients/common/cluster.py +0 -0
  44. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/src/clients/common/document.py +0 -0
  45. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/src/clients/common/general.py +0 -0
  46. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/src/clients/common/index.py +0 -0
  47. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/src/clients/exceptions.py +0 -0
  48. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/src/tools/__init__.py +0 -0
  49. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/src/tools/alias.py +0 -0
  50. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/src/tools/cluster.py +0 -0
  51. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/src/tools/document.py +0 -0
  52. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/src/tools/general.py +0 -0
  53. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/src/tools/index.py +0 -0
  54. {opensearch_mcp_server-2.0.5 → opensearch_mcp_server-2.0.6}/src/tools/register.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: opensearch-mcp-server
3
- Version: 2.0.5
3
+ Version: 2.0.6
4
4
  Summary: MCP Server for interacting with Elasticsearch and OpenSearch
5
5
  License: Apache License
6
6
  Version 2.0, January 2004
@@ -377,20 +377,20 @@ Using `uv` requires cloning the repository locally and specifying the path to th
377
377
 
378
378
  ```bash
379
379
  # By default, the SSE MCP server will serve on http://127.0.0.1:8000/sse
380
- uv run src/server.py elasticsearch --transport sse
380
+ uv run src/server.py elasticsearch-mcp-server --transport sse
381
381
 
382
382
  # The host, port, and path can be specified using the --host, --port, and --path options
383
- uv run src/server.py elasticsearch --transport sse --host 0.0.0.0 --port 8000 --path /sse
383
+ uv run src/server.py elasticsearch-mcp-server --transport sse --host 0.0.0.0 --port 8000 --path /sse
384
384
  ```
385
385
 
386
386
  ## Streamable HTTP
387
387
 
388
388
  ```bash
389
389
  # By default, the Streamable HTTP MCP server will serve on http://127.0.0.1:8000/mcp
390
- uv run src/server.py elasticsearch --transport streamable-http
390
+ uv run src/server.py elasticsearch-mcp-server --transport streamable-http
391
391
 
392
392
  # The host, port, and path can be specified using the --host, --port, and --path options
393
- uv run src/server.py elasticsearch --transport streamable-http --host 0.0.0.0 --port 8000 --path /mcp
393
+ uv run src/server.py elasticsearch-mcp-server --transport streamable-http --host 0.0.0.0 --port 8000 --path /mcp
394
394
  ```
395
395
 
396
396
  ## License
@@ -160,20 +160,20 @@ Using `uv` requires cloning the repository locally and specifying the path to th
160
160
 
161
161
  ```bash
162
162
  # By default, the SSE MCP server will serve on http://127.0.0.1:8000/sse
163
- uv run src/server.py elasticsearch --transport sse
163
+ uv run src/server.py elasticsearch-mcp-server --transport sse
164
164
 
165
165
  # The host, port, and path can be specified using the --host, --port, and --path options
166
- uv run src/server.py elasticsearch --transport sse --host 0.0.0.0 --port 8000 --path /sse
166
+ uv run src/server.py elasticsearch-mcp-server --transport sse --host 0.0.0.0 --port 8000 --path /sse
167
167
  ```
168
168
 
169
169
  ## Streamable HTTP
170
170
 
171
171
  ```bash
172
172
  # By default, the Streamable HTTP MCP server will serve on http://127.0.0.1:8000/mcp
173
- uv run src/server.py elasticsearch --transport streamable-http
173
+ uv run src/server.py elasticsearch-mcp-server --transport streamable-http
174
174
 
175
175
  # The host, port, and path can be specified using the --host, --port, and --path options
176
- uv run src/server.py elasticsearch --transport streamable-http --host 0.0.0.0 --port 8000 --path /mcp
176
+ uv run src/server.py elasticsearch-mcp-server --transport streamable-http --host 0.0.0.0 --port 8000 --path /mcp
177
177
  ```
178
178
 
179
179
  ## License
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "opensearch-mcp-server"
3
- version = "2.0.5"
3
+ version = "2.0.6"
4
4
  description = "MCP Server for interacting with Elasticsearch and OpenSearch"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -17,7 +17,7 @@ class SearchMCPServer:
17
17
  def __init__(self, engine_type):
18
18
  # Set engine type
19
19
  self.engine_type = engine_type
20
- self.name = f"{self.engine_type}_mcp_server"
20
+ self.name = f"{self.engine_type}-mcp-server"
21
21
  self.mcp = FastMCP(self.name)
22
22
  self.logger = logging.getLogger()
23
23
  self.logger.info(f"Initializing {self.name}, Version: {VERSION}")
@@ -65,24 +65,13 @@ def run_search_server(engine_type, transport, host, port, path):
65
65
  server.logger.info(f"Starting {server.name} with {transport} transport")
66
66
  server.mcp.run(transport=transport)
67
67
 
68
- def elasticsearch_mcp_server():
69
- """Entry point for Elasticsearch MCP server."""
70
- run_search_server(engine_type="elasticsearch")
71
-
72
- def opensearch_mcp_server():
73
- """Entry point for OpenSearch MCP server."""
74
- run_search_server(engine_type="opensearch")
75
-
76
- if __name__ == "__main__":
77
- # Parse command line arguments
78
- parser = argparse.ArgumentParser(description=f"Elasticsearch/OpenSearch MCP Server v{VERSION}")
79
- parser.add_argument(
80
- "engine_type",
81
- nargs="?",
82
- default="elasticsearch",
83
- choices=["elasticsearch", "opensearch"],
84
- help="Search engine type to use (default: elasticsearch)"
85
- )
68
+ def parse_server_args():
69
+ """Parse command line arguments for the MCP server.
70
+
71
+ Returns:
72
+ Parsed arguments
73
+ """
74
+ parser = argparse.ArgumentParser()
86
75
  parser.add_argument(
87
76
  "--transport", "-t",
88
77
  default="stdio",
@@ -113,12 +102,57 @@ if __name__ == "__main__":
113
102
  args.path = "/sse"
114
103
  else:
115
104
  args.path = "/mcp"
105
+
106
+ return args
107
+
108
+ def elasticsearch_mcp_server():
109
+ """Entry point for Elasticsearch MCP server."""
110
+ args = parse_server_args()
116
111
 
117
112
  # Run the server with the specified options
118
113
  run_search_server(
119
- engine_type=args.engine_type,
114
+ engine_type="elasticsearch",
120
115
  transport=args.transport,
121
116
  host=args.host,
122
117
  port=args.port,
123
118
  path=args.path
124
- )
119
+ )
120
+
121
+ def opensearch_mcp_server():
122
+ """Entry point for OpenSearch MCP server."""
123
+ args = parse_server_args()
124
+
125
+ # Run the server with the specified options
126
+ run_search_server(
127
+ engine_type="opensearch",
128
+ transport=args.transport,
129
+ host=args.host,
130
+ port=args.port,
131
+ path=args.path
132
+ )
133
+
134
+ if __name__ == "__main__":
135
+ # Require elasticsearch-mcp-server or opensearch-mcp-server as the first argument
136
+ if len(sys.argv) <= 1 or sys.argv[1] not in ["elasticsearch-mcp-server", "opensearch-mcp-server"]:
137
+ print("Error: First argument must be 'elasticsearch-mcp-server' or 'opensearch-mcp-server'")
138
+ sys.exit(1)
139
+
140
+ # Determine engine type based on the first argument
141
+ engine_type = "elasticsearch" # Default
142
+ if sys.argv[1] == "opensearch-mcp-server":
143
+ engine_type = "opensearch"
144
+
145
+ # Remove the first argument so it doesn't interfere with argparse
146
+ sys.argv.pop(1)
147
+
148
+ # Parse command line arguments
149
+ args = parse_server_args()
150
+
151
+ # Run the server with the specified options
152
+ run_search_server(
153
+ engine_type=engine_type,
154
+ transport=args.transport,
155
+ host=args.host,
156
+ port=args.port,
157
+ path=args.path
158
+ )
@@ -0,0 +1 @@
1
+ __version__ = "2.0.6"
@@ -287,7 +287,7 @@ wheels = [
287
287
 
288
288
  [[package]]
289
289
  name = "elasticsearch-mcp-server"
290
- version = "2.0.5"
290
+ version = "2.0.6"
291
291
  source = { editable = "." }
292
292
  dependencies = [
293
293
  { name = "anthropic" },
@@ -1 +0,0 @@
1
- __version__ = "2.0.5"