Skip to content

Commit 4314849

Browse files
committed
lrange: convert output list to JSON
1 parent ee351b2 commit 4314849

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

src/tools/list.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import json
12
from common.connection import RedisConnectionManager
23
from redis.exceptions import RedisError
34
from common.server import mcp
@@ -48,11 +49,18 @@ async def rpop(name: str) -> str:
4849

4950
@mcp.tool()
5051
async def lrange(name: str, start: int, stop: int) -> list:
51-
"""Get elements from a Redis list within a specific range."""
52+
"""Get elements from a Redis list within a specific range.
53+
54+
Returns:
55+
str: A JSON string containing the list of elements or an error message.
56+
"""
5257
try:
5358
r = RedisConnectionManager.get_connection()
5459
values = r.lrange(name, start, stop)
55-
return [v for v in values] if values else f"List '{name}' is empty or does not exist."
60+
if not values:
61+
return f"List '{name}' is empty or does not exist."
62+
else:
63+
return json.dumps(values)
5664
except RedisError as e:
5765
return f"Error retrieving values from list '{name}': {str(e)}"
5866

0 commit comments

Comments
 (0)