spec: RedisVL MCP framework specification#526
Conversation
🛡️ Jit Security Scan Results✅ No security findings were detected in this PR
Security scan by Jit
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
| self._vectorizer = None | ||
|
|
||
| if self._index is not None: | ||
| await self._index.disconnect() |
There was a problem hiding this comment.
Shutdown leaks Redis connection if vectorizer cleanup fails
Medium Severity
The shutdown() method does not wrap vectorizer cleanup in a try/finally block. If the vectorizer's aclose() or close() method raises an exception, execution stops and self._index.disconnect() is never called, permanently leaking the Redis connection. The index disconnect logic needs to be in a finally block so it runs regardless of whether vectorizer cleanup succeeds.
|
Closing this PR because I forgot I used the branch to do a spec PR - see #531 for the new spec PR. |


This PR (not to be merged) introduces a specification document for the RedisVL MCP framework. The goal is to have a clear design document to guide agentic development on this feature.
Note
Medium Risk
Adds a new MCP server implementation with config/env parsing and async Redis index lifecycle management; while mostly additive and behind optional extras, it introduces new runtime behavior and dependency surface that could affect packaging and async resource handling.
Overview
Introduces an initial RedisVL MCP framework scaffold (
redisvl/mcp) includingMCPSettings(env-driven settings), YAMLMCPConfigloading with strict validation and${VAR}substitution, and aRedisVLMCPServerthat manages async index creation/validation, vectorizer instantiation, concurrency limiting, and graceful shutdown.Adds deterministic MCP-facing error mapping via
RedisVLMCPError/map_exception, a draftspec/MCP.mddefining the intended MCP tool contracts and lifecycle, plus unit/integration tests covering config validation, env overrides, error mapping, and server startup/shutdown behavior. Updates packaging to include an optionalmcpextra (mcp+pydantic-settings) and refreshesuv.lockaccordingly.Written by Cursor Bugbot for commit 2929a97. This will update automatically on new commits. Configure here.