{
  "testedAt": "2026-09-26T20:11:26.412640+00:00",
  "scope": "Official package over MCP stdio against isolated local Redis; no hosted database or editor UI test",
  "versions": {
    "python": "3.12.10",
    "redis-server": "8.8.0",
    "redis-mcp-server": "0.5.1",
    "mcp": "1.30.0",
    "redis": "8.1.0"
  },
  "checks": [
    {
      "name": "Reader authenticates",
      "passed": true,
      "details": null
    },
    {
      "name": "MCP initialization",
      "passed": true,
      "details": "Redis MCP Server"
    },
    {
      "name": "Core tools advertised",
      "passed": true,
      "details": [
        "client_list",
        "create_vector_index_hash",
        "dbsize",
        "delete",
        "expire",
        "get",
        "get_index_info",
        "get_indexed_keys_number",
        "get_indexes",
        "get_vector_from_hash",
        "hdel",
        "hexists",
        "hget",
        "hgetall",
        "hset",
        "hybrid_search",
        "info",
        "json_del",
        "json_get",
        "json_set",
        "llen",
        "lpop",
        "lpush",
        "lrange",
        "lrem",
        "psubscribe",
        "publish",
        "read_messages",
        "rename",
        "rpop",
        "rpush",
        "sadd",
        "scan_all_keys",
        "scan_keys",
        "search_redis_documents",
        "set",
        "set_vector_in_hash",
        "smembers",
        "srem",
        "subscribe",
        "type",
        "unsubscribe",
        "vector_search_hash",
        "xack",
        "xadd",
        "xdel",
        "xgroup_create",
        "xgroup_destroy",
        "xrange",
        "xreadgroup",
        "zadd",
        "zrange",
        "zrem"
      ]
    },
    {
      "name": "Read string through MCP",
      "passed": true,
      "details": "ready"
    },
    {
      "name": "Read hash through MCP",
      "passed": true,
      "details": "{\n  \"user\": \"demo-user\",\n  \"language\": \"english\"\n}"
    },
    {
      "name": "Inspect type and TTL through MCP",
      "passed": true,
      "details": {
        "key": "mcpdemo:session:42",
        "type": "hash",
        "ttl": 3591
      }
    },
    {
      "name": "MCP write denied",
      "passed": true,
      "details": "Error setting key mcpdemo:status: User mcp_reader has no permissions to run the 'set' command"
    },
    {
      "name": "Denied write leaves data unchanged",
      "passed": true,
      "details": null
    },
    {
      "name": "Other prefix denied",
      "passed": true,
      "details": "Error retrieving key private:sentinel: No permissions to access a key"
    },
    {
      "name": "Private value absent from MCP response",
      "passed": true,
      "details": null
    },
    {
      "name": "Key enumeration denied",
      "passed": true,
      "details": "Error scanning keys with pattern '*': User mcp_reader has no permissions to run the 'scan' command"
    },
    {
      "name": "Missing key has TTL minus two",
      "passed": true,
      "details": {
        "key": "mcpdemo:missing",
        "type": "none",
        "ttl": -2
      }
    },
    {
      "name": "SCAN reveals names outside ACL prefix",
      "passed": true,
      "details": null
    },
    {
      "name": "SCAN revoked again",
      "passed": true,
      "details": null
    }
  ],
  "passed": 14
}
