Skip to content

Commit 2a3de7d

Browse files
authored
Merge branch 'main' into feature/entraid-auth
2 parents 1567ef8 + 07056b3 commit 2a3de7d

File tree

7 files changed

+79
-107
lines changed

7 files changed

+79
-107
lines changed

.env.example

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ REDIS_DB=0
44
REDIS_USERNAME=default
55
REDIS_PWD=your_password
66
REDIS_SSL=False
7-
REDIS_CA_PATH=/path/to/ca.pem
7+
REDIS_SSL_CA_PATH=/path/to/ca.pem
88
REDIS_SSL_KEYFILE=/path/to/key.pem
99
REDIS_SSL_CERTFILE=/path/to/cert.pem
10-
REDIS_CERT_REQS=required
11-
REDIS_CA_CERTS=/path/to/ca_certs.pem
10+
REDIS_SSL_CERT_REQS=required
11+
REDIS_SSL_CA_CERTS=/path/to/ca_certs.pem
1212
REDIS_CLUSTER_MODE=False

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ jobs:
8989
strategy:
9090
fail-fast: false
9191
matrix:
92-
python-version: ["3.10", "3.11", "3.12", "3.13"]
92+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
9393

9494
services:
9595
redis:
@@ -151,7 +151,7 @@ jobs:
151151
fail-fast: false
152152
matrix:
153153
os: [windows-latest, macos-latest]
154-
python-version: ["3.10", "3.11", "3.12", "3.13"]
154+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
155155

156156
steps:
157157
- name: ⚙️ Checkout the project

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@
8787
needs: validate-release
8888
strategy:
8989
matrix:
90-
python-version: ["3.10", "3.11", "3.12", "3.13"]
90+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
9191

9292
services:
9393
redis:

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM python:3.13-slim
1+
FROM python:3.14-slim
22
RUN pip install --upgrade uv
33

44
WORKDIR /app

README.md

Lines changed: 70 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
# Redis MCP Server
22
[![Integration](https://github.com/redis/mcp-redis/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/redis/mcp-redis/actions/workflows/ci.yml)
33
[![PyPI - Version](https://img.shields.io/pypi/v/redis-mcp-server)](https://pypi.org/project/redis-mcp-server/)
4-
[![Python Version](https://img.shields.io/badge/python-3.13%2B-blue&logo=redis)](https://www.python.org/downloads/)
4+
[![Python Version](https://img.shields.io/badge/python-3.14%2B-blue&logo=redis)](https://www.python.org/downloads/)
55
[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE.txt)
6-
[![smithery badge](https://smithery.ai/badge/@redis/mcp-redis)](https://smithery.ai/server/@redis/mcp-redis)
76
[![Verified on MseeP](https://mseep.ai/badge.svg)](https://mseep.ai/app/70102150-efe0-4705-9f7d-87980109a279)
87
[![Docker Image Version](https://img.shields.io/docker/v/mcp/redis?sort=semver&logo=docker&label=Docker)](https://hub.docker.com/r/mcp/redis)
98
[![codecov](https://codecov.io/gh/redis/mcp-redis/branch/master/graph/badge.svg?token=yenl5fzxxr)](https://codecov.io/gh/redis/mcp-redis)
@@ -104,7 +103,41 @@ The `uvx` command will download the server on the fly (if not cached already), c
104103
}
105104
```
106105

107-
You will find examples for different platforms along the README.
106+
#### URL specification
107+
108+
The format to specify the `--url` argument follows the [redis](https://www.iana.org/assignments/uri-schemes/prov/redis) and [rediss](https://www.iana.org/assignments/uri-schemes/prov/rediss) schemes:
109+
110+
```commandline
111+
redis://user:secret@localhost:6379/0?foo=bar&qux=baz
112+
```
113+
114+
As an example, you can easily connect to a localhost server with:
115+
116+
```commandline
117+
redis://localhost:6379/0
118+
```
119+
120+
Where `0` is the [logical database](https://redis.io/docs/latest/commands/select/) you'd like to connect to.
121+
122+
For an encrypted connection to the database (e.g., connecting to a [Redis Cloud](https://redis.io/cloud/) database), you'd use the `rediss` scheme.
123+
124+
```commandline
125+
rediss://user:secret@localhost:6379/0?foo=bar&qux=baz
126+
```
127+
128+
To verify the server's identity, specify `ssl_ca_certs`.
129+
130+
```commandline
131+
rediss://user:secret@hostname:port?ssl_cert_reqs=required&ssl_ca_certs=path_to_the_certificate
132+
```
133+
134+
For an unverified connection, set `ssl_cert_reqs` to `none`
135+
136+
```commandline
137+
rediss://user:secret@hostname:port?ssl_cert_reqs=none
138+
```
139+
140+
Configure your connection using the available options in the section "Available CLI Options".
108141

109142
### Testing the PyPI package
110143

@@ -117,7 +150,7 @@ pip install redis-mcp-server
117150
And start it using `uv` the package in your environment.
118151

119152
```sh
120-
uv python install 3.13
153+
uv python install 3.14
121154
uv sync
122155
uv run redis-mcp-server --url redis://localhost:6379/0
123156
```
@@ -198,7 +231,7 @@ The following example is for Claude Desktop, but the same applies to any other M
198231
"REDIS_PORT": "<your_redis_database_port>",
199232
"REDIS_PWD": "<your_redis_database_password>",
200233
"REDIS_SSL": True|False,
201-
"REDIS_CA_PATH": "<your_redis_ca_path>",
234+
"REDIS_SSL_CA_PATH": "<your_redis_ca_path>",
202235
"REDIS_CLUSTER_MODE": True|False
203236
}
204237
}
@@ -311,11 +344,11 @@ If desired, you can use environment variables. Defaults are provided for all var
311344
| `REDIS_USERNAME` | Default database username | `"default"` |
312345
| `REDIS_PWD` | Default database password | "" |
313346
| `REDIS_SSL` | Enables or disables SSL/TLS | `False` |
314-
| `REDIS_CA_PATH` | CA certificate for verifying server | None |
347+
| `REDIS_SSL_CA_PATH` | CA certificate for verifying server | None |
315348
| `REDIS_SSL_KEYFILE` | Client's private key file for client authentication | None |
316349
| `REDIS_SSL_CERTFILE` | Client's certificate file for client authentication | None |
317-
| `REDIS_CERT_REQS` | Whether the client should verify the server's certificate | `"required"` |
318-
| `REDIS_CA_CERTS` | Path to the trusted CA certificates file | None |
350+
| `REDIS_SSL_CERT_REQS`| Whether the client should verify the server's certificate | `"required"` |
351+
| `REDIS_SSL_CA_CERTS` | Path to the trusted CA certificates file | None |
319352
| `REDIS_CLUSTER_MODE` | Enable Redis Cluster mode | `False` |
320353

321354
### EntraID Authentication for Azure Managed Redis
@@ -487,7 +520,7 @@ export OPENAI_API_KEY="<openai_token>"
487520
And run the [application](./examples/redis_assistant.py).
488521

489522
```commandline
490-
python3.13 redis_assistant.py
523+
python3.14 redis_assistant.py
491524
```
492525

493526
You can troubleshoot your agent workflows using the [OpenAI dashboard](https://platform.openai.com/traces/).
@@ -557,15 +590,6 @@ The simplest way to configure MCP clients is using `uvx`. Add the following JSON
557590
}
558591
```
559592

560-
If you'd like to test the [Redis MCP Server](https://smithery.ai/server/@redis/mcp-redis) via Smithery, you can configure Claude Desktop automatically:
561-
562-
```bash
563-
npx -y @smithery/cli install @redis/mcp-redis --client claude
564-
```
565-
566-
Follow the prompt and provide the details to configure the server and connect to Redis (e.g. using a Redis Cloud database).
567-
The procedure will create the proper configuration in the `claude_desktop_config.json` configuration file.
568-
569593
### VS Code with GitHub Copilot
570594

571595
To use the Redis MCP Server with VS Code, you must nable the [agent mode](https://code.visualstudio.com/docs/copilot/chat/chat-agent-mode) tools. Add the following to your `settings.json`:
@@ -580,10 +604,29 @@ You can start the GitHub desired version of the Redis MCP server using `uvx` by
580604

581605
```json
582606
"servers": {
583-
"Redis MCP Server": {
607+
"redis": {
608+
"type": "stdio",
609+
"command": "uvx",
610+
"args": [
611+
"--from", "redis-mcp-server@latest",
612+
"redis-mcp-server",
613+
"--url", "redis://localhost:6379/0"
614+
]
615+
},
616+
}
617+
```
618+
619+
#### Suppressing uvx Installation Messages
620+
621+
If you want to suppress uvx installation messages that may appear as warnings in MCP client logs, use the `-qq` flag:
622+
623+
```json
624+
"servers": {
625+
"redis": {
584626
"type": "stdio",
585-
"command": "uvx",
627+
"command": "uvx",
586628
"args": [
629+
"-qq",
587630
"--from", "redis-mcp-server@latest",
588631
"redis-mcp-server",
589632
"--url", "redis://localhost:6379/0"
@@ -592,9 +635,12 @@ You can start the GitHub desired version of the Redis MCP server using `uvx` by
592635
}
593636
```
594637

638+
The `-qq` flag enables silent mode, which suppresses "Installed X packages" messages that uvx writes to stderr during package installation.
639+
595640
Alternatively, you can start the server using `uv` and configure your `mcp.json`. This is usually desired for development.
596641

597642
```json
643+
// mcp.json
598644
{
599645
"servers": {
600646
"redis": {
@@ -619,6 +665,8 @@ Alternatively, you can start the server using `uv` and configure your `mcp.json`
619665

620666
For more information, see the [VS Code documentation](https://code.visualstudio.com/docs/copilot/chat/mcp-servers).
621667

668+
> **Tip:** You can prompt Copilot chat to use the Redis MCP tools by including `#redis` in your message.
669+
622670
> **Note:** Starting with [VS Code v1.102](https://code.visualstudio.com/updates/v1_102),
623671
> MCP servers are now stored in a dedicated `mcp.json` file instead of `settings.json`.
624672
@@ -653,3 +701,5 @@ This project is licensed under the **MIT License**.
653701

654702
## Contact
655703
For questions or support, reach out via [GitHub Issues](https://github.com/redis/mcp-redis/issues).
704+
705+
Alternatively, you can join the [Redis Discord server](https://discord.gg/redis) and ask in the `#redis-mcp-server` channel.

pyproject.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ classifiers = [
1717
"Programming Language :: Python :: 3.11",
1818
"Programming Language :: Python :: 3.12",
1919
"Programming Language :: Python :: 3.13",
20+
"Programming Language :: Python :: 3.14",
2021
"Topic :: Database",
2122
"Topic :: Software Development :: Libraries :: Python Modules",
2223
]
@@ -38,7 +39,7 @@ Repository = "https://github.com/redis/mcp-redis"
3839
Issues = "https://github.com/redis/mcp-redis/issues"
3940

4041
[build-system]
41-
requires = ["uv_build>=0.8.3,<0.9.0"]
42+
requires = ["uv_build>=0.8.3,<0.10.0"]
4243
build-backend = "uv_build"
4344

4445
[tool.uv.build-backend]

smithery.yaml

Lines changed: 0 additions & 79 deletions
This file was deleted.

0 commit comments

Comments
 (0)