RedisVL MCP: search and upsert in Redis indexes

redis-vl-python

The MCP server from the RedisVL library lets an agent search and upsert data in already created Redis Search indexes

  • 433 ★ on the repository
  • Last commit
  • MIT
MCP serverOfficial

Extended access

Why this level

  • `upsert-records` writes data into Redis indexes unless `--read-only` mode is on
  • The agent receives the contents of the indexes, and an HTTP or SSE start opens a network port
All reasons and checks

redis/redis-vl-python

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/redis-vl-python

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • `upsert-records` writes data into Redis indexes unless `--read-only` mode is on
  • The agent receives the contents of the indexes, and an HTTP or SSE start opens a network port

This is third-party code. Review the repository files before installing.

What it does

The MCP server is part of RedisVL, the Redis client library for Python (vector search, caching, conversation memory). It connects to one or more existing Redis Search indexes, restores each index's schema from Redis at startup and hands MCP clients a small fixed set of tools. Each index gets a logical id set in the YAML config. The `list-indexes` tool lists the indexes and their filterable fields, `search-records` searches records and `upsert-records` adds or updates them, computing embeddings with the index's vectorizer when needed. The caller sets `query`, `limit`, `offset`, `filter` and `return_fields`. The search mode (vector, full-text or hybrid) and tuning parameters are set in the index config, and the request does not change them. It starts with `uvx --from redisvl[mcp] rvl mcp --config /path/to/mcp.yaml` over stdio, and the `--transport streamable-http` and `--transport sse` flags enable network modes. The `--read-only` flag or `REDISVL_MCP_READ_ONLY=true` removes the write tool. Through `custom_tools` in the same YAML you can define narrow tools with a locked filter and a fixed field set, for example `search-support-tickets`.

Who it is for. Teams whose data already sits in Redis Search indexes and whose agent needs search or writes through MCP without custom query code.

Good fit when

  • A knowledge base or tickets are indexed in Redis and an agent needs semantic search over them
  • One server has to serve several indexes: the agent first calls `list-indexes` and then picks the right one
  • An agent reads approved content while another system handles ingestion: starting with `--read-only` hides the write tool
  • A narrow task needs a tool like `search-support-tickets` with a locked filter and fields
  • A remote client needs Streamable HTTP access with JWT validation

Not a fit when

  • The data sits in keys without a Redis Search index: the server reads the schema only from an existing index and does not create one
  • An agent needs Redis commands for strings, hashes, streams and JSON: a separate Redis MCP Server exists for that
  • The search type must be chosen on each call: the index config decides it and the caller does not change it

Example request

Find five similar resolved tickets about a payment failure in the support_tickets index and show the subject and resolution fields

MCP

Transport
stdio, http, sse
Authentication
not required

Environment variables

REDISVL_MCP_READ_ONLY
The value `true` disables writes in every index, like the `--read-only` flag.

Limitations

The Redis Search index must exist before the server starts: it restores the schema from Redis and does not create indexes itself. The Redis address and index bindings sit in the YAML config, for example `redis_url: redis://localhost:6379`.

The `upsert-records` tool is on unless `--read-only` is set or the index has `read_only: true`. HTTP and SSE open a network port; JWT validation from an identity provider is configured separately, and the server does not map a token to Redis permissions.

How to disable. Remove the `redisvl` entry from the client's MCP settings. Removing the server does not change data in Redis and the indexes stay.

FAQ

How do I connect RedisVL MCP to Claude Code?

Run `claude mcp add redisvl -- uvx --from "redisvl[mcp]" rvl mcp --config /path/to/mcp.yaml`. The config has to describe the Redis connection and the existing indexes, and writes can be turned off with `--read-only`.

Which tools does the server expose?

`list-indexes` to browse indexes, `search-records` to search and `upsert-records` to write. The last one is not registered if writes are off for every index.

Can the server run over the network?

Yes, the flags `--transport streamable-http --host 0.0.0.0 --port 8000` enable HTTP and `--transport sse --port 9000` enables SSE. For HTTP you can require a JWT from an identity provider.

How do I restrict the server to read-only?

Start it with `--read-only` or set `REDISVL_MCP_READ_ONLY=true`: the `upsert-records` tool is then not registered. For a single index, `read_only: true` in its config block does the same.

How does it work with several indexes?

The agent calls `list-indexes`, takes a logical id and passes it in the `index` argument of `search-records` and `upsert-records` calls. With a single index the argument can be omitted.

Discussion

No questions or reviews yet.

Official

Redis's official MCP server: strings, hashes, streams, JSON and vector search from your agent

MCP serverBroad access640Repository stars

A local MCP server that turns a folder of documents into a knowledge base with hybrid search for Claude Code and Cursor

MCP serverExtended access301Repository stars
Official

Official MCP server from the OpenSearch project exposes a cluster to agents: indexes, mappings, DSL search and shard state.

MCP serverExtended access158Repository stars
Official

An MCP server gives agents search and answers over local documents using hybrid retrieval, reranking and section links.

MCP serverExtended access662Repository stars

IRedis completes Redis commands, validates arguments and displays key values in a readable interactive terminal interface.

CLIExtended access2.8KRepository stars
Official

17 MCP tools let an agent create Zvec collections, write documents and search by meaning with HNSW, IVF and FLAT indexes

MCP serverExtended access13Repository stars

README in short

In the RedisVL README, the MCP server section lists the capabilities, three launch commands (stdio, Streamable HTTP, SSE) and the `--read-only` flag, then points to the documentation. The rest of the README covers the library itself: vector search, caching and conversation memory. MIT license.

README badge

Report a problem

Foxx AIRedisVL MCP: search and upsert in Redis indexes
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.