Skip to content

Commit cbbb3d2

Browse files
authored
Update docs to reflect the new Rust-based version (#148)
1 parent 538b5b0 commit cbbb3d2

File tree

2 files changed

+26
-19
lines changed

2 files changed

+26
-19
lines changed

README.md

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Elasticsearch MCP Server
22

33
> [!CAUTION]
4-
>
4+
>
55
> **WARNING: this is MCP server is EXPERIMENTAL.**
66
77
Connect to your Elasticsearch data directly from any MCP Client using the Model Context Protocol (MCP).
@@ -28,6 +28,12 @@ Versions `8.x` and `9.x` are officially supported. Earlier versions may partiall
2828

2929
## Installation & Setup
3030

31+
> [!NOTE]
32+
>
33+
> Versions 0.3.1 and earlier were installed via `npm`. These versions are deprecated and no longer supported. The following instructions only apply to 0.4.0 and later.
34+
>
35+
> To view instructions for versions 0.3.1 and earlier, see the [README for v0.3.1](https://github.com/elastic/mcp-server-elasticsearch/tree/v0.3.1).
36+
3137
This MCP server is provided as a Docker image at `docker.elastic.co/mcp/elasticsearch`
3238
that supports MCP's stdio, SSE and streamable-HTTP protocols.
3339

@@ -52,10 +58,11 @@ Options:
5258
### Using the stdio protocol
5359

5460
The MCP server needs environment variables to be set:
55-
* `ES_URL`, the URL of your Elasticsearch cluster
56-
* `ES_API_KEY`, the Elasticsearch API key. We **strongly recommend** creating an API key
57-
with limited privileges so that the LLM only has access to the data and operations
58-
required for the usage context.
61+
62+
* `ES_URL`: the URL of your Elasticsearch cluster
63+
* For authentication use either an API key or basic authentication:
64+
* API key: `ES_API_KEY`
65+
* Basic auth: `ES_USERNAME` and `ES_PASSWORD`
5966
* Optionally, `ES_SSL_SKIP_VERIFY` set to `true` skips SSL/TLS certificate verification when connecting
6067
to Elasticsearch. The ability to provide a custom certificate will be added in a later version.
6168

@@ -73,10 +80,10 @@ The configuration for Claude Desktop is as follows:
7380
"elasticsearch-mcp-server": {
7481
"command": "docker",
7582
"args": [
76-
"run", "-i", "--rm",
77-
"-e", "ES_URL", "-e", "ES_API_KEY",
78-
"docker.elastic.co/mcp/elasticsearch",
79-
"stdio"
83+
"run", "-i", "--rm",
84+
"-e", "ES_URL", "-e", "ES_API_KEY",
85+
"docker.elastic.co/mcp/elasticsearch",
86+
"stdio"
8087
],
8188
"env": {
8289
"ES_URL": "<elasticsearch-cluster-url>",
@@ -92,27 +99,28 @@ The configuration for Claude Desktop is as follows:
9299
Note: streamable-HTTP is recommended, as [SSE is deprecated](https://modelcontextprotocol.io/docs/concepts/transports#server-sent-events-sse-deprecated).
93100

94101
The MCP server needs environment variables to be set:
102+
95103
* `ES_URL`, the URL of your Elasticsearch cluster
104+
* For authentication use either an API key or basic authentication:
105+
* API key: `ES_API_KEY`
106+
* Basic auth: `ES_USERNAME` and `ES_PASSWORD`
96107
* Optionally, `ES_SSL_SKIP_VERIFY` set to `true` skips SSL/TLS certificate verification when connecting
97108
to Elasticsearch. The ability to provide a custom certificate will be added in a later version.
98109

99-
The MCP client must also be configured with an `Authorization` header containing the Elasticsearch
100-
cluster's API key
101-
102110
The MCP server is started in http mode with this command:
103111

104112
```bash
105-
docker run --rm -e ES_URL -p 8080:8080 docker.elastic.co/mcp/elasticsearch http
113+
docker run --rm -e ES_URL -e ES_API_KEY -p 8080:8080 docker.elastic.co/mcp/elasticsearch http
106114
```
107115

108116
If for some reason your execution environment doesn't allow passing parameters to the container, they can be passed
109-
using the `CLI_ARGS` environment variable: `docker run --rm -e ES_URL -e CLI_ARGS=http -p 8080:8080...`
117+
using the `CLI_ARGS` environment variable: `docker run --rm -e ES_URL -e ES_API_KEY -e CLI_ARGS=http -p 8080:8080...`
110118

111119
The streamable-HTTP endpoint is at `http:<host>:8080/mcp`. There's also a health check at `http:<host>:8080/ping`
112120

113121
Configuration for Claude Desktop (free edition that only supports the stdio protocol).
114122

115-
1. Install `mcp-proxy` (or an equivalent), that will bridge stdio to streamable-http. The executable
123+
1. Install `mcp-proxy` (or an equivalent), that will bridge stdio to streamable-http. The executable
116124
will be installed in `~/.local/bin`:
117125

118126
```bash
@@ -135,4 +143,3 @@ Configuration for Claude Desktop (free edition that only supports the stdio prot
135143
}
136144
}
137145
```
138-

docs/CONTRIBUTING.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ Elasticsearch MCP Server is open source, and we love to receive contributions fr
88

99
There are many ways to contribute, from writing tutorials or blog posts, improving the documentation, submitting bug reports and feature requests or writing code.
1010

11-
1211
Contributions are [released](https://help.github.com/articles/github-terms-of-service/#6-contributions-under-repository-license) under the [project's license](../LICENSE).
1312

1413
Please note that this project follows the [Elastic's Open Source Community Code of Conduct][code-of-conduct].
@@ -34,13 +33,14 @@ You can use either:
3433

3534
1. **Elastic Cloud** - Use an existing Elasticsearch deployment and your API key
3635
2. **Local Elasticsearch** - Run Elasticsearch locally using the [start-local](https://www.elastic.co/guide/en/elasticsearch/reference/current/run-elasticsearch-locally.html) script:
36+
3737
```bash
3838
curl -fsSL https://elastic.co/start-local | sh
3939
```
4040

4141
This starts Elasticsearch and Kibana with Docker:
42-
- Elasticsearch: http://localhost:9200
43-
- Kibana: http://localhost:5601
42+
- Elasticsearch: <http://localhost:9200>
43+
- Kibana: <http://localhost:5601>
4444

4545
> [!NOTE]
4646
> The `start-local` setup is for development only. It uses basic authentication and disables HTTPS.

0 commit comments

Comments
 (0)