OpenSearch MCP server - offline package for Windows 11 x64 (built 2026-10-01)

Server: opensearch-mcp-server-py 0.12.0 (official, opensearch-project, Apache-2.0)
Tools (9): ListIndexTool, IndexMappingTool, SearchIndexTool, CountTool, MsearchTool, ExplainTool,
           ClusterHealthTool, GetShardsTool, GenericOpenSearchApiTool

Contents
  install.ps1                               offline installer (no internet, no admin rights)
  deps\installers\python-3.13.5-amd64.exe   python.org, signed; installed per user only if missing
  deps\uv\                                  uv 0.12.19
  deps\wheels\                              the server + all 70 dependency wheels (cp313, win_amd64)
  SHA256SUMS.txt                            checksums of every file in this package

Install
  1. Extract the archive anywhere and open PowerShell in the extracted folder.
  2. Placeholders only (fill in later):
       powershell -ExecutionPolicy Bypass -File .\install.ps1
     With your cluster (password is prompted if not given):
       powershell -ExecutionPolicy Bypass -File .\install.ps1 -Url https://opensearch.lan:9200 -Username reader
     Options: -Password <pw>  -NoAuth  -SkipSslVerify (self-signed certs)  -AllowWrite
  3. Restart Bionic fully (tray icon -> Quit), or in a running Hermes chat type /reload-mcp.

Where it is registered (name "opensearch"; an existing "opensearch" entry is never overwritten,
other entries are kept, the old file is saved as *.bak):
  - LM Studio Bionic:  %USERPROFILE%\.lmstudio\apps\bionic\.internal\ng-mcp.json   (if Bionic is set up)
  - LM Studio classic: %USERPROFILE%\.lmstudio\mcp.json
  - Hermes Agent:      %LOCALAPPDATA%\hermes\config.yaml -> mcp_servers            (if Hermes is set up)
  Without -Url the entry is DISABLED with <OPENSEARCH_URL>/<OPENSEARCH_USER>/<OPENSEARCH_PASSWORD>
  placeholders: replace them and set "enabled" to true.

Safety
  - Read-only by default: OPENSEARCH_SETTINGS_ALLOW_WRITE=false makes the generic API tool refuse
    POST/PUT/DELETE/PATCH. Searches go through SearchIndexTool. -AllowWrite turns writes on.
  - Still use a dedicated OpenSearch user with a read-only role on the indexes the agent may see.
  - Credentials end up in plain text in the config files above.
  - SSL verification is on; use -SkipSslVerify only for a self-signed lab cluster
    (or trust its CA in Windows instead).
  - For Wazuh: the Wazuh indexer is OpenSearch (port 9200, indexes wazuh-alerts-*).

Tested before packaging: offline install from the bundled wheels, the server starting and listing its
9 tools, and registration in sandbox copies of Bionic / LM Studio / Hermes configs (validated with a
YAML/JSON parser). Not tested against a live OpenSearch cluster.
